{"id":8190,"name":"ffi","ecosystem":"rubygems","repository_url":"https://github.com/ffi/ffi","issues_count":101,"created_at":"2025-06-06T22:20:14.751Z","updated_at":"2025-06-06T22:20:14.751Z","purl":"pkg:gem/ffi","metadata":{"id":205083,"name":"ffi","ecosystem":"rubygems","description":"Ruby FFI library","homepage":"https://github.com/ffi/ffi/wiki","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/ffi/ffi","keywords_array":[],"namespace":null,"versions_count":407,"first_release_published_at":"2009-07-25T18:22:20.000Z","latest_release_published_at":"2025-04-15T12:32:56.308Z","latest_release_number":"1.17.2","last_synced_at":"2025-06-07T01:36:24.427Z","created_at":"2022-04-05T22:27:52.829Z","updated_at":"2025-06-07T01:39:32.818Z","registry_url":"https://rubygems.org/gems/ffi","install_command":"gem install ffi -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/ffi/","metadata":{"funding":null},"repo_metadata":{"id":629370,"uuid":"270054","full_name":"ffi/ffi","owner":"ffi","description":"Ruby FFI","archived":false,"fork":false,"pushed_at":"2025-05-19T20:19:29.000Z","size":5897,"stargazers_count":2101,"open_issues_count":154,"forks_count":337,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-06-04T02:22:22.218Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/ffi/ffi/wiki","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ffi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-08-05T20:28:18.000Z","updated_at":"2025-06-01T23:52:24.000Z","dependencies_parsed_at":"2023-01-14T11:15:19.446Z","dependency_job_id":"e8cda81e-ab9b-4af8-8a05-656efb505498","html_url":"https://github.com/ffi/ffi","commit_stats":{"total_commits":2073,"total_committers":166,"mean_commits":"12.487951807228916","dds":0.5098890496864448,"last_synced_commit":"c128cede750242fe19945af8bd6c797728489ad5"},"previous_names":[],"tags_count":114,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffi","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258021331,"owners_count":22637727,"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":"ffi","name":"ffi","uuid":"111990","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/111990?v=4","repositories_count":5,"last_synced_at":"2024-03-25T22:20:24.330Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ffi","funding_links":[],"total_stars":2131,"followers":7,"following":0,"created_at":"2022-11-02T18:52:10.092Z","updated_at":"2024-03-25T22:20:24.459Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffi","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffi/repositories"},"tags":[{"name":"v1.17.2","sha":"f514862ec78b4b386741330691b3808ff27ada68","kind":"tag","published_at":"2025-04-14T20:07:27.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.17.2","html_url":"https://github.com/ffi/ffi/releases/tag/v1.17.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.2/manifests"},{"name":"v1.17.1","sha":"99574084cb2f8072d7ff14323caa900e7c49a4a6","kind":"tag","published_at":"2024-12-30T21:03:25.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.17.1","html_url":"https://github.com/ffi/ffi/releases/tag/v1.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.1/manifests"},{"name":"v1.17.0","sha":"ecfb225096ae76ba2a5e8115f046bd0ac23095e6","kind":"tag","published_at":"2024-06-02T10:39:52.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.17.0","html_url":"https://github.com/ffi/ffi/releases/tag/v1.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.0/manifests"},{"name":"v1.17.0.rc2","sha":"b2a7ce437987ed41988a7fc5ebe68428e60df297","kind":"tag","published_at":"2024-04-22T17:22:08.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.17.0.rc2","html_url":"https://github.com/ffi/ffi/releases/tag/v1.17.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.0.rc2/manifests"},{"name":"v1.17.0.rc1","sha":"9ab8841fd53416a62be684432848554c69377e64","kind":"tag","published_at":"2024-04-07T19:29:14.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.17.0.rc1","html_url":"https://github.com/ffi/ffi/releases/tag/v1.17.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.17.0.rc1/manifests"},{"name":"v1.16.3","sha":"6cef66d85666651d4af8b9f4bbdb5f0548cd66c8","kind":"tag","published_at":"2023-10-04T07:09:00.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.16.3","html_url":"https://github.com/ffi/ffi/releases/tag/v1.16.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.3/manifests"},{"name":"v1.16.2","sha":"4a2df1adfb00069568da57e3c1c9a6ba7291ff8f","kind":"tag","published_at":"2023-09-25T18:52:59.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.16.2","html_url":"https://github.com/ffi/ffi/releases/tag/v1.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.2/manifests"},{"name":"v1.16.1","sha":"0e9a39b0550aa552e337e65659461d9bc46c56f9","kind":"tag","published_at":"2023-09-24T08:43:42.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.16.1","html_url":"https://github.com/ffi/ffi/releases/tag/v1.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.1/manifests"},{"name":"v1.16.0","sha":"8e93ab242e613b45edab93172931526923b7a1a3","kind":"tag","published_at":"2023-09-23T21:35:39.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.16.0","html_url":"https://github.com/ffi/ffi/releases/tag/v1.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.16.0/manifests"},{"name":"v1.15.5","sha":"4b1c43ac9bffa5bc803d94d2a1ffc8cc8188bbd2","kind":"tag","published_at":"2022-01-10T14:39:09.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.15.5","html_url":"https://github.com/ffi/ffi/releases/tag/v1.15.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.5/manifests"},{"name":"v1.15.4","sha":"7429c5ad8df9ea49c85e28de8f018e7f69dfeaf6","kind":"tag","published_at":"2021-09-01T19:06:20.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.15.4","html_url":"https://github.com/ffi/ffi/releases/tag/v1.15.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.4/manifests"},{"name":"v1.15.3","sha":"931efbe3581fd6832291024cc338aaf987f1761b","kind":"tag","published_at":"2021-06-16T10:49:08.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.15.3","html_url":"https://github.com/ffi/ffi/releases/tag/v1.15.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.3/manifests"},{"name":"v1.15.2","sha":"6fc849f5f4f35a20b6837ad80c412c46a51324fb","kind":"tag","published_at":"2021-06-16T08:47:18.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.15.2","html_url":"https://github.com/ffi/ffi/releases/tag/v1.15.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.2/manifests"},{"name":"v1.15.1","sha":"513aef49803774ed1a4201f2ae4b51b63955db8b","kind":"tag","published_at":"2021-05-22T07:28:15.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.15.1","html_url":"https://github.com/ffi/ffi/releases/tag/v1.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.1/manifests"},{"name":"v1.15.0","sha":"1fb309c728bf5680c01b3781cbadea85cc6cf53b","kind":"tag","published_at":"2021-03-05T21:30:48.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.15.0","html_url":"https://github.com/ffi/ffi/releases/tag/v1.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.15.0/manifests"},{"name":"1.14.2","sha":"b79f52536af71fd05c78931f5162be83b1820c3a","kind":"tag","published_at":"2021-01-05T11:28:47.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.14.2","html_url":"https://github.com/ffi/ffi/releases/tag/1.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.14.2/manifests"},{"name":"1.14.1","sha":"8fd3cec63c41154e938091655575368780e87103","kind":"tag","published_at":"2020-12-19T21:16:54.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.14.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.14.1/manifests"},{"name":"1.14.0","sha":"0d8e5815716eeeb8fad11205646dfedd8bf23f03","kind":"tag","published_at":"2020-12-18T22:38:35.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.14.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.14.0/manifests"},{"name":"1.13.1","sha":"4b053c8492603e67b54bbac4a1961fd0d4aa02bc","kind":"tag","published_at":"2020-06-09T14:41:23.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.13.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.13.1/manifests"},{"name":"1.13.0","sha":"426be5e8c302eb4b37bf03a8fd34b61b13257666","kind":"tag","published_at":"2020-06-01T07:21:41.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.13.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.13.0/manifests"},{"name":"1.12.2","sha":"ad524cb016fc788861d76e43a5067b8d441a76bc","kind":"tag","published_at":"2020-02-01T14:03:41.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.12.2","html_url":"https://github.com/ffi/ffi/releases/tag/1.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.12.2/manifests"},{"name":"1.12.1","sha":"b54e735b11abef310c58b0f33dfc1af8f78f007e","kind":"tag","published_at":"2020-01-14T21:29:20.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.12.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.12.1/manifests"},{"name":"1.12.0","sha":"ee13af16bd290e9d5c9d74eecfc563017284b6f5","kind":"tag","published_at":"2020-01-14T21:18:31.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.12.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.12.0/manifests"},{"name":"1.11.3","sha":"6ea465efa2d79708035463fa54456fa6744a7e34","kind":"tag","published_at":"2019-11-25T14:17:15.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.11.3","html_url":"https://github.com/ffi/ffi/releases/tag/1.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.3/manifests"},{"name":"1.11.2","sha":"a0386c8e334697cbccbc8db74c2587934e341900","kind":"tag","published_at":"2019-11-11T20:47:56.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.11.2","html_url":"https://github.com/ffi/ffi/releases/tag/1.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.2/manifests"},{"name":"1.11.1","sha":"3d8c91c902d67f2af184b1da1b0e99323bc1c744","kind":"tag","published_at":"2019-05-20T18:36:19.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.11.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.1/manifests"},{"name":"1.11.0","sha":"9b4a9e450a4f78bf569ad8b6497bd6b4e8ec82d3","kind":"tag","published_at":"2019-05-17T21:04:33.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.11.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.11.0/manifests"},{"name":"1.10.0","sha":"d976d4ac9845a008ac8637457565a350328a4b44","kind":"tag","published_at":"2019-01-06T14:31:06.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.10.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.10.0/manifests"},{"name":"1.9.25","sha":"aa1b844f9c91538802780f35ac27119d4e877052","kind":"tag","published_at":"2018-06-07T19:05:54.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.25","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.25/manifests"},{"name":"1.9.24","sha":"4e1051a5b8131547db333455dc4fc6a39e04491a","kind":"tag","published_at":"2018-06-07T19:05:22.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.24","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.24/manifests"},{"name":"1.9.23","sha":"eba81d933a84263aedefe17021c7ce8ed0b5b215","kind":"tag","published_at":"2018-02-25T07:04:06.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.23","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.23/manifests"},{"name":"1.9.23.pre1","sha":"4ce4480dfa9eeb19cc2dc1b4e1dadf47788a0793","kind":"tag","published_at":"2018-02-24T23:20:26.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.23.pre1","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.23.pre1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.23.pre1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.23.pre1/manifests"},{"name":"1.9.22","sha":"32af4999cf4b53e384b694dcfb5baabba4d35032","kind":"tag","published_at":"2018-02-22T20:48:11.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.22","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.22/manifests"},{"name":"1.9.21","sha":"2914318a2be7b86e73ec833101e83b49fcb49d2e","kind":"tag","published_at":"2018-02-06T10:46:48.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.21","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.21/manifests"},{"name":"1.9.20","sha":"2e7047bba1f00e321c23d92578d792bdb64a1a02","kind":"tag","published_at":"2018-02-06T10:42:34.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.20","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.20/manifests"},{"name":"1.9.19","sha":"30c14e4ed133ab61c72017afbabcbcd3bc17d91a","kind":"tag","published_at":"2018-02-06T10:41:44.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.19","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.19/manifests"},{"name":"1.9.18","sha":"b5dcce9afdf310c5b140cf672c8910f266c65743","kind":"tag","published_at":"2017-03-03T15:16:48.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.18","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.18/manifests"},{"name":"1.9.17","sha":"b8473b98b20e6011c8671a0197c154794f4ae5c0","kind":"tag","published_at":"2017-01-13T19:44:25.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.17","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.17/manifests"},{"name":"1.9.16","sha":"503c4dbb8e33c76598864c39e433e97b9bb9ed7c","kind":"tag","published_at":"2017-01-13T17:28:09.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.16","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.16/manifests"},{"name":"1.9.15","sha":"c1b62d079e28478edc2eae7ad20063b112d49144","kind":"tag","published_at":"2017-01-13T16:47:49.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.15","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.15/manifests"},{"name":"1.9.14","sha":"b9749bf7d9935dac007617891988c9f06704c2d0","kind":"tag","published_at":"2016-07-11T22:05:14.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.14","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.14/manifests"},{"name":"1.9.13","sha":"a71c700d586088f4cd7a34918df231b8625146ed","kind":"tag","published_at":"2016-07-06T22:26:28.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.13","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.13/manifests"},{"name":"1.9.12","sha":"f73c2e843f7eea39a0a2a49ffc19560ccb1ee029","kind":"tag","published_at":"2016-07-06T01:05:00.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.12","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.12/manifests"},{"name":"1.9.11","sha":"bdee5953f9594a8bf31080ecc9532169ad4d420c","kind":"tag","published_at":"2016-07-05T15:57:47.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.11","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.11/manifests"},{"name":"1.9.10","sha":"c60a190d6b05881bdacb8bfda6c88ccea3a2c7e9","kind":"tag","published_at":"2015-07-01T02:49:46.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.10","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.10/manifests"},{"name":"1.9.9","sha":"ee501020c7bbced9edb812da3c9d5bcabff96a24","kind":"tag","published_at":"2015-06-26T20:18:26.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.9","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.9/manifests"},{"name":"1.9.8","sha":"5634da841bcb1d8c7ed2d25acb29d3d55c7f2200","kind":"tag","published_at":"2015-03-15T02:46:02.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.8","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.8/manifests"},{"name":"1.9.7","sha":"071f7f8ba1c03c762f5c0a5537303dfa451c3f75","kind":"tag","published_at":"2015-03-13T20:38:23.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.7","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.7/manifests"},{"name":"v1.9.6","sha":"0ac1642961c7771e18fdb8aeb1a9faec56397d4a","kind":"commit","published_at":"2014-10-09T17:09:21.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/v1.9.6","html_url":"https://github.com/ffi/ffi/releases/tag/v1.9.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.9.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/v1.9.6/manifests"},{"name":"1.9.5","sha":"319d00c2a9cd542cb2419e557721e271e769abbe","kind":"tag","published_at":"2014-09-25T20:12:47.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.5","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.5/manifests"},{"name":"1.9.4","sha":"1694a3a3f58c5ca32b85966241665dc04798192f","kind":"tag","published_at":"2014-09-24T04:30:55.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.4","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.4/manifests"},{"name":"1.9.3","sha":"d982b7049336106c04f7721045dc5613b16d3545","kind":"commit","published_at":"2013-10-30T20:49:34.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.3","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.3/manifests"},{"name":"1.9.2","sha":"de4535bb1c5b9c0d60449fb16275aba7c0f84cd9","kind":"commit","published_at":"2013-10-29T20:21:19.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.2","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.2/manifests"},{"name":"1.9.1","sha":"d4ecd66c290bce9857a2ddca3ff7730f3c9ad885","kind":"commit","published_at":"2013-10-27T09:44:26.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.1/manifests"},{"name":"1.9.0","sha":"3f76d1a5027774b62da777ccdcef7f2e5065bb53","kind":"tag","published_at":"2013-06-10T03:26:53.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.9.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.9.0/manifests"},{"name":"1.8.1","sha":"840e359f766776ba696b3360c8383536f3d2a8bb","kind":"tag","published_at":"2013-04-23T11:55:13.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.8.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.8.1/manifests"},{"name":"1.8.0","sha":"cc1ae5ece65a95b7d5070c01cee4b996642aa3b1","kind":"tag","published_at":"2013-04-23T11:52:51.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.8.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.8.0/manifests"},{"name":"1.7.0","sha":"eb132610d1f9902dd1dbdf301dd68e4b34a13b0b","kind":"tag","published_at":"2013-04-12T01:38:33.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.7.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.7.0/manifests"},{"name":"1.6.0","sha":"d42fe3e5abea6fce3f79f4b8db4728ba454d0f51","kind":"commit","published_at":"2013-03-25T12:50:22.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.6.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.6.0/manifests"},{"name":"1.5.0","sha":"7ed92b222ed991192cdb1031cc7c5c174b169bf9","kind":"commit","published_at":"2013-03-20T23:27:15.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.5.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.5.0/manifests"},{"name":"1.4.0","sha":"24cf4c983b1e31f279a96855897cdd47cb3909df","kind":"commit","published_at":"2013-02-16T01:39:26.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.4.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.4.0/manifests"},{"name":"0.6.4","sha":"e56be53378c9d153d3ad39a684cbc56dadb90df2","kind":"commit","published_at":"2013-02-11T22:26:36.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.6.4","html_url":"https://github.com/ffi/ffi/releases/tag/0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.4/manifests"},{"name":"1.3.1","sha":"1bd0735be350291fd928a4ef5f6d55b216aec7d8","kind":"commit","published_at":"2013-01-10T08:05:10.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.3.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.3.1/manifests"},{"name":"1.2.1","sha":"fa67b33f0cc1b573843ebbaf657f1a3f0afe6398","kind":"commit","published_at":"2013-01-08T06:08:40.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.2.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.1/manifests"},{"name":"1.3.0","sha":"0cfc329a884f5aec2b4cb933505dae86f36c6ba3","kind":"commit","published_at":"2013-01-08T02:34:28.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.3.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.3.0/manifests"},{"name":"1.2.0","sha":"6db37a08e4973ad3e79c66cd20d3c3066c63dfc7","kind":"commit","published_at":"2012-11-19T23:04:47.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.2.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0/manifests"},{"name":"1.2.0.pre6","sha":"2366a97eaa1d1436ebdff4228955ebfac8da447e","kind":"commit","published_at":"2012-11-13T07:12:06.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.2.0.pre6","html_url":"https://github.com/ffi/ffi/releases/tag/1.2.0.pre6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.pre6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.pre6/manifests"},{"name":"1.2.0.pre4","sha":"51897ea56ed0f1b422867f6289a3eae2dab3219d","kind":"commit","published_at":"2012-11-13T05:26:02.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.2.0.pre4","html_url":"https://github.com/ffi/ffi/releases/tag/1.2.0.pre4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.pre4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.pre4/manifests"},{"name":"1.2.0.pre2","sha":"2a81a73fc04dab4513249ba54594735119732048","kind":"commit","published_at":"2012-10-31T20:33:49.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.2.0.pre2","html_url":"https://github.com/ffi/ffi/releases/tag/1.2.0.pre2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.pre2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.pre2/manifests"},{"name":"1.1.6.pre1","sha":"2bb63e58406ea619583ab4c0676fb4aaccf21b6c","kind":"commit","published_at":"2012-08-29T10:18:08.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.6.pre1","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.6.pre1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.6.pre1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.6.pre1/manifests"},{"name":"1.2.0.dev4","sha":"51127bdc7d224b9afdef613e4f2c67d5d8b4f6ec","kind":"commit","published_at":"2012-08-29T09:49:46.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.2.0.dev4","html_url":"https://github.com/ffi/ffi/releases/tag/1.2.0.dev4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.dev4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.dev4/manifests"},{"name":"1.2.0.dev3","sha":"20a006fd2859070282c9e275ffae18141d144939","kind":"commit","published_at":"2012-08-22T10:42:35.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.2.0.dev3","html_url":"https://github.com/ffi/ffi/releases/tag/1.2.0.dev3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.dev3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.2.0.dev3/manifests"},{"name":"1.1.5","sha":"ed72479bcb3f9e332ae9735900905f11dbb5e948","kind":"commit","published_at":"2012-08-09T13:24:07.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.5","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.5/manifests"},{"name":"1.1.4","sha":"b16dd680446ecd2ec8a6b5c2e2ad88616608f10e","kind":"commit","published_at":"2012-08-04T13:34:08.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.4","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.4/manifests"},{"name":"1.1.3","sha":"d2e9bdab8b44641851ed702e43897226beb3b19d","kind":"commit","published_at":"2012-07-31T10:59:38.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.3","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.3/manifests"},{"name":"1.1.2","sha":"80b03a598a2acb8610031fa848e240ee35dc9a95","kind":"commit","published_at":"2012-07-29T22:34:27.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.2","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.2/manifests"},{"name":"1.1.1","sha":"3339c8fb3f50323681a01164e534e329e3bd9572","kind":"commit","published_at":"2012-07-27T10:40:15.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.1/manifests"},{"name":"1.1.1.rc2","sha":"356825e529ad48752ea4fb5f665fa663a3c1315c","kind":"commit","published_at":"2012-07-23T22:22:27.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.1.rc2","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.1.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.1.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.1.rc2/manifests"},{"name":"1.1.1.rc1","sha":"aafb78cc8f3cc6af8ca6378515777deb477f39ad","kind":"commit","published_at":"2012-07-21T07:59:20.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.1.rc1","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.1.rc1/manifests"},{"name":"1.1.0","sha":"3aa562acc5e90540c91ed0ee76149ef6360c04a4","kind":"commit","published_at":"2012-07-18T10:52:20.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0/manifests"},{"name":"1.1.0rc3","sha":"ded4bf6a4c687716cc6d928ac80f4dbebaa24533","kind":"commit","published_at":"2012-04-20T22:08:39.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.0rc3","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.0rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0rc3/manifests"},{"name":"1.1.0rc2","sha":"c614d75a8a6414f1f981e21fa484f4deb71065e0","kind":"commit","published_at":"2012-04-05T05:35:21.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.0rc2","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.0rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0rc2/manifests"},{"name":"1.1.0rc1","sha":"6bf19459c131a5295fb33c954222db9dd646130e","kind":"commit","published_at":"2012-04-05T01:55:56.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.1.0rc1","html_url":"https://github.com/ffi/ffi/releases/tag/1.1.0rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.1.0rc1/manifests"},{"name":"1.0.12rc3","sha":"470e16ce3e03b884f79b49d547eb4cf3eb7a68ab","kind":"commit","published_at":"2012-04-03T07:08:17.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.12rc3","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.12rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.12rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.12rc3/manifests"},{"name":"1.0.12.pre","sha":"eb487f838fb16a9f7b53c4931d898e24a68e2791","kind":"commit","published_at":"2012-02-15T22:02:01.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.12.pre","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.12.pre","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.12.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.12.pre/manifests"},{"name":"1.0.11","sha":"1c5f3fdd54e5c6171e1f49392b9e9c24873619c6","kind":"commit","published_at":"2011-11-13T20:03:45.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.11","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.11/manifests"},{"name":"1.0.10","sha":"8e86ddbc78b552b11877dca9ee85e99d0fc87ee3","kind":"commit","published_at":"2011-10-20T11:24:54.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.10","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.10/manifests"},{"name":"1.0.9","sha":"b79eb617f6b2c1745c02d3dfda9501948ba1099c","kind":"commit","published_at":"2011-05-20T12:40:26.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.9","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.9/manifests"},{"name":"1.0.8","sha":"85e431eb13ed96d3926fbd82e2ece7f5d93156f3","kind":"commit","published_at":"2011-05-15T03:01:23.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.8","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.8/manifests"},{"name":"1.0.7","sha":"0a058c094f65ec3123d96ca2097574de59726b36","kind":"commit","published_at":"2011-03-15T20:09:20.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.7","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.7/manifests"},{"name":"1.0.6","sha":"560f19a6fbcf2b55fc539ab6316a818cb57d9990","kind":"commit","published_at":"2011-02-20T08:48:53.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.6","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.6/manifests"},{"name":"1.0.5","sha":"13e9343aed51d5395a20dc2fac00e7219433e9b6","kind":"commit","published_at":"2011-01-13T05:02:48.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.5","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.5/manifests"},{"name":"1.0.4","sha":"85ab85f28fcf6977484365cd9aef8372881f42a5","kind":"commit","published_at":"2010-12-28T10:44:16.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.4","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.4/manifests"},{"name":"1.0.3","sha":"9e90d12f396e89f7140e537ab6886a1b9c6b750e","kind":"commit","published_at":"2010-12-27T14:38:22.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.3","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.3/manifests"},{"name":"1.0.2","sha":"f20a201b877ed55775e5643a1b7974e36b055c90","kind":"commit","published_at":"2010-12-17T13:35:15.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.2","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.2/manifests"},{"name":"1.0.1","sha":"783849f3d60c7baa26cd973cac7106d107b67ef8","kind":"commit","published_at":"2010-12-03T12:07:52.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.1","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"8f8e96b00df301b848025c197033a7b5f9422d1d","kind":"commit","published_at":"2010-11-30T09:20:12.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/1.0.0","html_url":"https://github.com/ffi/ffi/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/1.0.0/manifests"},{"name":"0.6.3","sha":"b69a5e3cb4d96bb7f438255749dfc6e113b74356","kind":"commit","published_at":"2010-03-10T08:11:27.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.6.3","html_url":"https://github.com/ffi/ffi/releases/tag/0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.3/manifests"},{"name":"0.6.2","sha":"7abe0579f91a713a915245bac48262837df79c15","kind":"commit","published_at":"2010-02-16T08:37:46.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.6.2","html_url":"https://github.com/ffi/ffi/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"392fae5fa6c163e7a3734e36cf9dae743ffb1322","kind":"commit","published_at":"2010-02-15T08:24:10.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.6.1","html_url":"https://github.com/ffi/ffi/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"09d594e2a9a6e0e0a27df939d50c95dbef5f5782","kind":"commit","published_at":"2010-02-08T00:55:56.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.6.0","html_url":"https://github.com/ffi/ffi/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.6.0/manifests"},{"name":"0.5.4","sha":"57b5d81e2f181cba36732afabae6d615c979a1a9","kind":"commit","published_at":"2009-11-27T22:10:29.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.5.4","html_url":"https://github.com/ffi/ffi/releases/tag/0.5.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.4/manifests"},{"name":"0.5.3","sha":"6d51847a26827a427661e5ffce982dc16d077be2","kind":"commit","published_at":"2009-11-19T22:45:47.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.5.3","html_url":"https://github.com/ffi/ffi/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"610f8e0819702c18ccd1cc5581c3b680833e94d9","kind":"commit","published_at":"2009-11-05T20:48:24.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.5.2","html_url":"https://github.com/ffi/ffi/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"6193758158274aa5b033946b3f8e2dd9c7484511","kind":"commit","published_at":"2009-10-19T09:33:01.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.5.1","html_url":"https://github.com/ffi/ffi/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"d05eaf721e45fdd3aadd3f366d98d773c4d14690","kind":"commit","published_at":"2009-10-06T19:32:49.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.5.0","html_url":"https://github.com/ffi/ffi/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"9f1494bac9e90ddb1e2c63cb7fc33bf6eb2a97c8","kind":"commit","published_at":"2009-08-05T07:47:54.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.4.0","html_url":"https://github.com/ffi/ffi/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.4.0/manifests"},{"name":"0.3.5","sha":"f893943e93881128797656f85524e4a8aba5ee7d","kind":"commit","published_at":"2009-05-08T00:56:56.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.3.5","html_url":"https://github.com/ffi/ffi/releases/tag/0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.5/manifests"},{"name":"0.3.3","sha":"5b5ce7d146e22950dbfff8faa486d48f822e8e0a","kind":"commit","published_at":"2009-04-27T05:52:49.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.3.3","html_url":"https://github.com/ffi/ffi/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"100cad86af6a4b4fad8d939fd6a4a9fc94f8e0c2","kind":"commit","published_at":"2009-03-25T09:26:00.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.3.2","html_url":"https://github.com/ffi/ffi/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"378350eecd5c94afb4483b609b2faaee6e7e99ca","kind":"commit","published_at":"2009-03-23T13:25:12.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.3.1","html_url":"https://github.com/ffi/ffi/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"e8b197c2ee9ad1f56e36196ff5d21d6e0cca2cdb","kind":"commit","published_at":"2009-03-19T13:44:54.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.3.0","html_url":"https://github.com/ffi/ffi/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.3.0/manifests"},{"name":"0.2.0","sha":"5104827f3f8ae91dabba5df0b11600dd96d1834c","kind":"commit","published_at":"2008-12-01T22:11:00.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.2.0","html_url":"https://github.com/ffi/ffi/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"c2be7011233cd6ec22a18a1253f5a0ab67c873c0","kind":"commit","published_at":"2008-10-30T01:36:39.000Z","download_url":"https://codeload.github.com/ffi/ffi/tar.gz/0.1.0","html_url":"https://github.com/ffi/ffi/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffi%2Fffi/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-06-07T01:39:32.817Z","dependent_packages_count":1098,"downloads":860055722,"downloads_period":"total","dependent_repos_count":983191,"rankings":{"downloads":0.016168419174630078,"dependent_repos_count":0.0055753169567689925,"dependent_packages_count":0.04516006734982884,"stargazers_count":1.1145058596581217,"forks_count":1.4919548176313824,"docker_downloads_count":0.026203989696814266,"average":0.44992807841125765},"purl":"pkg:gem/ffi","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTJndzItOHE5dy1jdzhw","url":"https://github.com/advisories/GHSA-2gw2-8q9w-cw8p","title":"Ruby-ffi has a DLL loading issue ","description":"ruby-ffi version 1.9.23 and earlier has a DLL loading issue which can be hijacked on Windows OS, when a Symbol is used as DLL name instead of a String This vulnerability appears to have been fixed in v1.9.24 and later.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2018-08-31T14:55:43.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2018-1000201","https://github.com/ffi/ffi/commit/09e0c6076466b4383da7fa4e13f714311109945a","https://github.com/ffi/ffi/commit/e0fe486df0e117ed67b0282b6ada04b7214ca05c","https://github.com/ffi/ffi/releases/tag/1.9.24","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/ffi/CVE-2018-1000201.yml","https://github.com/advisories/GHSA-2gw2-8q9w-cw8p"],"source_kind":"github","identifiers":["GHSA-2gw2-8q9w-cw8p","CVE-2018-1000201"],"repository_url":"https://github.com/ffi/ffi","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"1.9.24","vulnerable_version_range":"\u003c 1.9.24"}],"ecosystem":"rubygems","package_name":"ffi"}],"created_at":"2022-12-21T16:13:36.388Z","updated_at":"2025-04-17T01:17:24.183Z","epss_percentage":0.00237,"epss_percentile":0.46851}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/ffi","docker_dependents_count":4382,"docker_downloads_count":3778731413,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/ffi","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/ffi/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ffi/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ffi/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ffi/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ffi/related_packages","maintainers":[{"uuid":"1825","login":"headius","name":null,"email":null,"url":null,"packages_count":74,"html_url":"https://rubygems.org/profiles/headius","role":null,"created_at":"2022-11-09T09:31:41.416Z","updated_at":"2022-11-09T09:31:41.416Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/headius/packages"},{"uuid":"33181","login":"enebo","name":null,"email":null,"url":null,"packages_count":50,"html_url":"https://rubygems.org/profiles/enebo","role":null,"created_at":"2022-11-09T09:31:41.435Z","updated_at":"2022-11-09T09:31:41.435Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/enebo/packages"},{"uuid":"39211","login":"larskanis","name":null,"email":null,"url":null,"packages_count":26,"html_url":"https://rubygems.org/profiles/larskanis","role":null,"created_at":"2022-11-09T09:31:41.445Z","updated_at":"2022-11-09T09:31:41.445Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/larskanis/packages"},{"uuid":"523","login":"tduehr","name":null,"email":null,"url":null,"packages_count":9,"html_url":"https://rubygems.org/profiles/tduehr","role":null,"created_at":"2022-11-09T09:31:41.452Z","updated_at":"2022-11-09T09:31:41.452Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tduehr/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":198121,"maintainers_count":66429,"namespaces_count":0,"keywords_count":17804,"github":"rubygems","metadata":{"funded_packages_count":7046},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2025-06-07T05:38:31.497Z","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":86,"unique_repositories_count_past_30_days":0,"recent_issues":[{"uuid":"4364698277","node_id":"PR_kwDOB4ZGwM7XbtFU","number":306,"state":"open","title":"Bump the ruby-dependencies group with 29 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T13:48:42.000Z","updated_at":"2026-05-01T13:48:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-dependencies","update_count":29,"packages":[{"name":"sqlite3","old_version":"1.6.1","new_version":"2.9.3","repository_url":"https://github.com/sparklemotion/sqlite3-ruby"},{"name":"puma","old_version":"6.6.1","new_version":"8.0.1","repository_url":"https://github.com/puma/puma"},{"name":"turbo-rails","old_version":"1.4.0","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"jbuilder","old_version":"2.11.5","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"config","old_version":"4.1.0","new_version":"5.6.1","repository_url":"https://github.com/rubyconfig/config"},{"name":"google-apis-analyticsdata_v1beta","old_version":"0.32.0","new_version":"0.40.0","repository_url":"https://github.com/googleapis/google-api-ruby-client"},{"name":"googleauth","old_version":"1.3.0","new_version":"1.16.2","repository_url":"https://github.com/googleapis/google-auth-library-ruby"},{"name":"aws-sdk-core","old_version":"3.243.0","new_version":"3.246.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"rspec-core","old_version":"3.12.1","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"jquery-rails","old_version":"4.5.1","new_version":"4.6.1","repository_url":"https://github.com/rails/jquery-rails"},{"name":"aws-sdk-rails","old_version":"3.7.1","new_version":"5.1.0","repository_url":"https://github.com/aws/aws-sdk-rails"},{"name":"aws-sdk-s3","old_version":"1.216.0","new_version":"1.220.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"sprockets","old_version":"3.7.2","new_version":"4.2.2","repository_url":"https://github.com/rails/sprockets"},{"name":"rubyzip","old_version":"2.3.2","new_version":"3.2.2","repository_url":"https://github.com/rubyzip/rubyzip"},{"name":"ffi","old_version":"1.15.5","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"},{"name":"nokogiri","old_version":"1.18.10","new_version":"1.19.3","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"rack","old_version":"2.2.23","new_version":"3.2.6","repository_url":"https://github.com/rack/rack"},{"name":"net-imap","old_version":"0.5.13","new_version":"0.6.4","repository_url":"https://github.com/ruby/net-imap"},{"name":"json","old_version":"2.19.3","new_version":"2.19.4","repository_url":"https://github.com/ruby/json"},{"name":"sentry-ruby","old_version":"5.28.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-rails","old_version":"5.28.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"pg","old_version":"1.4.6","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"byebug","old_version":"11.1.3","new_version":"13.0.0","repository_url":"https://github.com/deivid-rodriguez/byebug"},{"name":"capybara","old_version":"3.38.0","new_version":"3.40.0","repository_url":"https://github.com/teamcapybara/capybara"},{"name":"selenium-webdriver","old_version":"4.8.1","new_version":"4.43.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"rspec-rails","old_version":"6.0.1","new_version":"8.0.4","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"web-console","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/rails/web-console"},{"name":"listen","old_version":"3.8.0","new_version":"3.10.0","repository_url":"https://github.com/guard/listen"},{"name":"spring","old_version":"4.1.1","new_version":"4.4.2","repository_url":"https://github.com/rails/spring"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-dependencies group with 29 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) | `1.6.1` | `2.9.3` |\n| [puma](https://github.com/puma/puma) | `6.6.1` | `8.0.1` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `1.4.0` | `2.0.23` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.11.5` | `2.14.1` |\n| [config](https://github.com/rubyconfig/config) | `4.1.0` | `5.6.1` |\n| [google-apis-analyticsdata_v1beta](https://github.com/googleapis/google-api-ruby-client) | `0.32.0` | `0.40.0` |\n| [googleauth](https://github.com/googleapis/google-auth-library-ruby) | `1.3.0` | `1.16.2` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.243.0` | `3.246.0` |\n| [rspec-core](https://github.com/rspec/rspec) | `3.12.1` | `3.13.6` |\n| [jquery-rails](https://github.com/rails/jquery-rails) | `4.5.1` | `4.6.1` |\n| [aws-sdk-rails](https://github.com/aws/aws-sdk-rails) | `3.7.1` | `5.1.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.216.0` | `1.220.0` |\n| [sprockets](https://github.com/rails/sprockets) | `3.7.2` | `4.2.2` |\n| [rubyzip](https://github.com/rubyzip/rubyzip) | `2.3.2` | `3.2.2` |\n| [ffi](https://github.com/ffi/ffi) | `1.15.5` | `1.17.4` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.10` | `1.19.3` |\n| [rack](https://github.com/rack/rack) | `2.2.23` | `3.2.6` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.13` | `0.6.4` |\n| [json](https://github.com/ruby/json) | `2.19.3` | `2.19.4` |\n| [sentry-ruby](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.5.0` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.5.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.4.6` | `1.6.3` |\n| [byebug](https://github.com/deivid-rodriguez/byebug) | `11.1.3` | `13.0.0` |\n| [capybara](https://github.com/teamcapybara/capybara) | `3.38.0` | `3.40.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.8.1` | `4.43.0` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `6.0.1` | `8.0.4` |\n| [web-console](https://github.com/rails/web-console) | `4.2.0` | `4.2.1` |\n| [listen](https://github.com/guard/listen) | `3.8.0` | `3.10.0` |\n| [spring](https://github.com/rails/spring) | `4.1.1` | `4.4.2` |\n\nUpdates `sqlite3` from 1.6.1 to 2.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/releases\"\u003esqlite3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.3 / 2026-04-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_53_0.html\"\u003ev3.53.0\u003c/a\u003e (from v3.51.3). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/696\"\u003e#696\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\u003eca6dd1cf6c037ccc8d3e5837190cc61ef15466092014951235641b5c4c8ab4ee  sqlite3-2.9.3-aarch64-linux-gnu.gem\r\nff017a36c463d02e9f0be7a6224521371128024e6a05ed16994afa5c037afbba  sqlite3-2.9.3-aarch64-linux-musl.gem\r\nfd8b74337a66bdaf746b97d65e6c9a2faff803c8f72d6b107fb880972815d072  sqlite3-2.9.3-arm-linux-gnu.gem\r\n792ae9a786bb37dbdc4c443c527bc91df423aac10e472f76d5cf5a9ac6d51980  sqlite3-2.9.3-arm-linux-musl.gem\r\n76b265d3d57362d3e38338f24f50a0c9cd47a4599c9cfbb578fac125d2299906  sqlite3-2.9.3-arm64-darwin.gem\r\n61edb2ce7a58e800478602e88b67e99f029b44747405c94c0cce7d165b0d0a96  sqlite3-2.9.3-x64-mingw-ucrt.gem\r\nceb2417f01563a2800836fbbc6d59aa0ca591882c99f6c50fdc0c8090da7a03b  sqlite3-2.9.3-x86-linux-gnu.gem\r\n1688e37da36a4513a1a1d6e9abb643f68723599abbe564cb1a1bf496c9ae8dca  sqlite3-2.9.3-x86-linux-musl.gem\r\n087e7cc4efc73d83e76354f028c4d1dc14552a05acc74f60e77a55f1bee6ef22  sqlite3-2.9.3-x86_64-darwin.gem\r\n85200a10c6cf5c60085fcca411a3168c5fba8fda3e2b1b0109ec277d7c226d46  sqlite3-2.9.3-x86_64-linux-gnu.gem\r\nb6d0437046d9180335dea1aa0592802e65c4f7b57409d63f14408211bf28536b  sqlite3-2.9.3-x86_64-linux-musl.gem\r\ne5ca871c87241bfdaf0e4a90d5177f4e4fe7af5f6951f88b4644339cc76e47ae  sqlite3-2.9.3.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\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\u003eeeb86db55645b85327ba75129e3614658d974bf4da8fdc87018a0d42c59f6e42  sqlite3-2.9.2-aarch64-linux-gnu.gem\r\n4feff91fb8c2b13688da34b5627c9d1ed9cedb3ee87a7114ec82209147f07a6d  sqlite3-2.9.2-aarch64-linux-musl.gem\r\n1ee2eb06b5301aaf5ce343a6e88d99ac932d95202d7b350f0e7b6d8d588580d7  sqlite3-2.9.2-arm-linux-gnu.gem\r\n8ca0de6aceede968de0394e22e95d549834c4d8e318f69a92a52f049878a0057  sqlite3-2.9.2-arm-linux-musl.gem\r\nd15bd9609a05f9d54930babe039585efc8cadd57517c15b64ec7dfa75158a5e9  sqlite3-2.9.2-arm64-darwin.gem\r\nb1b10d8c45a495b1e5b6338f7baa11297522bb9809b01e7e575090edd685953e  sqlite3-2.9.2-x64-mingw-ucrt.gem\r\n066bc904522f8a7072236a81237c03a4a1dfe070a25107e392de03d1e4ad0e6d  sqlite3-2.9.2-x86-linux-gnu.gem\r\n6503c76278f5e8629b12b6518ff43a9a4f6d9381de73f0b086c9fa1226db5ede  sqlite3-2.9.2-x86-linux-musl.gem\r\ned691b5021674d72582d03c5a38e89634b961902735fb6225273892805421d13  sqlite3-2.9.2-x86_64-darwin.gem\r\ndce83ffcb7e72f9f7aeb6e5404f15d277a45332fe18ccce8a8b3ed51e8d23aee  sqlite3-2.9.2-x86_64-linux-gnu.gem\r\ne8dd906a613f13b60f6d47ae9dda376384d9de1ab3f7e3f2fdf2fd18a871a2d7  sqlite3-2.9.2-x86_64-linux-musl.gem\r\n86814150714b6b06a328d083f46408e7a4a83b5f0a9673ed934ee3a1cb7a73b1  sqlite3-2.9.2.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\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\u003chr /\u003e\n\u003c!-- 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/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md\"\u003esqlite3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.3 / 2026-04-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_53_0.html\"\u003ev3.53.0\u003c/a\u003e (from v3.51.3). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/696\"\u003e#696\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\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\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\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\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\u003ch2\u003e2.9.0 / 2025-12-27\u003c/h2\u003e\n\u003ch3\u003eRuby\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce native gem packages for Ruby 4.0. \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby 3.1. \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\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eStatement#named_params\u003c/code\u003e to introspect on a parameterized SQL statement. \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/627\"\u003e#627\u003c/a\u003e \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/642\"\u003e#642\u003c/a\u003e \u003ca href=\"https://github.com/captn3m0\"\u003e\u003ccode\u003e@​captn3m0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImproved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSmall improvements to docstrings and comments. \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/houyuanjie\"\u003e\u003ccode\u003e@​houyuanjie\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.1 / 2025-11-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_1.html\"\u003ev3.51.1\u003c/a\u003e (from v3.51.0). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/659\"\u003e#659\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrecompiled native gems are built with rake-compiler-dock v1.10.0 (previously v1.9.1).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.0 / 2025-11-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_0.html\"\u003ev3.51.0\u003c/a\u003e (from v3.50.4). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/652\"\u003e#652\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\u003ch2\u003e2.7.4 / 2025-09-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_50_4.html\"\u003ev3.50.4\u003c/a\u003e (from v3.50.3). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/644\"\u003e#644\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\u003ch2\u003e2.7.3 / 2025-07-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://sqlite.org/releaselog/3_50_3.html\"\u003ev3.50.3\u003c/a\u003e (from v3.50.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/638\"\u003e#638\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!-- 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/sparklemotion/sqlite3-ruby/commit/2e8172c0a7699902b8630433e988903edab10d18\"\u003e\u003ccode\u003e2e8172c\u003c/code\u003e\u003c/a\u003e version bump to v2.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/3dee3f2c737cbc48b68e3b4632287b13521a60ea\"\u003e\u003ccode\u003e3dee3f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/696\"\u003e#696\u003c/a\u003e from sparklemotion/dep-sqlite-3.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/6d1ae38f33c4528c0ac56951c052b90cdfad9c81\"\u003e\u003ccode\u003e6d1ae38\u003c/code\u003e\u003c/a\u003e build(deps): update vendored sqlite to 3.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/45611fd3f415338875407bcb0f67f6ae92bef65f\"\u003e\u003ccode\u003e45611fd\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 3 updates (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/c1724fc7f816b1fd13071000a25976c0e7f3cd95\"\u003e\u003ccode\u003ec1724fc\u003c/code\u003e\u003c/a\u003e build(deps): bump vmactions/freebsd-vm in the actions group (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8a7709e34196d1e37b7180fcddb0e6021a60ec97\"\u003e\u003ccode\u003e8a7709e\u003c/code\u003e\u003c/a\u003e build(deps-dev): update minitest requirement from 6.0.2 to 6.0.3 (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/b7c076de9b9d6658b2f77af788a55144cda0db69\"\u003e\u003ccode\u003eb7c076d\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 3 updates (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/704beb8b35cf060268b2d6eb32bcb33297846622\"\u003e\u003ccode\u003e704beb8\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/efc56aa1e407a7aa6a96caefecd2c900e1f39223\"\u003e\u003ccode\u003eefc56aa\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8635618dca7edca3a804175610d0a81381e3554b\"\u003e\u003ccode\u003e8635618\u003c/code\u003e\u003c/a\u003e doc: new automated release process\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/compare/v1.6.1...v2.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 6.6.1 to 8.0.1\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.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\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\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.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\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\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/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\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v6.6.1...v8.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 1.4.0 to 2.0.23\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.23\u003c/h2\u003e\n\u003cp\u003eUpdates the bundled JS to freshen stale dependencies from the previous release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdates the bundled JS to \u003ca href=\"https://github.com/hotwired/turbo/compare/v8.0.21...v8.0.22\"\u003ev8.0.22\u003c/a\u003e for renamed \u003ccode\u003esession.navigator\u003c/code\u003e to avoid clobbering \u003ccode\u003ewindow.navigator\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/hotwired/turbo/pull/1489\"\u003ehotwired/turbo#1489\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003erails@8.1\u003c/code\u003e to the CI matrix by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/758\"\u003ehotwired/turbo-rails#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse an immediate debouncer for tests by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude hidden elements for turbo-cable-stream-source selector by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/740\"\u003ehotwired/turbo-rails#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI for \u003ccode\u003eruby@3.2.x\u003c/code\u003e-\u003ccode\u003erails@7.2.x\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/764\"\u003ehotwired/turbo-rails#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd turbo frame assertion test helpers by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/742\"\u003ehotwired/turbo-rails#742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAcccept meta tag string arguments as well by \u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[fix \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/762\"\u003e#762\u003c/a\u003e] Forward broadcast_refresh_to options by \u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Model Class in Action and Frame helpers by \u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove legacy workaround for Rails \u0026lt; 7 by \u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix debouncer tests to wait on correct debouncer by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/767\"\u003ehotwired/turbo-rails#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestrict tests to \u003ccode\u003eminitest \u0026lt; 6\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/774\"\u003ehotwired/turbo-rails#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e by \u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect broadcast suppressions on before/after actions by \u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\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/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\u003c/a\u003e\u003c/p\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\u003c!-- 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/hotwired/turbo-rails/commit/435135b26a4b62e49d2f55bb4b1fd419e3bfb228\"\u003e\u003ccode\u003e435135b\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/22701f1fa326fc936b878c47b6f3d42ebef727ed\"\u003e\u003ccode\u003e22701f1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/27030b956b107e864258aff0c48c2ed7a36ef3fc\"\u003e\u003ccode\u003e27030b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/52cde052aa00c6f7b0ce8cd10d2fefdcbe1e3255\"\u003e\u003ccode\u003e52cde05\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e511fb28c464ea9f3b3ddec3c1250d2b2c4b5313\"\u003e\u003ccode\u003ee511fb2\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/99dc9c5445166f0335d0a2fc15da3e7969fc913a\"\u003e\u003ccode\u003e99dc9c5\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/c2cd99fae9440aee6c1c836578c6dbf6067f7ee0\"\u003e\u003ccode\u003ec2cd99f\u003c/code\u003e\u003c/a\u003e v8.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/31c78af6c1d16070bbb25b68402a2c700a386c1a\"\u003e\u003ccode\u003e31c78af\u003c/code\u003e\u003c/a\u003e Respect broadcast suppressions on before/after actions (\u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/770\"\u003e#770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/16f76133cbef0cfec65a3c8693d795670fb725ac\"\u003e\u003ccode\u003e16f7613\u003c/code\u003e\u003c/a\u003e Only return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/dda27a8b903a27958fd2e4086babcfbaba648a94\"\u003e\u003ccode\u003edda27a8\u003c/code\u003e\u003c/a\u003e Restrict tests to \u003ccode\u003eminitest\u0026lt;6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v1.4.0...v2.0.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.11.5 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\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/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\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/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\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/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\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/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRedirect to \u003ccode\u003e@record\u003c/code\u003e or path in controller generator by \u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/569\"\u003erails/jbuilder#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn early from collection partial rendering if blank by \u003ca href=\"https://github.com/tylerjc\"\u003e\u003ccode\u003e@​tylerjc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/560\"\u003erails/jbuilder#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing ':see_other' status code in generated destroy controller method by \u003ca href=\"https://github.com/ldeld\"\u003e\u003ccode\u003e@​ldeld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/538\"\u003erails/jbuilder#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove OpenStruct references from Jbuilder by \u003ca href=\"https://github.com/mtsmfm\"\u003e\u003ccode\u003e@​mtsmfm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/567\"\u003erails/jbuilder#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse new \u003ccode\u003eparams.expect\u003c/code\u003e syntax instead of \u003ccode\u003eparams.require\u003c/code\u003e by \u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/573\"\u003erails/jbuilder#573\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/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/570\"\u003erails/jbuilder#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerjc\"\u003e\u003ccode\u003e@​tylerjc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/560\"\u003erails/jbuilder#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ldeld\"\u003e\u003ccode\u003e@​ldeld\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/538\"\u003erails/jbuilder#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtsmfm\"\u003e\u003ccode\u003e@​mtsmfm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/567\"\u003erails/jbuilder#567\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/jbuilder/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.12.0...v2.13.0\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.11.5...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 4.1.0 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyconfig/config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(security): replace \u003ccode\u003eIO.read\u003c/code\u003e with \u003ccode\u003eFile.read\u003c/code\u003e by \u003ca href=\"https://github.com/pkuczynski\"\u003e\u003ccode\u003e@​pkuczynski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/378\"\u003erubyconfig/config#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.6.0...5.6.1\"\u003ehttps://github.com/rubyconfig/config/compare/5.6.0...5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: added extra sources in initializer by \u003ca href=\"https://github.com/Nuzair46\"\u003e\u003ccode\u003e@​Nuzair46\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/366\"\u003erubyconfig/config#366\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.5.2...5.6.0\"\u003ehttps://github.com/rubyconfig/config/compare/5.5.2...5.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.5.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix warning: ostruct was loaded from the standard library by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/363\"\u003erubyconfig/config#363\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/rubyconfig/config/pull/363\"\u003erubyconfig/config#363\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.5.0...5.5.2\"\u003ehttps://github.com/rubyconfig/config/compare/5.5.0...5.5.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow arrays to be passed through env variables by \u003ca href=\"https://github.com/dominh\"\u003e\u003ccode\u003e@​dominh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/354\"\u003erubyconfig/config#354\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in the tests and documentation by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/359\"\u003erubyconfig/config#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efunding_url\u003c/code\u003e rather than \u003ccode\u003epost_install_message\u003c/code\u003e by \u003ca href=\"https://github.com/pda\"\u003e\u003ccode\u003e@​pda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/360\"\u003erubyconfig/config#360\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/dominh\"\u003e\u003ccode\u003e@​dominh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/354\"\u003erubyconfig/config#354\u003c/a\u003e\u003c/li\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/rubyconfig/config/pull/359\"\u003erubyconfig/config#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pda\"\u003e\u003ccode\u003e@​pda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/360\"\u003erubyconfig/config#360\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.4.0...5.5.0\"\u003ehttps://github.com/rubyconfig/config/compare/5.4.0...5.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.4.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd configuration option \u003ccode\u003eenvironment\u003c/code\u003e to override the use of \u003ccode\u003eRails.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003edry-validation\u003c/code\u003e from dependencies (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.2.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow to use custom filename \u0026amp;\u0026amp; directory name to store configs (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyconfig/config/blob/master/CHANGELOG.md\"\u003econfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(security): replace IO.read with File.read \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/378\"\u003e#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eextra_sources\u003c/code\u003e in initializer (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix warning: ostruct was loaded from the standard library with Ruby 3.3.5 and 3.4+ (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/363\"\u003e#363\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.5.1\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix funding_url to funding_uri in gemspec (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/361\"\u003e#361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.5.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow arrays to be passed through env variables (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse funding_url rather than post_install_message (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/360\"\u003e#360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typos in the tests and documentation (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.4.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd configuration option \u003ccode\u003eenvironment\u003c/code\u003e to override the use of \u003ccode\u003eRails.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003edry-validation\u003c/code\u003e from dependencies (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.2.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow to use custom filename \u0026amp;\u0026amp; directory name to store configs (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent name collision with private methods from ancestors (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/8b6ffe6dcc91f52f06d5a1502333108d1c6033ca\"\u003e\u003ccode\u003e8b6ffe6\u003c/code\u003e\u003c/a\u003e release: 5.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/d639f9db7355195f1ea7d21ddae32f0c166759ae\"\u003e\u003ccode\u003ed639f9d\u003c/code\u003e\u003c/a\u003e ci: limit workflow permissions (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/e0bf18fab4feed4f5413c6528c198009b36fa536\"\u003e\u003ccode\u003ee0bf18f\u003c/code\u003e\u003c/a\u003e fix(security): replace \u003ccode\u003eIO.read\u003c/code\u003e with \u003ccode\u003eFile.read\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/263e66a4a70c053f1181f8f65d666d22a6f60b64\"\u003e\u003ccode\u003e263e66a\u003c/code\u003e\u003c/a\u003e test: bump puma in rails 5.2 test app to fix security warning (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/c833d1964b0e10ae71ccc780bc46766baeb7e22e\"\u003e\u003ccode\u003ec833d19\u003c/code\u003e\u003c/a\u003e release: 5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/4dc0f3e6e945a6159f35630098f8de0311a6908a\"\u003e\u003ccode\u003e4dc0f3e\u003c/code\u003e\u003c/a\u003e ci: fix jruby rails \u0026gt;= 7.2 (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/1f17cd8d6215cf38e702f58c0f701e813c7ce0ef\"\u003e\u003ccode\u003e1f17cd8\u003c/code\u003e\u003c/a\u003e feat: added extra sources in initializer (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/97b3e8cbf47f022a27ff4962c059b0fc139a1369\"\u003e\u003ccode\u003e97b3e8c\u003c/code\u003e\u003c/a\u003e ci: add rails 7.2 and 8.0 to the test matrix and bump some older dependencies...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/1b5581d23b47c81a233d61c28f0c6716d74d8f63\"\u003e\u003ccode\u003e1b5581d\u003c/code\u003e\u003c/a\u003e ci: add Ruby 3.4 to the test matrix (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/a4c978f4a64975fd609780541b2b243883217e4f\"\u003e\u003ccode\u003ea4c978f\u003c/code\u003e\u003c/a\u003e ci: remove unnecessary ubuntu packages installation (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyconfig/config/compare/4.1.0...5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-apis-analyticsdata_v1beta` from 0.32.0 to 0.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-ruby-client/blob/main/generated/google-apis-analyticsdata_v1beta/CHANGELOG.md\"\u003egoogle-apis-analyticsdata_v1beta's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev0.40.0 (2025-05-04)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated using generator version 0.17.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.39.0 (2024-11-24)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20241117\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.38.0 (2024-09-01)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240825\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.37.0 (2024-08-04)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240731\u003c/li\u003e\n\u003cli\u003eRegenerated using generator version 0.15.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.36.0 (2024-05-19)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240512\u003c/li\u003e\n\u003cli\u003eRegenerated using generator version 0.15.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.35.0 (2024-02-24)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated using generator version 0.14.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.34.0 (2024-02-04)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240128\u003c/li\u003e\n\u003cli\u003eRegenerated using generator version 0.13.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.33.0 (2024-01-22)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated using generator version 0.13.0\u003c/li\u003e\n\u003c/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/googleapis/google-api-ruby-client/compare/0.32.0...0.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `googleauth` from 1.3.0 to 1.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/releases\"\u003egoogleauth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogleauth: v1.16.2\u003c/h2\u003e\n\u003ch3\u003e1.16.2 (2026-02-26)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003einitialize the JWT credentials without JSON roundtrip (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn response body from revoke! for logging pipeline (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.16.1\u003c/h2\u003e\n\u003ch3\u003e1.16.1 (2026-01-15)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003erestore support for JSON keys missing 'type' field (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.16.0\u003c/h2\u003e\n\u003ch3\u003e1.16.0 (2025-11-21)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ADC support for impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eInclude security warning in ExternalAccount and ImpersonatedServiceAccount credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.15.1\u003c/h2\u003e\n\u003ch3\u003e1.15.1 (2025-10-14)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate method make_creds in DefaultCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.15.0\u003c/h2\u003e\n\u003ch3\u003e1.15.0 (2025-08-25)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd typed errors to authentication library (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for JWT 3.x (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003efix incorrect error and apply some code complexity refactoring (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Pathname for cred loading (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDocumentation\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments\u003c/li\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.14.0\u003c/h2\u003e\n\u003ch3\u003e1.14.0 (2025-03-14)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/blob/main/CHANGELOG.md\"\u003egoogleauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.16.2 (2026-02-26)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003einitialize the JWT credentials without JSON roundtrip (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn response body from revoke! for logging pipeline (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.16.1 (2026-01-15)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003erestore support for JSON keys missing 'type' field (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.16.0 (2025-11-21)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ADC support for impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eInclude security warning in ExternalAccount and ImpersonatedServiceAccount credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.15.1 (2025-10-14)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate method make_creds in DefaultCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.15.0 (2025-08-25)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd typed errors to authentication library (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for JWT 3.x (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003efix incorrect error and apply some code complexity refactoring (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Pathname for cred loading (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDocumentation\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments\u003c/li\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.14.0 (2025-03-14)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd API key credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Bearer token credentials\u003c/li\u003e\n\u003cli\u003eadd BearerToken credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/522\"\u003e#522\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/googleapis/google-auth-library-ruby/commit/1ef191b1342c19736ebe7a5640bfb86a7d989c68\"\u003e\u003ccode\u003e1ef191b\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.16.2 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/fb5b7978d66b43465081a024aaf7ebc17354ed9d\"\u003e\u003ccode\u003efb5b797\u003c/code\u003e\u003c/a\u003e fix: return response body from revoke! for logging pipeline (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/b0ec7d8b1e7a722839a196cb7a56b9c6f43e8159\"\u003e\u003ccode\u003eb0ec7d8\u003c/code\u003e\u003c/a\u003e fix: initialize the JWT credentials without JSON roundtrip (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/5c4ab1cfc3517d5490633c878cb5136ca4da75e6\"\u003e\u003ccode\u003e5c4ab1c\u003c/code\u003e\u003c/a\u003e chore: replace old ruby teams with cloud-sdk-ruby-team (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/43ab9db5f237fb337cbd8d8db562f28cc2bfcff8\"\u003e\u003ccode\u003e43ab9db\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.16.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/d7193fc6364f099d8110271a65d474227573aa91\"\u003e\u003ccode\u003ed7193fc\u003c/code\u003e\u003c/a\u003e fix: restore support for JSON keys missing 'type' field (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/a59a1df96d4bf476d1fd96544b309ce4a6a70ec9\"\u003e\u003ccode\u003ea59a1df\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.16.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/317474db5f5889755f309704a9304d4fb86f06f6\"\u003e\u003ccode\u003e317474d\u003c/code\u003e\u003c/a\u003e fix: Include security warning in ExternalAccount and ImpersonatedServiceAccou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/4c31b17f02d0f46c991418ab6f909383623d489c\"\u003e\u003ccode\u003e4c31b17\u003c/code\u003e\u003c/a\u003e feat: Add ADC support for impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/1c6724ffd2e7a9c8bf171f9858bcd334d03df98b\"\u003e\u003ccode\u003e1c6724f\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.15.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/compare/googleauth/v1.3.0...googleauth/v1.16.2\"\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.243.0 to 3.246.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.246.0 (2026-04-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated configuration values for \u003ccode\u003edefaults_mode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.245.0 (2026-04-17)\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 - The STS client now supports configuring SigV4a through the auth scheme preference setting. SigV4a uses asymmetric cryptography, enabling customers using long-term IAM credentials to continue making STS API calls even when a region is isolated from the partition leader.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Explicitly set 0600 permissions on SSO/login cache files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.244.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Support waiter error matcher to handle both boolean and boolean-string acceptors.\u003c/li\u003e\n\u003c/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 `rspec-core` from 3.12.1 to 3.13.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rspec/rspec/blob/rspec-core-v3.13.6/rspec-core/Changelog.md\"\u003erspec-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e3.13.6 / 2025-10-19\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.4...rspec-core-v3.13.5\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit block parameter to \u003ccode\u003eRSpec::World::Null.traverse_example_group_trees_until\u003c/code\u003e to\nprevent warning. (\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/240\"\u003erspec/rspec#240\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.5 / 2025-06-25\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.4...rspec-core-v3.13.5\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding failed lines from frozen backtrace arrays. (Jon Rowe, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/225\"\u003e#225\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.4 / 2025-05-27\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.3...rspec-core-v3.13.4\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix links in gemspec to point to the monorepo / homepage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.3 / 2025-02-06\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.4...rspec-core-v3.13.3\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reporter memorisation of \u003ccode\u003eExamplesNotification\u003c/code\u003e used in \u003ccode\u003eRSpec::Core::Reporter#finish\u003c/code\u003e\nby reusing an instance across notifcations. (Maxime Lapointe, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/172\"\u003erspec/rspec#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memorisation of \u003ccode\u003eRSpec::Core::Example#location_rerun_argument\u003c/code\u003e.\n(Maxime Lapointe, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/173\"\u003erspec/rspec#173\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.2 / 2024-10-18\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec-core/compare/v3.13.1...v3.13.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRSpec::Configuration#requires\u003c/code\u003e will reflect files already required, whilst requiring\nthem. (Jon Rowe, \u003ca href=\"https://redirect.github.com/rspec/rspec-core/issues/3117\"\u003erspec/rspec-core#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.1 / 2024-09-02\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec-core/compare/v3.13.0...v3.13.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSort ids to run as the original order to fix \u003ccode\u003e--bisect\u003c/code\u003e. (Maki Kawahara, \u003ca href=\"https://redirect.github.com/rspec/rspec-core/issues/3093\"\u003erspec/rspec-core#3093\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.0 / 2024-02-04\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec-core/compare/v3.12.3...v3.13.0\"\u003eFull Changelog\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rspec/rspec/commits/rspec-core-v3.13.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `googleauth` from 1.3.0 to 1.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/dpla/dashboard-analytics/pull/306","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpla%2Fdashboard-analytics/issues/306","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/306/packages"},{"uuid":"4339223808","node_id":"PR_kwDOAVIPGM7WIgwj","number":8356,"state":"open","title":"chore(deps): bump ffi from 1.17.1 to 1.17.4","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-27T22:23:39.000Z","updated_at":"2026-04-28T01:06:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"ffi","old_version":"1.17.1","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.1 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.1...v1.17.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Coursemology/coursemology2/pull/8356","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coursemology%2Fcoursemology2/issues/8356","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8356/packages"},{"uuid":"4203330258","node_id":"PR_kwDOAAGm9s7P6jEr","number":15813,"state":"open","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["Type: Chore"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-04T03:42:49.000Z","updated_at":"2026-04-04T03:43:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/chef/chef/pull/15813","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef/issues/15813","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15813/packages"},{"uuid":"4197000593","node_id":"PR_kwDOAHOAqs7PrCQH","number":39088,"state":"open","title":"DEPS: Bump ffi from 1.17.3 to 1.17.4","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-02T21:08:42.000Z","updated_at":"2026-04-02T21:09:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n- [Changelog](https://github.com/ffi/ffi/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4)","html_url":"https://github.com/discourse/discourse/pull/39088","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/discourse%2Fdiscourse/issues/39088","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39088/packages"},{"uuid":"4186661538","node_id":"PR_kwDOAAGnAc7PP8OB","number":1933,"state":"open","title":"Update ffi requirement from ~\u003e 1.9, \u003c= 1.17.0 to ~\u003e 1.9, \u003c= 1.18.0","user":"dependabot[bot]","labels":["Type: Chore"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T12:46:23.000Z","updated_at":"2026-04-22T02:00:36.337Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"ffi","old_version":"~\u003e 1.9, \u003c= 1.17.0","new_version":"~\u003e 1.9, \u003c= 1.18.0","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Updates the requirements on [ffi](https://github.com/ffi/ffi) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/1.9.0...v1.17.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 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/chef/ohai/pull/1933","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fohai/issues/1933","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1933/packages"},{"uuid":"4150691026","node_id":"PR_kwDOMl2ih87N-30-","number":601,"state":"closed","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-28T08:31:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T08:44:28.000Z","updated_at":"2026-03-28T08:31:31.000Z","time_to_close":85622,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/ecosyste-ms/funds/pull/601","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Ffunds/issues/601","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/601/packages"},{"uuid":"4149132108","node_id":"PR_kwDOAnpU1c7N7wnx","number":7816,"state":"open","title":"Bump ffi from 1.16.3 to 1.17.4","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-03-27T04:12:13.000Z","updated_at":"2026-03-27T04:13:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.4)](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/inspec/inspec/pull/7816","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspec%2Finspec/issues/7816","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7816/packages"},{"uuid":"4149101795","node_id":"PR_kwDOAnpU1c7N7sWg","number":7815,"state":"open","title":"Bump ffi from 1.16.3 to 1.17.4","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-03-27T04:06:04.000Z","updated_at":"2026-03-27T04:07:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.4)](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/inspec/inspec/pull/7815","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspec%2Finspec/issues/7815","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7815/packages"},{"uuid":"4148823494","node_id":"PR_kwDODHAhHM7N7EeP","number":624,"state":"open","title":"chore(deps-dev): bump ffi from 1.17.3 to 1.17.4","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-03-27T03:02:40.000Z","updated_at":"2026-03-27T03:04:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/irasutoya-tools/irasutoya-cli/pull/624","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/irasutoya-tools%2Firasutoya-cli/issues/624","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/624/packages"},{"uuid":"4148220954","node_id":"PR_kwDONUIgq87N5etj","number":365,"state":"closed","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-28T08:16:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T00:34:07.000Z","updated_at":"2026-03-28T08:16:55.000Z","time_to_close":114167,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/ecosyste-ms/sponsors/pull/365","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Fsponsors/issues/365","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/365/packages"},{"uuid":"4146560184","node_id":"PR_kwDOHR75ps7N09Pq","number":767,"state":"closed","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-28T08:09:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T18:53:42.000Z","updated_at":"2026-03-28T08:09:41.000Z","time_to_close":134157,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/ecosyste-ms/archives/pull/767","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Farchives/issues/767","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/767/packages"},{"uuid":"4054787709","node_id":"PR_kwDORjvLT87JiTxg","number":52,"state":"open","title":"DEPS: Bump ffi from 1.17.2 to 1.17.3","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-03-10T23:38:31.000Z","updated_at":"2026-03-11T03:29:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","packages":[{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.2 to 1.17.3.\n- [Changelog](https://github.com/ffi/ffi/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/ffi/ffi/compare/v1.17.2...v1.17.3)","html_url":"https://github.com/DFarynski99/discourse/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DFarynski99%2Fdiscourse/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"},{"uuid":"3953602602","node_id":"PR_kwDOAFgVPs7EZv1m","number":986,"state":"closed","title":"Bump the bundler group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-22T22:49:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-17T16:24:23.000Z","updated_at":"2026-02-22T22:49:26.000Z","time_to_close":455101,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":3,"packages":[{"name":"json","old_version":"1.8.2","new_version":"2.3.0","repository_url":"https://github.com/ruby/json"},{"name":"ffi","old_version":"1.9.8","new_version":"1.9.24","repository_url":"https://github.com/ffi/ffi"},{"name":"rack","old_version":"1.6.0","new_version":"2.2.22","repository_url":"https://github.com/rack/rack"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 3 updates in the / directory: [json](https://github.com/ruby/json), [ffi](https://github.com/ffi/ffi) and [rack](https://github.com/rack/rack).\n\nUpdates `json` from 1.8.2 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/json/releases\"\u003ejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eREADME: Docs at rubydoc.info, not on rubyforge by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/376\"\u003eflori/json#376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RubyForge homepage reference by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/378\"\u003eflori/json#378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ascii_only option to JSON::Ext::Generator::State.new. by \u003ca href=\"https://github.com/sho-h\"\u003e\u003ccode\u003e@​sho-h\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/367\"\u003eflori/json#367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGemspec: Drop EOL'd property rubyforge_project by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/381\"\u003eflori/json#381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport ruby core changes by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/388\"\u003eflori/json#388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanup for ruby 2.7 warnings and failures. by \u003ca href=\"https://github.com/zenspider\"\u003e\u003ccode\u003e@​zenspider\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/389\"\u003eflori/json#389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelax test-unit version for old ruby by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/390\"\u003eflori/json#390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump versions for 2.3.0. by \u003ca href=\"https://github.com/headius\"\u003e\u003ccode\u003e@​headius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/391\"\u003eflori/json#391\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/zenspider\"\u003e\u003ccode\u003e@​zenspider\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/389\"\u003eflori/json#389\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flori/json/compare/v2.2.0...v2.3.0\"\u003ehttps://github.com/flori/json/compare/v2.2.0...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed json_create example to use create_additions = true by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/331\"\u003eflori/json#331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: Fixed code examples to start in the left-most column by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/330\"\u003eflori/json#330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded missing bigdecimal for its test by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/335\"\u003eflori/json#335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: Added note about json/add/exception by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/332\"\u003eflori/json#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix link in travis widget by \u003ca href=\"https://github.com/lostapathy\"\u003e\u003ccode\u003e@​lostapathy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/340\"\u003eflori/json#340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CI] Test against Ruby 2.5 by \u003ca href=\"https://github.com/nicolasleger\"\u003e\u003ccode\u003e@​nicolasleger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/352\"\u003eflori/json#352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved control characters from gemspec. by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/360\"\u003eflori/json#360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in README.md by \u003ca href=\"https://github.com/yui-knk\"\u003e\u003ccode\u003e@​yui-knk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/363\"\u003eflori/json#363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport from Ruby core repository by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/359\"\u003eflori/json#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for bigdecimal updates by \u003ca href=\"https://github.com/mrkn\"\u003e\u003ccode\u003e@​mrkn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/362\"\u003eflori/json#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix a typo. by \u003ca href=\"https://github.com/sho-h\"\u003e\u003ccode\u003e@​sho-h\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/369\"\u003eflori/json#369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix JSON::Generator::State#ascii_only? document same as lib/json/pure/generator.rb. by \u003ca href=\"https://github.com/sho-h\"\u003e\u003ccode\u003e@​sho-h\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/366\"\u003eflori/json#366\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/lostapathy\"\u003e\u003ccode\u003e@​lostapathy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/340\"\u003eflori/json#340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nicolasleger\"\u003e\u003ccode\u003e@​nicolasleger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/352\"\u003eflori/json#352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yui-knk\"\u003e\u003ccode\u003e@​yui-knk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/363\"\u003eflori/json#363\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flori/json/compare/v2.1.0...v2.2.0\"\u003ehttps://github.com/flori/json/compare/v2.1.0...v2.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eREADME.md typo fix by \u003ca href=\"https://github.com/kaworu\"\u003e\u003ccode\u003e@​kaworu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/300\"\u003eflori/json#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect documentation of OpenStruct.json_create by \u003ca href=\"https://github.com/kyanagi\"\u003e\u003ccode\u003e@​kyanagi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/301\"\u003eflori/json#301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNo Bignum by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/302\"\u003eflori/json#302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGES.md: Fixed typo by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/306\"\u003eflori/json#306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActually test BigDecimal parsing. by \u003ca href=\"https://github.com/xb\"\u003e\u003ccode\u003e@​xb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/321\"\u003eflori/json#321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBack-out change of directory of json-java.gemspec. by \u003ca href=\"https://github.com/xb\"\u003e\u003ccode\u003e@​xb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/323\"\u003eflori/json#323\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/kaworu\"\u003e\u003ccode\u003e@​kaworu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/300\"\u003eflori/json#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kyanagi\"\u003e\u003ccode\u003e@​kyanagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/301\"\u003eflori/json#301\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/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2019-12-11 (2.3.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix default of \u003ccode\u003ecreate_additions\u003c/code\u003e to always be \u003ccode\u003efalse\u003c/code\u003e for \u003ccode\u003eJSON(user_input)\u003c/code\u003e\nand \u003ccode\u003eJSON.parse(user_input, nil)\u003c/code\u003e.\nNote that \u003ccode\u003eJSON.load\u003c/code\u003e remains with default \u003ccode\u003etrue\u003c/code\u003e and is meant for internal\nserialization of trusted data. [CVE-2020-10663]\u003c/li\u003e\n\u003cli\u003eFix passing args all #to_json in json/add/*.\u003c/li\u003e\n\u003cli\u003eFix encoding issues\u003c/li\u003e\n\u003cli\u003eFix issues of keyword vs positional parameter\u003c/li\u003e\n\u003cli\u003eFix JSON::Parser against bigdecimal updates\u003c/li\u003e\n\u003cli\u003eBug fixes to JRuby port\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2019-02-21 (2.2.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for 2.6 BigDecimal and ruby standard library Set datetype.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2017-04-18 (2.1.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow passing of \u003ccode\u003edecimal_class\u003c/code\u003e option to specify a class as which to parse\nJSON float numbers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2017-03-23 (2.0.4)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise exception for incomplete unicode surrogates/character escape\nsequences. This problem was reported by Daniel Gollahon (dgollahon).\u003c/li\u003e\n\u003cli\u003eFix arbitrary heap exposure problem. This problem was reported by Ahmad\nSherif (ahmadsherif).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2017-01-12 (2.0.3)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003erequired_ruby_version\u003c/code\u003e to 1.9\u003c/li\u003e\n\u003cli\u003eSome small fixes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2016-07-26 (2.0.2)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify \u003ccode\u003erequired_ruby_version\u003c/code\u003e for json_pure.\u003c/li\u003e\n\u003cli\u003eFix issue \u003ca href=\"https://redirect.github.com/ruby/json/issues/295\"\u003e#295\u003c/a\u003e failure when parsing frozen strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2016-07-01 (2.0.1)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix problem when requiring json_pure and Parser constant was defined top\nlevel.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRB_GC_GUARD\u003c/code\u003e to avoid possible GC problem via Pete Johns.\u003c/li\u003e\n\u003cli\u003eStore \u003ccode\u003ecurrent_nesting\u003c/code\u003e on stack by Aaron Patterson.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2015-09-11 (2.0.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNow complies to newest JSON RFC 7159.\u003c/li\u003e\n\u003cli\u003eImplements compatibility to ruby 2.4 integer unification.\u003c/li\u003e\n\u003cli\u003eRemoved support for \u003ccode\u003equirks_mode\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eDrops support for old rubies whose life has ended, that is rubies \u0026lt; 2.0.\nAlso see \u003ca href=\"https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/\"\u003ehttps://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere were still some mentions of dual GPL licensing in the source, but JSON\nhas just the Ruby license that itself includes an explicit dual-licensing\nclause that allows covered software to be distributed under the terms of\nthe Simplified BSD License instead for all ruby versions \u0026gt;= 1.9.3. This is\nhowever a GPL compatible license according to the Free Software Foundation.\nI changed these mentions to be consistent with the Ruby license setting in\nthe gemspec files which were already correct now.\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/json/commit/92cf5c451a6ec0f3a00e291eb909e57cf38fbea4\"\u003e\u003ccode\u003e92cf5c4\u003c/code\u003e\u003c/a\u003e v2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/579ae85676f8a41c62ce9d2230db969ead9707bb\"\u003e\u003ccode\u003e579ae85\u003c/code\u003e\u003c/a\u003e Add some more recent jruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/acabfebf14361090af1771ecc3c22b8dcb740421\"\u003e\u003ccode\u003eacabfeb\u003c/code\u003e\u003c/a\u003e Make tests green on jruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/c194360ac2677fec94b05d9507e9e54871940335\"\u003e\u003ccode\u003ec194360\u003c/code\u003e\u003c/a\u003e Update travis config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/49317c1328fc08e6bd146164e7ef16c7cde84e0f\"\u003e\u003ccode\u003e49317c1\u003c/code\u003e\u003c/a\u003e Ignore log files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d84439f522ec37119b115009d3779fed6e0fa842\"\u003e\u003ccode\u003ed84439f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/391\"\u003e#391\u003c/a\u003e from headius/prep_2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/38f68d1e05174fa466dcabbc924d2098f0d8b824\"\u003e\u003ccode\u003e38f68d1\u003c/code\u003e\u003c/a\u003e Bump versions for 2.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/40524a99868ea6f29daf876c09ac539ab5b24f82\"\u003e\u003ccode\u003e40524a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/390\"\u003e#390\u003c/a\u003e from flori/relax-test-unit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/87379e694a103e0db18c1c8f652b0112d8239ebf\"\u003e\u003ccode\u003e87379e6\u003c/code\u003e\u003c/a\u003e relax test-unit version for old ruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/05de02f4e2813e87280a408596ccc912decb277c\"\u003e\u003ccode\u003e05de02f\u003c/code\u003e\u003c/a\u003e Merge branch 'zenspider-zenspider/ruby-2.7'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v1.8.2...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ffi` from 1.9.8 to 1.9.24\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.24 / 2018-06-02\u003c/h2\u003e\n\u003cp\u003eSecurity Note:\u003c/p\u003e\n\u003cp\u003eThis update addresses vulnerability CVE-2018-1000201: DLL loading issue which can be hijacked on Windows OS, when a Symbol is used as DLL name instead of a String. Found by Matthew Bush.\u003c/p\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a CHANGELOG file\u003c/li\u003e\n\u003cli\u003eAdd mips64(eb) support, and mips r6 support. (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/601\"\u003e#601\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate libffi to latest changes on master.\u003c/li\u003e\n\u003cli\u003eDon't search in hardcoded /usr paths on Windows.\u003c/li\u003e\n\u003cli\u003eDon't treat Symbol args different to Strings in ffi_lib.\u003c/li\u003e\n\u003cli\u003eMake sure size_t is defined in Thread.c. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/609\"\u003e#609\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.23 / 2018-02-25\u003c/h2\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix unnecessary rebuild of configure in darwin multi arch. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/605\"\u003e#605\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.22 / 2018-02-22\u003c/h2\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate libffi to latest changes on master.\u003c/li\u003e\n\u003cli\u003eUpdate detection of system libffi to match new requirements. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer bundled libffi over system libffi on Mac OS.\u003c/li\u003e\n\u003cli\u003eDo closures via libffi. This removes ClosurePool and fixes compat with PaX. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/540\"\u003e#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse a more deterministic gem packaging.\u003c/li\u003e\n\u003cli\u003eFix unnecessary update of autoconf files at gem install.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.21 / 2018-02-06\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRuby-2.5 support by Windows binary gems. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/598\"\u003e#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing win64 types.\u003c/li\u003e\n\u003cli\u003eAdded support for Bitmask. (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for MSYS2 (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/572\"\u003e#572\u003c/a\u003e) and Sparc64 Linux. (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix read_string to not throw an error on length 0.\u003c/li\u003e\n\u003cli\u003eDon't use absolute paths for sh and env. Fixes usage on Adroid \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/528\"\u003e#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse Ruby implementation for \u003ccode\u003ewhich\u003c/code\u003e for better compat with Windows. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/315\"\u003e#315\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/ffi/ffi/commit/4e1051a5b8131547db333455dc4fc6a39e04491a\"\u003e\u003ccode\u003e4e1051a\u003c/code\u003e\u003c/a\u003e Run rspec with dots output only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/e70b13d6ef20351541649532d6705bac0acec170\"\u003e\u003ccode\u003ee70b13d\u003c/code\u003e\u003c/a\u003e Fix integer parameter range specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/55ae232232696b81e1d36807e2f44c262a649c48\"\u003e\u003ccode\u003e55ae232\u003c/code\u003e\u003c/a\u003e Fix several specs where raise_error was called without class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/8821d4f4cb9b4cc622bf5627d9f9d150ca19af64\"\u003e\u003ccode\u003e8821d4f\u003c/code\u003e\u003c/a\u003e Specify error class for several raise_error calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/bf48d44f9572e54f6e5e8adda2c375a0002b779b\"\u003e\u003ccode\u003ebf48d44\u003c/code\u003e\u003c/a\u003e Fix missing C declarations causing compiler warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/f56978849d828025c097236eb6a1ddc258361785\"\u003e\u003ccode\u003ef569788\u003c/code\u003e\u003c/a\u003e Replace symlinks for mips r6 with plain files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/fedbae01b1c0906e97c2f7795bfbb09d020d7903\"\u003e\u003ccode\u003efedbae0\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/a4d4d19d6e689697279fdc095efbfe2b1e9a975b\"\u003e\u003ccode\u003ea4d4d19\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:ffi/ffi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/45d8803bf827be4b44f1f91a1bd7623442beae6d\"\u003e\u003ccode\u003e45d8803\u003c/code\u003e\u003c/a\u003e Add a CHANGELOG file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/2ff1d8f01768e24176b6fc513c60e1c1b1795ae6\"\u003e\u003ccode\u003e2ff1d8f\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.9.24\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/1.9.8...1.9.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 1.6.0 to 2.2.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\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/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\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/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev2.1.4.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.1.4.3...v2.1.4.4\"\u003ehttps://github.com/rack/rack/compare/v2.1.4.3...v2.1.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.9.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.0.9.3...v2.0.9.4\"\u003ehttps://github.com/rack/rack/compare/v2.0.9.3...v2.0.9.4\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/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003eKeep A Changelog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUnreleased\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-whrj-4476-wvmp\"\u003eCVE-2026-25500\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-mxw3-3hh2-x2mh\"\u003eCVE-2026-22860\u003c/a\u003e Directory traversal via root prefix bypass in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSPEC Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefine \u003ccode\u003erack.response_finished\u003c/code\u003e callback arguments more strictly. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2365\"\u003e#2365\u003c/a\u003e, \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eRack::Files#assign_headers\u003c/code\u003e to allow overriding how the configured file headers are set. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2377\"\u003e#2377\u003c/a\u003e, \u003ca href=\"https://github.com/codergeek121\"\u003e\u003ccode\u003e@​codergeek121\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003erack.response_finished\u003c/code\u003e to \u003ccode\u003eRack::TempfileReaper\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2363\"\u003e#2363\u003c/a\u003e, \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for streaming bodies when using \u003ccode\u003eRack::Events\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/rack/rack/blob/main/redirect.github.com/rack/rack/pull/2375\"\u003e#2375\u003c/a\u003e, \u003ca href=\"https://github.com/unflxw\"\u003e\u003ccode\u003e@​unflxw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edeflaters\u003c/code\u003e option to \u003ccode\u003eRack::Deflater\u003c/code\u003e to enable custom compression algorithms like zstd. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2168\"\u003e#2168\u003c/a\u003e, \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRack::Request#prefetch?\u003c/code\u003e for identifying requests with \u003ccode\u003eSec-Purpose: prefetch\u003c/code\u003e header set. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2405\"\u003e#2405\u003c/a\u003e, \u003ca href=\"https://github.com/glaszig\"\u003e\u003ccode\u003e@​glaszig\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003erack.request.trusted_proxy\u003c/code\u003e environment key to indicate whether the request is coming from a trusted proxy.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise before exceeding a part limit, not after. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2362\"\u003e#2362\u003c/a\u003e, \u003ca href=\"https://github.com/matthew-puku\"\u003e\u003ccode\u003e@​matthew-puku\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRack::Deflater now uses a fixed GZip mtime value. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2372\"\u003e#2372\u003c/a\u003e, \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMultipart parser drops support for RFC 2231 \u003ccode\u003efilename*\u003c/code\u003e parameter (prohibited by RFC 7578) and now properly handles UTF-8 encoded filenames via percent-encoding and direct UTF-8 bytes. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2398\"\u003e#2398\u003c/a\u003e, \u003ca href=\"https://github.com/wtn\"\u003e\u003ccode\u003e@​wtn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe query parser now raises \u003ccode\u003eRack::QueryParser::IncompatibleEncodingError\u003c/code\u003e if we try to parse params that are not ASCII compatible. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2416\"\u003e#2416\u003c/a\u003e, \u003ca href=\"https://github.com/bquorning\"\u003e\u003ccode\u003e@​bquorning\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eRack::MockResponse#body\u003c/code\u003e when the body is a Proc. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2420\"\u003e#2420\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2423\"\u003e#2423\u003c/a\u003e, \u003ca href=\"https://github.com/tavianator\"\u003e\u003ccode\u003e@​tavianator\u003c/code\u003e\u003c/a\u003e, [\u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.4] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.3] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\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/rack/rack/commit/0cc2e00b22dffc33955ef912569f01e515a406e1\"\u003e\u003ccode\u003e0cc2e00\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/a5725c031b2717758851f1eadd9b9dfe7555745a\"\u003e\u003ccode\u003ea5725c0\u003c/code\u003e\u003c/a\u003e Prevent directory traversal via root prefix bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/175e7d206b8ff2bce4d98d7ba429adf73c674bfb\"\u003e\u003ccode\u003e175e7d2\u003c/code\u003e\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/3472037aacef99319a62c9e9109b81efc5ba1294\"\u003e\u003ccode\u003e3472037\u003c/code\u003e\u003c/a\u003e Fix changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/851dc02672eca361a48e5a097818aa3cec1d3206\"\u003e\u003ccode\u003e851dc02\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/1e6aeda3d08a5cefd9cf3be4bbef304c2b75aa9c\"\u003e\u003ccode\u003e1e6aeda\u003c/code\u003e\u003c/a\u003e Allow Multipart head to span read boundary. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2392\"\u003e#2392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/6ef591522bb44f80654ad1a80654ba46cafdc7c1\"\u003e\u003ccode\u003e6ef5915\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4e2c903991a790ee211a3021808ff4fd6fe82881\"\u003e\u003ccode\u003e4e2c903\u003c/code\u003e\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fba2c8bc63eb787ff4b19bc612d315fda6126d85\"\u003e\u003ccode\u003efba2c8b\u003c/code\u003e\u003c/a\u003e Improper handling of proxy headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ed3d8340d1a7955332b51e74c1075ef3547c09dd\"\u003e\u003ccode\u003eed3d834\u003c/code\u003e\u003c/a\u003e Normalize adivsories links.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/1.6.0...v2.2.22\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/openaustralia/righttoknow/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/openaustralia/righttoknow/pull/986","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/openaustralia%2Frighttoknow/issues/986","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/986/packages"},{"uuid":"3920983587","node_id":"PR_kwDORMwnc87Ct551","number":5,"state":"closed","title":"chore(deps): update ffi requirement from 1.9.21 to 1.17.3 in /ruby-webapp","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T01:06:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-10T11:41:15.000Z","updated_at":"2026-04-02T01:06:45.000Z","time_to_close":4368328,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"ffi","old_version":"1.9.21","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":"/ruby-webapp","ecosystem":"rubygems"},"body":"Updates the requirements on [ffi](https://github.com/ffi/ffi) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/1.9.21...v1.17.3\"\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 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/my-mona-org/my-insecure-repo/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-mona-org%2Fmy-insecure-repo/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"3914661697","node_id":"PR_kwDOPbtPw87CZI5U","number":197,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 45 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-16T06:07:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T06:15:53.000Z","updated_at":"2026-02-16T06:07:32.000Z","time_to_close":604297,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":45,"packages":[{"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":"turbo-rails","old_version":"2.0.20","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"httparty","old_version":"0.23.2","new_version":"0.24.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"bcrypt","old_version":"3.1.20","new_version":"3.1.21","repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby"},{"name":"bootsnap","old_version":"1.19.0","new_version":"1.22.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"kamal","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/basecamp/kamal"},{"name":"thruster","old_version":"0.1.16","new_version":"0.1.18","repository_url":"https://github.com/basecamp/thruster"},{"name":"sidekiq","old_version":"8.0.10","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"connection_pool","old_version":"2.5.5","new_version":"3.0.2","repository_url":"https://github.com/mperham/connection_pool"},{"name":"pdf-reader","old_version":"2.15.0","new_version":"2.15.1","repository_url":"https://github.com/yob/pdf-reader"},{"name":"rails_icons","old_version":"1.5.1","new_version":"1.6.1","repository_url":"https://github.com/Rails-Designer/rails_icons"},{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"brakeman","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"faker","old_version":"3.5.3","new_version":"3.6.0","repository_url":"https://github.com/faker-ruby/faker"},{"name":"selenium-webdriver","old_version":"4.39.0","new_version":"4.40.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"faraday","old_version":"2.14.0","new_version":"2.14.1","repository_url":"https://github.com/lostisland/faraday"},{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"json-schema","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/voxpupuli/json-schema"},{"name":"parser","old_version":"3.3.10.0","new_version":"3.3.10.1","repository_url":"https://github.com/whitequark/parser"},{"name":"rspec-support","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"rubocop","old_version":"1.81.7","new_version":"1.84.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-rails","old_version":"2.34.2","new_version":"2.34.3","repository_url":"https://github.com/rubocop/rubocop-rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\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| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.20` | `2.0.23` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.23.2` | `0.24.2` |\n| [bcrypt](https://github.com/bcrypt-ruby/bcrypt-ruby) | `3.1.20` | `3.1.21` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.19.0` | `1.22.0` |\n| [kamal](https://github.com/basecamp/kamal) | `2.9.0` | `2.10.1` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.16` | `0.1.18` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.10` | `8.1.0` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.5` | `3.0.2` |\n| [pdf-reader](https://github.com/yob/pdf-reader) | `2.15.0` | `2.15.1` |\n| [rails_icons](https://github.com/Rails-Designer/rails_icons) | `1.5.1` | `1.6.1` |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `8.0.1` | `8.0.2` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.3` | `3.6.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.39.0` | `4.40.0` |\n| [faraday](https://github.com/lostisland/faraday) | `2.14.0` | `2.14.1` |\n| [ffi](https://github.com/ffi/ffi) | `1.17.2` | `1.17.3` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [json-schema](https://github.com/voxpupuli/json-schema) | `6.0.0` | `6.1.0` |\n| [parser](https://github.com/whitequark/parser) | `3.3.10.0` | `3.3.10.1` |\n| [rspec-support](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.81.7` | `1.84.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.34.2` | `2.34.3` |\n\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 `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 `turbo-rails` from 2.0.20 to 2.0.23\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.23\u003c/h2\u003e\n\u003cp\u003eUpdates the bundled JS to freshen stale dependencies from the previous release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdates the bundled JS to \u003ca href=\"https://github.com/hotwired/turbo/compare/v8.0.21...v8.0.22\"\u003ev8.0.22\u003c/a\u003e for renamed \u003ccode\u003esession.navigator\u003c/code\u003e to avoid clobbering \u003ccode\u003ewindow.navigator\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/hotwired/turbo/pull/1489\"\u003ehotwired/turbo#1489\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003erails@8.1\u003c/code\u003e to the CI matrix by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/758\"\u003ehotwired/turbo-rails#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse an immediate debouncer for tests by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude hidden elements for turbo-cable-stream-source selector by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/740\"\u003ehotwired/turbo-rails#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI for \u003ccode\u003eruby@3.2.x\u003c/code\u003e-\u003ccode\u003erails@7.2.x\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/764\"\u003ehotwired/turbo-rails#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd turbo frame assertion test helpers by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/742\"\u003ehotwired/turbo-rails#742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAcccept meta tag string arguments as well by \u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[fix \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/762\"\u003e#762\u003c/a\u003e] Forward broadcast_refresh_to options by \u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Model Class in Action and Frame helpers by \u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove legacy workaround for Rails \u0026lt; 7 by \u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix debouncer tests to wait on correct debouncer by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/767\"\u003ehotwired/turbo-rails#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestrict tests to \u003ccode\u003eminitest \u0026lt; 6\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/774\"\u003ehotwired/turbo-rails#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e by \u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect broadcast suppressions on before/after actions by \u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\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/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\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/hotwired/turbo-rails/commit/435135b26a4b62e49d2f55bb4b1fd419e3bfb228\"\u003e\u003ccode\u003e435135b\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/22701f1fa326fc936b878c47b6f3d42ebef727ed\"\u003e\u003ccode\u003e22701f1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/27030b956b107e864258aff0c48c2ed7a36ef3fc\"\u003e\u003ccode\u003e27030b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/52cde052aa00c6f7b0ce8cd10d2fefdcbe1e3255\"\u003e\u003ccode\u003e52cde05\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e511fb28c464ea9f3b3ddec3c1250d2b2c4b5313\"\u003e\u003ccode\u003ee511fb2\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/99dc9c5445166f0335d0a2fc15da3e7969fc913a\"\u003e\u003ccode\u003e99dc9c5\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/c2cd99fae9440aee6c1c836578c6dbf6067f7ee0\"\u003e\u003ccode\u003ec2cd99f\u003c/code\u003e\u003c/a\u003e v8.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/31c78af6c1d16070bbb25b68402a2c700a386c1a\"\u003e\u003ccode\u003e31c78af\u003c/code\u003e\u003c/a\u003e Respect broadcast suppressions on before/after actions (\u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/770\"\u003e#770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/16f76133cbef0cfec65a3c8693d795670fb725ac\"\u003e\u003ccode\u003e16f7613\u003c/code\u003e\u003c/a\u003e Only return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/dda27a8b903a27958fd2e4086babcfbaba648a94\"\u003e\u003ccode\u003edda27a8\u003c/code\u003e\u003c/a\u003e Restrict tests to \u003ccode\u003eminitest\u0026lt;6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.23.2 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\u003ch2\u003ev0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eForce binary encoding throughout by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/823\"\u003ejnunemaker/httparty#823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eset Content-Type for Hash body in requests by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/828\"\u003ejnunemaker/httparty#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: stream multipart file uploads to reduce memory usage by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/829\"\u003ejnunemaker/httparty#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent SSRF via absolute URL bypassing base_uri by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/830\"\u003ejnunemaker/httparty#830\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.23.2...v0.24.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.2...v0.24.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/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\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/55ec76e8d1df7903eab3f7c2367991400d3cf65e\"\u003e\u003ccode\u003e55ec76e\u003c/code\u003e\u003c/a\u003e Release 0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/ddfbc8ddfca03d4f4026b01763ee906071ca558b\"\u003e\u003ccode\u003eddfbc8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/830\"\u003e#830\u003c/a\u003e from jnunemaker/fix-ssrf-base-uri-bypass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/0529bcd6309c9fd9bfdd50ae211843b10054c240\"\u003e\u003ccode\u003e0529bcd\u003c/code\u003e\u003c/a\u003e fix: prevent SSRF via absolute URL bypassing base_uri (GHSA-hm5p-x4rq-38w4)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/05f38fd35d8088b9770513c2eaecce671f0940ec\"\u003e\u003ccode\u003e05f38fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/829\"\u003e#829\u003c/a\u003e from jnunemaker/memory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/8901c238c00d0aca8920271314c4c5d7dd2701fb\"\u003e\u003ccode\u003e8901c23\u003c/code\u003e\u003c/a\u003e feat: stream multipart file uploads to reduce memory usage\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.2...v0.24.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt` from 3.1.20 to 3.1.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/releases\"\u003ebcrypt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProvide a 'Changelog' link on rubygems.org/gems/bcrypt by \u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/274\"\u003ebcrypt-ruby/bcrypt-ruby#274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport ruby 3.3 and 3.4.0-preview1 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/bcrypt-ruby/bcrypt-ruby/pull/276\"\u003ebcrypt-ruby/bcrypt-ruby#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark as ractor-safe by \u003ca href=\"https://github.com/mohamedhafez\"\u003e\u003ccode\u003e@​mohamedhafez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/280\"\u003ebcrypt-ruby/bcrypt-ruby#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd == gotcha that can be unintuitive at first by \u003ca href=\"https://github.com/federicoaldunate\"\u003e\u003ccode\u003e@​federicoaldunate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/279\"\u003ebcrypt-ruby/bcrypt-ruby#279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConstant compare by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/282\"\u003ebcrypt-ruby/bcrypt-ruby#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etry to modernize CI by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/287\"\u003ebcrypt-ruby/bcrypt-ruby#287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTry to deal with flaky tests by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/288\"\u003ebcrypt-ruby/bcrypt-ruby#288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure trusted publishing by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/289\"\u003ebcrypt-ruby/bcrypt-ruby#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump version by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/290\"\u003ebcrypt-ruby/bcrypt-ruby#290\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/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/274\"\u003ebcrypt-ruby/bcrypt-ruby#274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/276\"\u003ebcrypt-ruby/bcrypt-ruby#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mohamedhafez\"\u003e\u003ccode\u003e@​mohamedhafez\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/280\"\u003ebcrypt-ruby/bcrypt-ruby#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/federicoaldunate\"\u003e\u003ccode\u003e@​federicoaldunate\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/279\"\u003ebcrypt-ruby/bcrypt-ruby#279\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/compare/v3.1.20...v3.1.21\"\u003ehttps://github.com/bcrypt-ruby/bcrypt-ruby/compare/v3.1.20...v3.1.21\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/bcrypt-ruby/bcrypt-ruby/blob/master/CHANGELOG\"\u003ebcrypt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.1.21 Dec 31 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse constant time comparisons\u003c/li\u003e\n\u003cli\u003eMark as Ractor safe\u003c/li\u003e\n\u003c/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/bcrypt-ruby/bcrypt-ruby/commit/82e6c4c6cf81912768c68d721372e78330ff2c92\"\u003e\u003ccode\u003e82e6c4c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/290\"\u003e#290\u003c/a\u003e from tenderlove/bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/4b1fc736c0f4f66d5e2dd4a5c28bd4f3f51aea93\"\u003e\u003ccode\u003e4b1fc73\u003c/code\u003e\u003c/a\u003e add bundler tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/64605fc1de894ba125de6a7eb61dd8cceb9bc65d\"\u003e\u003ccode\u003e64605fc\u003c/code\u003e\u003c/a\u003e bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/da89a839ce17c2ff268ae8283c728278de3a9d04\"\u003e\u003ccode\u003eda89a83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/289\"\u003e#289\u003c/a\u003e from tenderlove/trusted-publishers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/344ca599eed0fc311e3a5be80441ddb85540f34f\"\u003e\u003ccode\u003e344ca59\u003c/code\u003e\u003c/a\u003e Configure trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/ca9cea1c3d80d61c51017e51d99c1e959b6055ef\"\u003e\u003ccode\u003eca9cea1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/288\"\u003e#288\u003c/a\u003e from tenderlove/deal-with-flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/d94041a0d2972f4dba1d831a9ebdefad398fe604\"\u003e\u003ccode\u003ed94041a\u003c/code\u003e\u003c/a\u003e Try to deal with flaky tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/eba09de859234ed70650c6a1dacb0867b35103bc\"\u003e\u003ccode\u003eeba09de\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/287\"\u003e#287\u003c/a\u003e from tenderlove/modernize-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/c1562549b901349c79fb5e96d16c32e25caa7938\"\u003e\u003ccode\u003ec156254\u003c/code\u003e\u003c/a\u003e Modernize CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/27dbab3080c2dbd22ae0652b36fd37eba69dda30\"\u003e\u003ccode\u003e27dbab3\u003c/code\u003e\u003c/a\u003e Declare development dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/compare/v3.1.20...v3.1.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.19.0 to 1.22.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.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.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\u003c/blockquote\u003e\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/aabae6ddf34d7dd084faa6173886baadec55bb86\"\u003e\u003ccode\u003eaabae6d\u003c/code\u003e\u003c/a\u003e Release 1.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/2545ea7d2a8bd97dc6819841d833abe2693045da\"\u003e\u003ccode\u003e2545ea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/525\"\u003e#525\u003c/a\u003e from jasonkarns/cache_dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/1889435c51fefa6634576e589ea06fe3aa1d98f5\"\u003e\u003ccode\u003e1889435\u003c/code\u003e\u003c/a\u003e Add missing nil checks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/7d375c66c87f4bc7ee4084fb311f31a1a55f8420\"\u003e\u003ccode\u003e7d375c6\u003c/code\u003e\u003c/a\u003e Rake entrypoint registers Bootsnap's cache_dir for cleaning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d0911624c32701ba69092d4a5b8fc9205731b477\"\u003e\u003ccode\u003ed091162\u003c/code\u003e\u003c/a\u003e Expose cache_dir root for all caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e977de2d6d0a7a52fa2952d86a20aa47e6399c12\"\u003e\u003ccode\u003ee977de2\u003c/code\u003e\u003c/a\u003e Enforce mocha 3+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6a49c76fdd1aeba29e5598a7a43f0aee433ad0e5\"\u003e\u003ccode\u003e6a49c76\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/523\"\u003e#523\u003c/a\u003e from byroot/better-opendir-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/ccc8e1324bbea4a2f2cda0cd476d1e302dbbdd16\"\u003e\u003ccode\u003eccc8e13\u003c/code\u003e\u003c/a\u003e Properly fix opendir failing with \u003ccode\u003eerrno = 0\u003c/code\u003e\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `kamal` from 2.9.0 to 2.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/kamal/releases\"\u003ekamal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.10.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass accessory volume through as is by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1738\"\u003ebasecamp/kamal#1738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/kamal/compare/v2.10.0...v2.10.1\"\u003ehttps://github.com/basecamp/kamal/compare/v2.10.0...v2.10.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet proxy run configuration in deploy YAML by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1663\"\u003ebasecamp/kamal#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport mount options for files and directories by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1723\"\u003ebasecamp/kamal#1723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccessory file/directory owners + permissions by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1724\"\u003ebasecamp/kamal#1724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand secret environment variables in accessory files by \u003ca href=\"https://github.com/aliismayilov\"\u003e\u003ccode\u003e@​aliismayilov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1601\"\u003ebasecamp/kamal#1601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd secret support for SSH \u003ccode\u003ekey_data\u003c/code\u003e by \u003ca href=\"https://github.com/jclusso\"\u003e\u003ccode\u003e@​jclusso\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1620\"\u003ebasecamp/kamal#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in secrets by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1726\"\u003ebasecamp/kamal#1726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't shellescape secrets fetch on the command line by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1727\"\u003ebasecamp/kamal#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet KAMAL_DESTINATION only for destinations by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1729\"\u003ebasecamp/kamal#1729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck roles before removing images and directories by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1730\"\u003ebasecamp/kamal#1730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoot in parallel for roles on the same host by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1731\"\u003ebasecamp/kamal#1731\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/jclusso\"\u003e\u003ccode\u003e@​jclusso\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1620\"\u003ebasecamp/kamal#1620\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/kamal/compare/v2.9.0...v2.10.0\"\u003ehttps://github.com/basecamp/kamal/compare/v2.9.0...v2.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/30f8aef186141eeb936c2ab0991d95d0a93bfb7c\"\u003e\u003ccode\u003e30f8aef\u003c/code\u003e\u003c/a\u003e Bump version for 2.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/e744e403734c40397e37e836002417265e7751fd\"\u003e\u003ccode\u003ee744e40\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1738\"\u003e#1738\u003c/a\u003e from basecamp/revert-accessory-volume-change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/849faf3e32e159d7b49f6e16696ba404887da88f\"\u003e\u003ccode\u003e849faf3\u003c/code\u003e\u003c/a\u003e Pass accessory volume through as is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/f5ec8cbaf988b54e93455e43d95bda77e87d300f\"\u003e\u003ccode\u003ef5ec8cb\u003c/code\u003e\u003c/a\u003e Bump version for 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/910729ce0d53c2c654efd4c4b327f1fec719ccbc\"\u003e\u003ccode\u003e910729c\u003c/code\u003e\u003c/a\u003e Doc fixes for Kamal 2.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/e40731a64173f72356c28b70dcff86737bb328a8\"\u003e\u003ccode\u003ee40731a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1731\"\u003e#1731\u003c/a\u003e from basecamp/boot-parallel-roles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/3682280581068ee7663ab296a33f44d8d38632ac\"\u003e\u003ccode\u003e3682280\u003c/code\u003e\u003c/a\u003e Boot in parallel for roles on the same host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/4ca210c4465fcc55773961c3248766d6c80bd7ef\"\u003e\u003ccode\u003e4ca210c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1730\"\u003e#1730\u003c/a\u003e from basecamp/check-roles-before-removing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/f86156b5562509f2872e3bc2f3cdfcdab49598d1\"\u003e\u003ccode\u003ef86156b\u003c/code\u003e\u003c/a\u003e Check roles before removing images and directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/40d4d8f856be02fdae5d47aa128ad2378231f2b0\"\u003e\u003ccode\u003e40d4d8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1729\"\u003e#1729\u003c/a\u003e from basecamp/only-set-destination-env-if-there-is-one\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/kamal/compare/v2.9.0...v2.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `thruster` from 0.1.16 to 0.1.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/thruster/blob/main/CHANGELOG.md\"\u003ethruster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.18 / 2026-02-02\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReturn correct exit code when terminated with signal (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild with Go 1.25.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.1.17 / 2025-12-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMitigate BREACH attacks with random jitter and optional compression guard (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/102\"\u003e#102\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/basecamp/thruster/commit/fdfaf6e8b7ea8df82f34bdee6a0a056ab71e94fc\"\u003e\u003ccode\u003efdfaf6e\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/962fe9b159ff2718ef548e17907f84335ee739a5\"\u003e\u003ccode\u003e962fe9b\u003c/code\u003e\u003c/a\u003e Build with Go 1.25.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/68e8abfb6cffa957ae36f876e49a1e13e66bdc6b\"\u003e\u003ccode\u003e68e8abf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/110\"\u003e#110\u003c/a\u003e from basecamp/exit-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/6898eead9bffb54923ea6ecf5a27b64f9e5aab14\"\u003e\u003ccode\u003e6898eea\u003c/code\u003e\u003c/a\u003e Return correct exit code when process signalled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/55276882801a7ec6ae87f20d18850a95d1768bd7\"\u003e\u003ccode\u003e5527688\u003c/code\u003e\u003c/a\u003e Clarify that git tags are prefixed with 'v'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/97dd28dc956e79830ff82c3e435c7d2d56977720\"\u003e\u003ccode\u003e97dd28d\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/5a118901895cce22e5726094a024f8237f2306d2\"\u003e\u003ccode\u003e5a11890\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/107\"\u003e#107\u003c/a\u003e from basecamp/workflow-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/0f43f3e0c095c21979906276ecc913601137e9f1\"\u003e\u003ccode\u003e0f43f3e\u003c/code\u003e\u003c/a\u003e Restrict workflow permission\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/ef864edd609450b0e73f8effff3bb50a8201c6f6\"\u003e\u003ccode\u003eef864ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/106\"\u003e#106\u003c/a\u003e from basecamp/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/3ea6321bd448c4977f7e014eeaf5cd40b8a2618c\"\u003e\u003ccode\u003e3ea6321\u003c/code\u003e\u003c/a\u003e Update Go version \u0026amp; deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/thruster/compare/v0.1.16...v0.1.18\"\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.10 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\u003c/blockquote\u003e\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.10...v8.1.0\"\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.5 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/mperham/connection_pool/compare/v2.5.5...v3.0.2\"\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.5 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/mperham/connection_pool/compare/v2.5.5...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pdf-reader` from 2.15.0 to 2.15.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yob/pdf-reader/blob/main/CHANGELOG\"\u003epdf-reader's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev2.15.1 (28th December 2025)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ruby 4.0 to the CI matrix (\u003ca href=\"https://redirect.github.com/yob/pdf-reader/pull/575\"\u003eyob/pdf-reader#575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoiding raising an error when ToUnicode poins to the wrong object type (\u003ca href=\"https://redirect.github.com/yob/pdf-reader/pull/573\"\u003eyob/pdf-reader#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip invalid UTF-16 surrogate pairs in CMaps (\u003ca href=\"https://redirect.github.com/yob/pdf-reader/pull/574\"\u003eyob/pdf-reader#574\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/yob/pdf-reader/commit/544a01c097802bc94ff74567df18cbd8f56e5abf\"\u003e\u003ccode\u003e544a01c\u003c/code\u003e\u003c/a\u003e Update tapioca to the latest version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/03ad935bc7ce5051f5caaed158ef658631112363\"\u003e\u003ccode\u003e03ad935\u003c/code\u003e\u003c/a\u003e prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/14e7215f859ecebb3f7716bbeb5719338e9877f1\"\u003e\u003ccode\u003e14e7215\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/576\"\u003e#576\u003c/a\u003e from yob/gem.coop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/fa87d757f6754695e83a2b910f5b6ddea2e8dc07\"\u003e\u003ccode\u003efa87d75\u003c/code\u003e\u003c/a\u003e Have another go at using gem.coop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/a9bfe1b8718cacf591dd2e1dafacbb4d34f345e1\"\u003e\u003ccode\u003ea9bfe1b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/575\"\u003e#575\u003c/a\u003e from yob/ruby-4-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/ae593218d85eb68916ebd6b6447c194e35123c6c\"\u003e\u003ccode\u003eae59321\u003c/code\u003e\u003c/a\u003e Add ruby 4.0 to the CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/3bc2510a10902949e8c9ff85786e17de2dec47fc\"\u003e\u003ccode\u003e3bc2510\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/574\"\u003e#574\u003c/a\u003e from yob/invalid-cmap-surrogate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/f0f1a618675d7c3c4a96161b46b6a6a8c6990462\"\u003e\u003ccode\u003ef0f1a61\u003c/code\u003e\u003c/a\u003e Skip invalid UTF-16 surrogate pairs in CMaps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/42988a580bbbd817a043e0ad6d2e3049aba083f0\"\u003e\u003ccode\u003e42988a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/573\"\u003e#573\u003c/a\u003e from yob/tounicode-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/25f5642b6fd25d128887599e5e9ccca9df1d8766\"\u003e\u003ccode\u003e25f5642\u003c/code\u003e\u003c/a\u003e Solve non-stream ToUnicode in a slightly different way\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/yob/pdf-reader/compare/v2.15.0...v2.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails_icons` from 1.5.1 to 1.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Rails-Designer/rails_icons/releases\"\u003erails_icons's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass \u003ccode\u003e--library\u003c/code\u003e option correctly down the chain by \u003ca href=\"https://github.com/eelcoj\"\u003e\u003ccode\u003e@​eelcoj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/pull/96\"\u003eRails-Designer/rails_icons#96\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-Designer/rails_icons/compare/v1.6.0...v1.6.1\"\u003ehttps://github.com/Rails-Designer/rails_icons/compare/v1.6.0...v1.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--library\u003c/code\u003e option as singular alias for \u003ccode\u003e--libraries\u003c/code\u003e by \u003ca href=\"https://github.com/eelcoj\"\u003e\u003ccode\u003e@​eelcoj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/pull/91\"\u003eRails-Designer/rails_icons#91\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved bin/release by \u003ca href=\"https://github.com/eelcoj\"\u003e\u003ccode\u003e@​eelcoj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/pull/95\"\u003eRails-Designer/rails_icons#95\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-Designer/rails_icons/compare/v1.5.1...v1.6.0\"\u003ehttps://github.com/Rails-Designer/rails_icons/compare/v1.5.1...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/da77f730eed3501fa9f5641073131cd3647d19f1\"\u003e\u003ccode\u003eda77f73\u003c/code\u003e\u003c/a\u003e Bump version for 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/6dfffe25107f99d6d3f9bb405f16faca87d5ca8a\"\u003e\u003ccode\u003e6dfffe2\u003c/code\u003e\u003c/a\u003e Pass \u003ccode\u003e--library\u003c/code\u003e option correctly down the chain (\u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/52eaa7707754a41bdacdf1e4d56f5ae44169acfa\"\u003e\u003ccode\u003e52eaa77\u003c/code\u003e\u003c/a\u003e Bump version for 1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/5e3dd4e3a2aaa9cbfc5f9a2f42c4d3afdd50b8c5\"\u003e\u003ccode\u003e5e3dd4e\u003c/code\u003e\u003c/a\u003e Improved bin/release (\u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/issues/95\"\u003e#95\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/2263182a561c22ce59d7dd8ca18c885e175343cf\"\u003e\u003ccode\u003e2263182\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--library\u003c/code\u003e option as singular alias for \u003ccode\u003e--libraries\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/issues/91\"\u003e#91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/5697522b47bcdd4a62a0478e619e0a1cdf8060db\"\u003e\u003ccode\u003e5697522\u003c/code\u003e\u003c/a\u003e Removed commented line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/eeb7bf310a895733eac6134e05d87d838f34b06a\"\u003e\u003ccode\u003eeeb7bf3\u003c/code\u003e\u003c/a\u003e Regenerate lockfiles with latest Bundler\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Rails-Designer/rails_icons/compare/v1.5.1...v1.6.1\"\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 unverifie...\n\n_Description has been truncated_","html_url":"https://github.com/nived12/bank_statements_app/pull/197","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nived12%2Fbank_statements_app/issues/197","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/197/packages"},{"uuid":"3817864043","node_id":"PR_kwDOAEhgV869ZoPG","number":4765,"state":"closed","title":"build(deps-dev): bump ffi from 1.16.3 to 1.17.3","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-16T02:22:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-15T14:46:02.000Z","updated_at":"2026-01-16T02:22:22.000Z","time_to_close":41778,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.3.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.3\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.3)](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 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 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/cloudfoundry/cloud_controller_ng/pull/4765","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fcloud_controller_ng/issues/4765","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4765/packages"},{"uuid":"3810920470","node_id":"PR_kwDOAAGm9s69CgVW","number":15564,"state":"open","title":"Bump ffi and omnibus-software in /omnibus","user":"dependabot[bot]","labels":["Type: Chore"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-13T23:13:08.000Z","updated_at":"2026-01-13T23:15:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","repository_url":"https://github.com/ffi/ffi","old_version":"1.16.3","new_version":"1.17.3"},{"name":"omnibus-software","repository_url":"https://github.com/chef/omnibus-software","old_version":"`28c9c9f`","new_version":"26.1.360"}],"path":"/omnibus","ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) and [omnibus-software](https://github.com/chef/omnibus-software). These dependencies needed to be updated together.\nUpdates `ffi` from 1.16.3 to 1.17.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omnibus-software` from `28c9c9f` to 26.1.360\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/2799d14cecc59c6a351c5cba3761c01fff9a65a7\"\u003e\u003ccode\u003e2799d14\u003c/code\u003e\u003c/a\u003e Bump version to 25.12.359 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/13be3ce5482e52a8cf350ea9c794e441eb5adf3c\"\u003e\u003ccode\u003e13be3ce\u003c/code\u003e\u003c/a\u003e Adding support for openssl 3.2.6 [CVE-2025-9230] (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2040\"\u003e#2040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/d6fce7b6c5e6a9ba1f3a21eef2b2be8ee778391f\"\u003e\u003ccode\u003ed6fce7b\u003c/code\u003e\u003c/a\u003e Bump version to 25.12.357 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/aeb8d13737347bc0344fcfb22c0f998bc4dacd1f\"\u003e\u003ccode\u003eaeb8d13\u003c/code\u003e\u003c/a\u003e Add Dependency valkey (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2033\"\u003e#2033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/5da9d21694f59aee2c521fed944338a93d4a62b3\"\u003e\u003ccode\u003e5da9d21\u003c/code\u003e\u003c/a\u003e Bump version to 25.11.355 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/9c1722a10924d74bcdf4e02d2610885cf722fc1a\"\u003e\u003ccode\u003e9c1722a\u003c/code\u003e\u003c/a\u003e Upgrade  libffi to fix RHEL- 10 build issues (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2039\"\u003e#2039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/ead37053551477d0dd52fd8a411286e7f649c338\"\u003e\u003ccode\u003eead3705\u003c/code\u003e\u003c/a\u003e Bump version to 25.11.353 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/85274da3c05a486431a989109d40bfd2e5dbb506\"\u003e\u003ccode\u003e85274da\u003c/code\u003e\u003c/a\u003e added libxml 2.14.4 (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2038\"\u003e#2038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/05e2188136004558d5df10c5774d54e788eb29a9\"\u003e\u003ccode\u003e05e2188\u003c/code\u003e\u003c/a\u003e Bump version to 25.10.351 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/b46ebcabad5809f29f69b5e10ff2eab9ebe5a8e2\"\u003e\u003ccode\u003eb46ebca\u003c/code\u003e\u003c/a\u003e Add git-windows 2.48.1 support (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2035\"\u003e#2035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chef/omnibus-software/compare/28c9c9f8419094cef59ca37802084db716166ace...26.1.360\"\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 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/chef/chef/pull/15564","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef/issues/15564","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15564/packages"},{"uuid":"3787286186","node_id":"PR_kwDOAnpU1c671Pyf","number":7713,"state":"closed","title":"Bump ffi from 1.16.3 to 1.17.3","user":"dependabot[bot]","labels":["dependencies","inspec-5","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-27T04:06:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T04:14:38.000Z","updated_at":"2026-03-27T04:06:09.000Z","time_to_close":6825090,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.3.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.3\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.3)](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 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 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\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/inspec/inspec/pull/7713","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspec%2Finspec/issues/7713","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7713/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"}],"issue_packages":[{"old_version":"1.15.5","new_version":"1.17.4","update_type":"minor","path":null,"pr_created_at":"2026-05-01T13:48:42.000Z","version_change":"1.15.5 → 1.17.4","issue":{"uuid":"4364698277","node_id":"PR_kwDOB4ZGwM7XbtFU","number":306,"state":"open","title":"Bump the ruby-dependencies group with 29 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-01T13:48:42.000Z","updated_at":"2026-05-01T13:48:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-dependencies","update_count":29,"packages":[{"name":"sqlite3","old_version":"1.6.1","new_version":"2.9.3","repository_url":"https://github.com/sparklemotion/sqlite3-ruby"},{"name":"puma","old_version":"6.6.1","new_version":"8.0.1","repository_url":"https://github.com/puma/puma"},{"name":"turbo-rails","old_version":"1.4.0","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"jbuilder","old_version":"2.11.5","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"config","old_version":"4.1.0","new_version":"5.6.1","repository_url":"https://github.com/rubyconfig/config"},{"name":"google-apis-analyticsdata_v1beta","old_version":"0.32.0","new_version":"0.40.0","repository_url":"https://github.com/googleapis/google-api-ruby-client"},{"name":"googleauth","old_version":"1.3.0","new_version":"1.16.2","repository_url":"https://github.com/googleapis/google-auth-library-ruby"},{"name":"aws-sdk-core","old_version":"3.243.0","new_version":"3.246.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"rspec-core","old_version":"3.12.1","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"jquery-rails","old_version":"4.5.1","new_version":"4.6.1","repository_url":"https://github.com/rails/jquery-rails"},{"name":"aws-sdk-rails","old_version":"3.7.1","new_version":"5.1.0","repository_url":"https://github.com/aws/aws-sdk-rails"},{"name":"aws-sdk-s3","old_version":"1.216.0","new_version":"1.220.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"sprockets","old_version":"3.7.2","new_version":"4.2.2","repository_url":"https://github.com/rails/sprockets"},{"name":"rubyzip","old_version":"2.3.2","new_version":"3.2.2","repository_url":"https://github.com/rubyzip/rubyzip"},{"name":"ffi","old_version":"1.15.5","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"},{"name":"nokogiri","old_version":"1.18.10","new_version":"1.19.3","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"rack","old_version":"2.2.23","new_version":"3.2.6","repository_url":"https://github.com/rack/rack"},{"name":"net-imap","old_version":"0.5.13","new_version":"0.6.4","repository_url":"https://github.com/ruby/net-imap"},{"name":"json","old_version":"2.19.3","new_version":"2.19.4","repository_url":"https://github.com/ruby/json"},{"name":"sentry-ruby","old_version":"5.28.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-rails","old_version":"5.28.1","new_version":"6.5.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"pg","old_version":"1.4.6","new_version":"1.6.3","repository_url":"https://github.com/ged/ruby-pg"},{"name":"byebug","old_version":"11.1.3","new_version":"13.0.0","repository_url":"https://github.com/deivid-rodriguez/byebug"},{"name":"capybara","old_version":"3.38.0","new_version":"3.40.0","repository_url":"https://github.com/teamcapybara/capybara"},{"name":"selenium-webdriver","old_version":"4.8.1","new_version":"4.43.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"rspec-rails","old_version":"6.0.1","new_version":"8.0.4","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"web-console","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/rails/web-console"},{"name":"listen","old_version":"3.8.0","new_version":"3.10.0","repository_url":"https://github.com/guard/listen"},{"name":"spring","old_version":"4.1.1","new_version":"4.4.2","repository_url":"https://github.com/rails/spring"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-dependencies group with 29 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) | `1.6.1` | `2.9.3` |\n| [puma](https://github.com/puma/puma) | `6.6.1` | `8.0.1` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `1.4.0` | `2.0.23` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.11.5` | `2.14.1` |\n| [config](https://github.com/rubyconfig/config) | `4.1.0` | `5.6.1` |\n| [google-apis-analyticsdata_v1beta](https://github.com/googleapis/google-api-ruby-client) | `0.32.0` | `0.40.0` |\n| [googleauth](https://github.com/googleapis/google-auth-library-ruby) | `1.3.0` | `1.16.2` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.243.0` | `3.246.0` |\n| [rspec-core](https://github.com/rspec/rspec) | `3.12.1` | `3.13.6` |\n| [jquery-rails](https://github.com/rails/jquery-rails) | `4.5.1` | `4.6.1` |\n| [aws-sdk-rails](https://github.com/aws/aws-sdk-rails) | `3.7.1` | `5.1.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.216.0` | `1.220.0` |\n| [sprockets](https://github.com/rails/sprockets) | `3.7.2` | `4.2.2` |\n| [rubyzip](https://github.com/rubyzip/rubyzip) | `2.3.2` | `3.2.2` |\n| [ffi](https://github.com/ffi/ffi) | `1.15.5` | `1.17.4` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.10` | `1.19.3` |\n| [rack](https://github.com/rack/rack) | `2.2.23` | `3.2.6` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.13` | `0.6.4` |\n| [json](https://github.com/ruby/json) | `2.19.3` | `2.19.4` |\n| [sentry-ruby](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.5.0` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.28.1` | `6.5.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.4.6` | `1.6.3` |\n| [byebug](https://github.com/deivid-rodriguez/byebug) | `11.1.3` | `13.0.0` |\n| [capybara](https://github.com/teamcapybara/capybara) | `3.38.0` | `3.40.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.8.1` | `4.43.0` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `6.0.1` | `8.0.4` |\n| [web-console](https://github.com/rails/web-console) | `4.2.0` | `4.2.1` |\n| [listen](https://github.com/guard/listen) | `3.8.0` | `3.10.0` |\n| [spring](https://github.com/rails/spring) | `4.1.1` | `4.4.2` |\n\nUpdates `sqlite3` from 1.6.1 to 2.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/releases\"\u003esqlite3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.3 / 2026-04-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_53_0.html\"\u003ev3.53.0\u003c/a\u003e (from v3.51.3). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/696\"\u003e#696\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\u003eca6dd1cf6c037ccc8d3e5837190cc61ef15466092014951235641b5c4c8ab4ee  sqlite3-2.9.3-aarch64-linux-gnu.gem\r\nff017a36c463d02e9f0be7a6224521371128024e6a05ed16994afa5c037afbba  sqlite3-2.9.3-aarch64-linux-musl.gem\r\nfd8b74337a66bdaf746b97d65e6c9a2faff803c8f72d6b107fb880972815d072  sqlite3-2.9.3-arm-linux-gnu.gem\r\n792ae9a786bb37dbdc4c443c527bc91df423aac10e472f76d5cf5a9ac6d51980  sqlite3-2.9.3-arm-linux-musl.gem\r\n76b265d3d57362d3e38338f24f50a0c9cd47a4599c9cfbb578fac125d2299906  sqlite3-2.9.3-arm64-darwin.gem\r\n61edb2ce7a58e800478602e88b67e99f029b44747405c94c0cce7d165b0d0a96  sqlite3-2.9.3-x64-mingw-ucrt.gem\r\nceb2417f01563a2800836fbbc6d59aa0ca591882c99f6c50fdc0c8090da7a03b  sqlite3-2.9.3-x86-linux-gnu.gem\r\n1688e37da36a4513a1a1d6e9abb643f68723599abbe564cb1a1bf496c9ae8dca  sqlite3-2.9.3-x86-linux-musl.gem\r\n087e7cc4efc73d83e76354f028c4d1dc14552a05acc74f60e77a55f1bee6ef22  sqlite3-2.9.3-x86_64-darwin.gem\r\n85200a10c6cf5c60085fcca411a3168c5fba8fda3e2b1b0109ec277d7c226d46  sqlite3-2.9.3-x86_64-linux-gnu.gem\r\nb6d0437046d9180335dea1aa0592802e65c4f7b57409d63f14408211bf28536b  sqlite3-2.9.3-x86_64-linux-musl.gem\r\ne5ca871c87241bfdaf0e4a90d5177f4e4fe7af5f6951f88b4644339cc76e47ae  sqlite3-2.9.3.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\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\u003eeeb86db55645b85327ba75129e3614658d974bf4da8fdc87018a0d42c59f6e42  sqlite3-2.9.2-aarch64-linux-gnu.gem\r\n4feff91fb8c2b13688da34b5627c9d1ed9cedb3ee87a7114ec82209147f07a6d  sqlite3-2.9.2-aarch64-linux-musl.gem\r\n1ee2eb06b5301aaf5ce343a6e88d99ac932d95202d7b350f0e7b6d8d588580d7  sqlite3-2.9.2-arm-linux-gnu.gem\r\n8ca0de6aceede968de0394e22e95d549834c4d8e318f69a92a52f049878a0057  sqlite3-2.9.2-arm-linux-musl.gem\r\nd15bd9609a05f9d54930babe039585efc8cadd57517c15b64ec7dfa75158a5e9  sqlite3-2.9.2-arm64-darwin.gem\r\nb1b10d8c45a495b1e5b6338f7baa11297522bb9809b01e7e575090edd685953e  sqlite3-2.9.2-x64-mingw-ucrt.gem\r\n066bc904522f8a7072236a81237c03a4a1dfe070a25107e392de03d1e4ad0e6d  sqlite3-2.9.2-x86-linux-gnu.gem\r\n6503c76278f5e8629b12b6518ff43a9a4f6d9381de73f0b086c9fa1226db5ede  sqlite3-2.9.2-x86-linux-musl.gem\r\ned691b5021674d72582d03c5a38e89634b961902735fb6225273892805421d13  sqlite3-2.9.2-x86_64-darwin.gem\r\ndce83ffcb7e72f9f7aeb6e5404f15d277a45332fe18ccce8a8b3ed51e8d23aee  sqlite3-2.9.2-x86_64-linux-gnu.gem\r\ne8dd906a613f13b60f6d47ae9dda376384d9de1ab3f7e3f2fdf2fd18a871a2d7  sqlite3-2.9.2-x86_64-linux-musl.gem\r\n86814150714b6b06a328d083f46408e7a4a83b5f0a9673ed934ee3a1cb7a73b1  sqlite3-2.9.2.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\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\u003chr /\u003e\n\u003c!-- 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/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md\"\u003esqlite3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.3 / 2026-04-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_53_0.html\"\u003ev3.53.0\u003c/a\u003e (from v3.51.3). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/696\"\u003e#696\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\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\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\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\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\u003ch2\u003e2.9.0 / 2025-12-27\u003c/h2\u003e\n\u003ch3\u003eRuby\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce native gem packages for Ruby 4.0. \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby 3.1. \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\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eStatement#named_params\u003c/code\u003e to introspect on a parameterized SQL statement. \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/627\"\u003e#627\u003c/a\u003e \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/642\"\u003e#642\u003c/a\u003e \u003ca href=\"https://github.com/captn3m0\"\u003e\u003ccode\u003e@​captn3m0\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImproved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSmall improvements to docstrings and comments. \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/houyuanjie\"\u003e\u003ccode\u003e@​houyuanjie\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.1 / 2025-11-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_1.html\"\u003ev3.51.1\u003c/a\u003e (from v3.51.0). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/659\"\u003e#659\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrecompiled native gems are built with rake-compiler-dock v1.10.0 (previously v1.9.1).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.0 / 2025-11-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_0.html\"\u003ev3.51.0\u003c/a\u003e (from v3.50.4). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/652\"\u003e#652\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\u003ch2\u003e2.7.4 / 2025-09-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_50_4.html\"\u003ev3.50.4\u003c/a\u003e (from v3.50.3). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/644\"\u003e#644\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\u003ch2\u003e2.7.3 / 2025-07-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://sqlite.org/releaselog/3_50_3.html\"\u003ev3.50.3\u003c/a\u003e (from v3.50.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/638\"\u003e#638\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!-- 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/sparklemotion/sqlite3-ruby/commit/2e8172c0a7699902b8630433e988903edab10d18\"\u003e\u003ccode\u003e2e8172c\u003c/code\u003e\u003c/a\u003e version bump to v2.9.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/3dee3f2c737cbc48b68e3b4632287b13521a60ea\"\u003e\u003ccode\u003e3dee3f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/696\"\u003e#696\u003c/a\u003e from sparklemotion/dep-sqlite-3.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/6d1ae38f33c4528c0ac56951c052b90cdfad9c81\"\u003e\u003ccode\u003e6d1ae38\u003c/code\u003e\u003c/a\u003e build(deps): update vendored sqlite to 3.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/45611fd3f415338875407bcb0f67f6ae92bef65f\"\u003e\u003ccode\u003e45611fd\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 3 updates (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/c1724fc7f816b1fd13071000a25976c0e7f3cd95\"\u003e\u003ccode\u003ec1724fc\u003c/code\u003e\u003c/a\u003e build(deps): bump vmactions/freebsd-vm in the actions group (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8a7709e34196d1e37b7180fcddb0e6021a60ec97\"\u003e\u003ccode\u003e8a7709e\u003c/code\u003e\u003c/a\u003e build(deps-dev): update minitest requirement from 6.0.2 to 6.0.3 (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/b7c076de9b9d6658b2f77af788a55144cda0db69\"\u003e\u003ccode\u003eb7c076d\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 3 updates (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/704beb8b35cf060268b2d6eb32bcb33297846622\"\u003e\u003ccode\u003e704beb8\u003c/code\u003e\u003c/a\u003e build(deps): bump the actions group with 2 updates (\u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/efc56aa1e407a7aa6a96caefecd2c900e1f39223\"\u003e\u003ccode\u003eefc56aa\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8635618dca7edca3a804175610d0a81381e3554b\"\u003e\u003ccode\u003e8635618\u003c/code\u003e\u003c/a\u003e doc: new automated release process\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/compare/v1.6.1...v2.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 6.6.1 to 8.0.1\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.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\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\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.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\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\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/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\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v6.6.1...v8.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 1.4.0 to 2.0.23\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.23\u003c/h2\u003e\n\u003cp\u003eUpdates the bundled JS to freshen stale dependencies from the previous release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdates the bundled JS to \u003ca href=\"https://github.com/hotwired/turbo/compare/v8.0.21...v8.0.22\"\u003ev8.0.22\u003c/a\u003e for renamed \u003ccode\u003esession.navigator\u003c/code\u003e to avoid clobbering \u003ccode\u003ewindow.navigator\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/hotwired/turbo/pull/1489\"\u003ehotwired/turbo#1489\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003erails@8.1\u003c/code\u003e to the CI matrix by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/758\"\u003ehotwired/turbo-rails#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse an immediate debouncer for tests by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude hidden elements for turbo-cable-stream-source selector by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/740\"\u003ehotwired/turbo-rails#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI for \u003ccode\u003eruby@3.2.x\u003c/code\u003e-\u003ccode\u003erails@7.2.x\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/764\"\u003ehotwired/turbo-rails#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd turbo frame assertion test helpers by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/742\"\u003ehotwired/turbo-rails#742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAcccept meta tag string arguments as well by \u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[fix \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/762\"\u003e#762\u003c/a\u003e] Forward broadcast_refresh_to options by \u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Model Class in Action and Frame helpers by \u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove legacy workaround for Rails \u0026lt; 7 by \u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix debouncer tests to wait on correct debouncer by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/767\"\u003ehotwired/turbo-rails#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestrict tests to \u003ccode\u003eminitest \u0026lt; 6\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/774\"\u003ehotwired/turbo-rails#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e by \u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect broadcast suppressions on before/after actions by \u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\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/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\u003c/a\u003e\u003c/p\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\u003c!-- 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/hotwired/turbo-rails/commit/435135b26a4b62e49d2f55bb4b1fd419e3bfb228\"\u003e\u003ccode\u003e435135b\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/22701f1fa326fc936b878c47b6f3d42ebef727ed\"\u003e\u003ccode\u003e22701f1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/27030b956b107e864258aff0c48c2ed7a36ef3fc\"\u003e\u003ccode\u003e27030b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/52cde052aa00c6f7b0ce8cd10d2fefdcbe1e3255\"\u003e\u003ccode\u003e52cde05\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e511fb28c464ea9f3b3ddec3c1250d2b2c4b5313\"\u003e\u003ccode\u003ee511fb2\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/99dc9c5445166f0335d0a2fc15da3e7969fc913a\"\u003e\u003ccode\u003e99dc9c5\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/c2cd99fae9440aee6c1c836578c6dbf6067f7ee0\"\u003e\u003ccode\u003ec2cd99f\u003c/code\u003e\u003c/a\u003e v8.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/31c78af6c1d16070bbb25b68402a2c700a386c1a\"\u003e\u003ccode\u003e31c78af\u003c/code\u003e\u003c/a\u003e Respect broadcast suppressions on before/after actions (\u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/770\"\u003e#770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/16f76133cbef0cfec65a3c8693d795670fb725ac\"\u003e\u003ccode\u003e16f7613\u003c/code\u003e\u003c/a\u003e Only return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/dda27a8b903a27958fd2e4086babcfbaba648a94\"\u003e\u003ccode\u003edda27a8\u003c/code\u003e\u003c/a\u003e Restrict tests to \u003ccode\u003eminitest\u0026lt;6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v1.4.0...v2.0.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.11.5 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\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/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\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/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\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/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\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/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRedirect to \u003ccode\u003e@record\u003c/code\u003e or path in controller generator by \u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/569\"\u003erails/jbuilder#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn early from collection partial rendering if blank by \u003ca href=\"https://github.com/tylerjc\"\u003e\u003ccode\u003e@​tylerjc\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/560\"\u003erails/jbuilder#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing ':see_other' status code in generated destroy controller method by \u003ca href=\"https://github.com/ldeld\"\u003e\u003ccode\u003e@​ldeld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/538\"\u003erails/jbuilder#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove OpenStruct references from Jbuilder by \u003ca href=\"https://github.com/mtsmfm\"\u003e\u003ccode\u003e@​mtsmfm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/567\"\u003erails/jbuilder#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse new \u003ccode\u003eparams.expect\u003c/code\u003e syntax instead of \u003ccode\u003eparams.require\u003c/code\u003e by \u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/573\"\u003erails/jbuilder#573\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/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/570\"\u003erails/jbuilder#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerjc\"\u003e\u003ccode\u003e@​tylerjc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/560\"\u003erails/jbuilder#560\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ldeld\"\u003e\u003ccode\u003e@​ldeld\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/538\"\u003erails/jbuilder#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtsmfm\"\u003e\u003ccode\u003e@​mtsmfm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/567\"\u003erails/jbuilder#567\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/jbuilder/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.12.0...v2.13.0\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.11.5...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `config` from 4.1.0 to 5.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyconfig/config/releases\"\u003econfig's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(security): replace \u003ccode\u003eIO.read\u003c/code\u003e with \u003ccode\u003eFile.read\u003c/code\u003e by \u003ca href=\"https://github.com/pkuczynski\"\u003e\u003ccode\u003e@​pkuczynski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/378\"\u003erubyconfig/config#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.6.0...5.6.1\"\u003ehttps://github.com/rubyconfig/config/compare/5.6.0...5.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat: added extra sources in initializer by \u003ca href=\"https://github.com/Nuzair46\"\u003e\u003ccode\u003e@​Nuzair46\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/366\"\u003erubyconfig/config#366\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.5.2...5.6.0\"\u003ehttps://github.com/rubyconfig/config/compare/5.5.2...5.6.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.5.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix warning: ostruct was loaded from the standard library by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/363\"\u003erubyconfig/config#363\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/rubyconfig/config/pull/363\"\u003erubyconfig/config#363\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.5.0...5.5.2\"\u003ehttps://github.com/rubyconfig/config/compare/5.5.0...5.5.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow arrays to be passed through env variables by \u003ca href=\"https://github.com/dominh\"\u003e\u003ccode\u003e@​dominh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/354\"\u003erubyconfig/config#354\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in the tests and documentation by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/359\"\u003erubyconfig/config#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003efunding_url\u003c/code\u003e rather than \u003ccode\u003epost_install_message\u003c/code\u003e by \u003ca href=\"https://github.com/pda\"\u003e\u003ccode\u003e@​pda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/360\"\u003erubyconfig/config#360\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/dominh\"\u003e\u003ccode\u003e@​dominh\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/354\"\u003erubyconfig/config#354\u003c/a\u003e\u003c/li\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/rubyconfig/config/pull/359\"\u003erubyconfig/config#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pda\"\u003e\u003ccode\u003e@​pda\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/360\"\u003erubyconfig/config#360\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rubyconfig/config/compare/5.4.0...5.5.0\"\u003ehttps://github.com/rubyconfig/config/compare/5.4.0...5.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e5.4.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd configuration option \u003ccode\u003eenvironment\u003c/code\u003e to override the use of \u003ccode\u003eRails.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003edry-validation\u003c/code\u003e from dependencies (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.2.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow to use custom filename \u0026amp;\u0026amp; directory name to store configs (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyconfig/config/blob/master/CHANGELOG.md\"\u003econfig's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(security): replace IO.read with File.read \u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/378\"\u003e#378\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eextra_sources\u003c/code\u003e in initializer (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix warning: ostruct was loaded from the standard library with Ruby 3.3.5 and 3.4+ (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/363\"\u003e#363\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.5.1\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix funding_url to funding_uri in gemspec (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/361\"\u003e#361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.5.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow arrays to be passed through env variables (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse funding_url rather than post_install_message (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/360\"\u003e#360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typos in the tests and documentation (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/359\"\u003e#359\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.4.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd configuration option \u003ccode\u003eenvironment\u003c/code\u003e to override the use of \u003ccode\u003eRails.env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/356\"\u003e#356\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003edry-validation\u003c/code\u003e from dependencies (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.2.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow to use custom filename \u0026amp;\u0026amp; directory name to store configs (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent name collision with private methods from ancestors (\u003ca href=\"https://redirect.github.com/rubyconfig/config/pull/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/8b6ffe6dcc91f52f06d5a1502333108d1c6033ca\"\u003e\u003ccode\u003e8b6ffe6\u003c/code\u003e\u003c/a\u003e release: 5.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/d639f9db7355195f1ea7d21ddae32f0c166759ae\"\u003e\u003ccode\u003ed639f9d\u003c/code\u003e\u003c/a\u003e ci: limit workflow permissions (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/379\"\u003e#379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/e0bf18fab4feed4f5413c6528c198009b36fa536\"\u003e\u003ccode\u003ee0bf18f\u003c/code\u003e\u003c/a\u003e fix(security): replace \u003ccode\u003eIO.read\u003c/code\u003e with \u003ccode\u003eFile.read\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/378\"\u003e#378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/263e66a4a70c053f1181f8f65d666d22a6f60b64\"\u003e\u003ccode\u003e263e66a\u003c/code\u003e\u003c/a\u003e test: bump puma in rails 5.2 test app to fix security warning (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/377\"\u003e#377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/c833d1964b0e10ae71ccc780bc46766baeb7e22e\"\u003e\u003ccode\u003ec833d19\u003c/code\u003e\u003c/a\u003e release: 5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/4dc0f3e6e945a6159f35630098f8de0311a6908a\"\u003e\u003ccode\u003e4dc0f3e\u003c/code\u003e\u003c/a\u003e ci: fix jruby rails \u0026gt;= 7.2 (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/376\"\u003e#376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/1f17cd8d6215cf38e702f58c0f701e813c7ce0ef\"\u003e\u003ccode\u003e1f17cd8\u003c/code\u003e\u003c/a\u003e feat: added extra sources in initializer (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/97b3e8cbf47f022a27ff4962c059b0fc139a1369\"\u003e\u003ccode\u003e97b3e8c\u003c/code\u003e\u003c/a\u003e ci: add rails 7.2 and 8.0 to the test matrix and bump some older dependencies...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/1b5581d23b47c81a233d61c28f0c6716d74d8f63\"\u003e\u003ccode\u003e1b5581d\u003c/code\u003e\u003c/a\u003e ci: add Ruby 3.4 to the test matrix (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/369\"\u003e#369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyconfig/config/commit/a4c978f4a64975fd609780541b2b243883217e4f\"\u003e\u003ccode\u003ea4c978f\u003c/code\u003e\u003c/a\u003e ci: remove unnecessary ubuntu packages installation (\u003ca href=\"https://redirect.github.com/rubyconfig/config/issues/374\"\u003e#374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyconfig/config/compare/4.1.0...5.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-apis-analyticsdata_v1beta` from 0.32.0 to 0.40.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-ruby-client/blob/main/generated/google-apis-analyticsdata_v1beta/CHANGELOG.md\"\u003egoogle-apis-analyticsdata_v1beta's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev0.40.0 (2025-05-04)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated using generator version 0.17.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.39.0 (2024-11-24)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20241117\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.38.0 (2024-09-01)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240825\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.37.0 (2024-08-04)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240731\u003c/li\u003e\n\u003cli\u003eRegenerated using generator version 0.15.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.36.0 (2024-05-19)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240512\u003c/li\u003e\n\u003cli\u003eRegenerated using generator version 0.15.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.35.0 (2024-02-24)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated using generator version 0.14.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.34.0 (2024-02-04)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated from discovery document revision 20240128\u003c/li\u003e\n\u003cli\u003eRegenerated using generator version 0.13.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev0.33.0 (2024-01-22)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRegenerated using generator version 0.13.0\u003c/li\u003e\n\u003c/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/googleapis/google-api-ruby-client/compare/0.32.0...0.40.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `googleauth` from 1.3.0 to 1.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/releases\"\u003egoogleauth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogleauth: v1.16.2\u003c/h2\u003e\n\u003ch3\u003e1.16.2 (2026-02-26)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003einitialize the JWT credentials without JSON roundtrip (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn response body from revoke! for logging pipeline (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.16.1\u003c/h2\u003e\n\u003ch3\u003e1.16.1 (2026-01-15)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003erestore support for JSON keys missing 'type' field (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.16.0\u003c/h2\u003e\n\u003ch3\u003e1.16.0 (2025-11-21)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ADC support for impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eInclude security warning in ExternalAccount and ImpersonatedServiceAccount credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.15.1\u003c/h2\u003e\n\u003ch3\u003e1.15.1 (2025-10-14)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate method make_creds in DefaultCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.15.0\u003c/h2\u003e\n\u003ch3\u003e1.15.0 (2025-08-25)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd typed errors to authentication library (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for JWT 3.x (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003efix incorrect error and apply some code complexity refactoring (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Pathname for cred loading (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDocumentation\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments\u003c/li\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogleauth: v1.14.0\u003c/h2\u003e\n\u003ch3\u003e1.14.0 (2025-03-14)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/blob/main/CHANGELOG.md\"\u003egoogleauth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e1.16.2 (2026-02-26)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003einitialize the JWT credentials without JSON roundtrip (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn response body from revoke! for logging pipeline (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.16.1 (2026-01-15)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003erestore support for JSON keys missing 'type' field (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.16.0 (2025-11-21)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ADC support for impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eInclude security warning in ExternalAccount and ImpersonatedServiceAccount credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/551\"\u003e#551\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.15.1 (2025-10-14)\u003c/h3\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate method make_creds in DefaultCredentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/545\"\u003e#545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.15.0 (2025-08-25)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd typed errors to authentication library (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for JWT 3.x (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003efix incorrect error and apply some code complexity refactoring (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Pathname for cred loading (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/537\"\u003e#537\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDocumentation\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments\u003c/li\u003e\n\u003cli\u003eadd summary documentation on credentials types and improve YARD comments (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e1.14.0 (2025-03-14)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eadd API key credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Bearer token credentials\u003c/li\u003e\n\u003cli\u003eadd BearerToken credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/522\"\u003e#522\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/googleapis/google-auth-library-ruby/commit/1ef191b1342c19736ebe7a5640bfb86a7d989c68\"\u003e\u003ccode\u003e1ef191b\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.16.2 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/565\"\u003e#565\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/fb5b7978d66b43465081a024aaf7ebc17354ed9d\"\u003e\u003ccode\u003efb5b797\u003c/code\u003e\u003c/a\u003e fix: return response body from revoke! for logging pipeline (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/b0ec7d8b1e7a722839a196cb7a56b9c6f43e8159\"\u003e\u003ccode\u003eb0ec7d8\u003c/code\u003e\u003c/a\u003e fix: initialize the JWT credentials without JSON roundtrip (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/5c4ab1cfc3517d5490633c878cb5136ca4da75e6\"\u003e\u003ccode\u003e5c4ab1c\u003c/code\u003e\u003c/a\u003e chore: replace old ruby teams with cloud-sdk-ruby-team (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/43ab9db5f237fb337cbd8d8db562f28cc2bfcff8\"\u003e\u003ccode\u003e43ab9db\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.16.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/d7193fc6364f099d8110271a65d474227573aa91\"\u003e\u003ccode\u003ed7193fc\u003c/code\u003e\u003c/a\u003e fix: restore support for JSON keys missing 'type' field (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/a59a1df96d4bf476d1fd96544b309ce4a6a70ec9\"\u003e\u003ccode\u003ea59a1df\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.16.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/317474db5f5889755f309704a9304d4fb86f06f6\"\u003e\u003ccode\u003e317474d\u003c/code\u003e\u003c/a\u003e fix: Include security warning in ExternalAccount and ImpersonatedServiceAccou...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/4c31b17f02d0f46c991418ab6f909383623d489c\"\u003e\u003ccode\u003e4c31b17\u003c/code\u003e\u003c/a\u003e feat: Add ADC support for impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/547\"\u003e#547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/commit/1c6724ffd2e7a9c8bf171f9858bcd334d03df98b\"\u003e\u003ccode\u003e1c6724f\u003c/code\u003e\u003c/a\u003e chore(main): release googleauth 1.15.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-ruby/issues/546\"\u003e#546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-ruby/compare/googleauth/v1.3.0...googleauth/v1.16.2\"\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.243.0 to 3.246.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.246.0 (2026-04-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated configuration values for \u003ccode\u003edefaults_mode\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.245.0 (2026-04-17)\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 - The STS client now supports configuring SigV4a through the auth scheme preference setting. SigV4a uses asymmetric cryptography, enabling customers using long-term IAM credentials to continue making STS API calls even when a region is isolated from the partition leader.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Explicitly set 0600 permissions on SSO/login cache files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.244.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Support waiter error matcher to handle both boolean and boolean-string acceptors.\u003c/li\u003e\n\u003c/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 `rspec-core` from 3.12.1 to 3.13.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rspec/rspec/blob/rspec-core-v3.13.6/rspec-core/Changelog.md\"\u003erspec-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e3.13.6 / 2025-10-19\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.4...rspec-core-v3.13.5\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd explicit block parameter to \u003ccode\u003eRSpec::World::Null.traverse_example_group_trees_until\u003c/code\u003e to\nprevent warning. (\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/240\"\u003erspec/rspec#240\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.5 / 2025-06-25\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.4...rspec-core-v3.13.5\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix finding failed lines from frozen backtrace arrays. (Jon Rowe, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/225\"\u003e#225\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.4 / 2025-05-27\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.3...rspec-core-v3.13.4\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug Fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix links in gemspec to point to the monorepo / homepage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.3 / 2025-02-06\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec/compare/rspec-core-v3.13.4...rspec-core-v3.13.3\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix reporter memorisation of \u003ccode\u003eExamplesNotification\u003c/code\u003e used in \u003ccode\u003eRSpec::Core::Reporter#finish\u003c/code\u003e\nby reusing an instance across notifcations. (Maxime Lapointe, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/172\"\u003erspec/rspec#172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memorisation of \u003ccode\u003eRSpec::Core::Example#location_rerun_argument\u003c/code\u003e.\n(Maxime Lapointe, \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/173\"\u003erspec/rspec#173\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.2 / 2024-10-18\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec-core/compare/v3.13.1...v3.13.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRSpec::Configuration#requires\u003c/code\u003e will reflect files already required, whilst requiring\nthem. (Jon Rowe, \u003ca href=\"https://redirect.github.com/rspec/rspec-core/issues/3117\"\u003erspec/rspec-core#3117\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.1 / 2024-09-02\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec-core/compare/v3.13.0...v3.13.1\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eBug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSort ids to run as the original order to fix \u003ccode\u003e--bisect\u003c/code\u003e. (Maki Kawahara, \u003ca href=\"https://redirect.github.com/rspec/rspec-core/issues/3093\"\u003erspec/rspec-core#3093\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3.13.0 / 2024-02-04\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"http://github.com/rspec/rspec-core/compare/v3.12.3...v3.13.0\"\u003eFull Changelog\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rspec/rspec/commits/rspec-core-v3.13.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `googleauth` from 1.3.0 to 1.16.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://...\n\n_Description has been truncated_","html_url":"https://github.com/dpla/dashboard-analytics/pull/306","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpla%2Fdashboard-analytics/issues/306","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/306/packages"}},{"old_version":"1.17.1","new_version":"1.17.4","update_type":"patch","path":null,"pr_created_at":"2026-04-27T22:23:39.000Z","version_change":"1.17.1 → 1.17.4","issue":{"uuid":"4339223808","node_id":"PR_kwDOAVIPGM7WIgwj","number":8356,"state":"open","title":"chore(deps): bump ffi from 1.17.1 to 1.17.4","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-27T22:23:39.000Z","updated_at":"2026-04-28T01:06:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"ffi","old_version":"1.17.1","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.1 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.1...v1.17.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Coursemology/coursemology2/pull/8356","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coursemology%2Fcoursemology2/issues/8356","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8356/packages"}},{"old_version":"1.17.3","new_version":"1.17.4","update_type":"patch","path":null,"pr_created_at":"2026-04-04T03:42:49.000Z","version_change":"1.17.3 → 1.17.4","issue":{"uuid":"4203330258","node_id":"PR_kwDOAAGm9s7P6jEr","number":15813,"state":"open","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["Type: Chore"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-04T03:42:49.000Z","updated_at":"2026-04-04T03:43:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/chef/chef/pull/15813","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef/issues/15813","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15813/packages"}},{"old_version":"1.17.3","new_version":"1.17.4","update_type":"patch","path":null,"pr_created_at":"2026-04-02T21:08:42.000Z","version_change":"1.17.3 → 1.17.4","issue":{"uuid":"4197000593","node_id":"PR_kwDOAHOAqs7PrCQH","number":39088,"state":"open","title":"DEPS: Bump ffi from 1.17.3 to 1.17.4","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-02T21:08:42.000Z","updated_at":"2026-04-02T21:09:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n- [Changelog](https://github.com/ffi/ffi/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4)","html_url":"https://github.com/discourse/discourse/pull/39088","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/discourse%2Fdiscourse/issues/39088","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39088/packages"}},{"old_version":"~\u003e 1.9, \u003c= 1.17.0","new_version":"~\u003e 1.9, \u003c= 1.18.0","update_type":"patch","path":null,"pr_created_at":"2026-04-01T12:46:23.000Z","version_change":"~\u003e 1.9, \u003c= 1.17.0 → ~\u003e 1.9, \u003c= 1.18.0","issue":{"uuid":"4186661538","node_id":"PR_kwDOAAGnAc7PP8OB","number":1933,"state":"open","title":"Update ffi requirement from ~\u003e 1.9, \u003c= 1.17.0 to ~\u003e 1.9, \u003c= 1.18.0","user":"dependabot[bot]","labels":["Type: Chore"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-01T12:46:23.000Z","updated_at":"2026-04-22T02:00:36.337Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"ffi","old_version":"~\u003e 1.9, \u003c= 1.17.0","new_version":"~\u003e 1.9, \u003c= 1.18.0","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Updates the requirements on [ffi](https://github.com/ffi/ffi) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/1.9.0...v1.17.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 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/chef/ohai/pull/1933","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fohai/issues/1933","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1933/packages"}},{"old_version":"1.17.3","new_version":"1.17.4","update_type":"patch","path":null,"pr_created_at":"2026-03-27T08:44:28.000Z","version_change":"1.17.3 → 1.17.4","issue":{"uuid":"4150691026","node_id":"PR_kwDOMl2ih87N-30-","number":601,"state":"closed","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-28T08:31:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T08:44:28.000Z","updated_at":"2026-03-28T08:31:31.000Z","time_to_close":85622,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/ecosyste-ms/funds/pull/601","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Ffunds/issues/601","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/601/packages"}},{"old_version":"1.16.3","new_version":"1.17.4","update_type":"minor","path":null,"pr_created_at":"2026-03-27T04:12:13.000Z","version_change":"1.16.3 → 1.17.4","issue":{"uuid":"4149132108","node_id":"PR_kwDOAnpU1c7N7wnx","number":7816,"state":"open","title":"Bump ffi from 1.16.3 to 1.17.4","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-03-27T04:12:13.000Z","updated_at":"2026-03-27T04:13:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.4)](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/inspec/inspec/pull/7816","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspec%2Finspec/issues/7816","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7816/packages"}},{"old_version":"1.16.3","new_version":"1.17.4","update_type":"minor","path":null,"pr_created_at":"2026-03-27T04:06:04.000Z","version_change":"1.16.3 → 1.17.4","issue":{"uuid":"4149101795","node_id":"PR_kwDOAnpU1c7N7sWg","number":7815,"state":"open","title":"Bump ffi from 1.16.3 to 1.17.4","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-03-27T04:06:04.000Z","updated_at":"2026-03-27T04:07:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.4)](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/inspec/inspec/pull/7815","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspec%2Finspec/issues/7815","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7815/packages"}},{"old_version":"1.17.3","new_version":"1.17.4","update_type":"patch","path":null,"pr_created_at":"2026-03-27T03:02:40.000Z","version_change":"1.17.3 → 1.17.4","issue":{"uuid":"4148823494","node_id":"PR_kwDODHAhHM7N7EeP","number":624,"state":"open","title":"chore(deps-dev): bump ffi from 1.17.3 to 1.17.4","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-03-27T03:02:40.000Z","updated_at":"2026-03-27T03:04:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/irasutoya-tools/irasutoya-cli/pull/624","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/irasutoya-tools%2Firasutoya-cli/issues/624","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/624/packages"}},{"old_version":"1.17.3","new_version":"1.17.4","update_type":"patch","path":null,"pr_created_at":"2026-03-27T00:34:07.000Z","version_change":"1.17.3 → 1.17.4","issue":{"uuid":"4148220954","node_id":"PR_kwDONUIgq87N5etj","number":365,"state":"closed","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-28T08:16:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T00:34:07.000Z","updated_at":"2026-03-28T08:16:55.000Z","time_to_close":114167,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/ecosyste-ms/sponsors/pull/365","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Fsponsors/issues/365","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/365/packages"}},{"old_version":"1.17.3","new_version":"1.17.4","update_type":"patch","path":null,"pr_created_at":"2026-03-26T18:53:42.000Z","version_change":"1.17.3 → 1.17.4","issue":{"uuid":"4146560184","node_id":"PR_kwDOHR75ps7N09Pq","number":767,"state":"closed","title":"Bump ffi from 1.17.3 to 1.17.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-28T08:09:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T18:53:42.000Z","updated_at":"2026-03-28T08:09:41.000Z","time_to_close":134157,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.17.3","new_version":"1.17.4","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.3 to 1.17.4.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.4 / 2026-03-26\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix union by-value ABI mismatch with float and double types on ARM64 and X86_64.\nSee \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eExclude libffi files, which are unnecessary. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1176\"\u003e#1176\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/ffi/ffi/commit/949809c4dafcc157769bd6126cfe6921ab0ba618\"\u003e\u003ccode\u003e949809c\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.17.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/92717750c2e1aa8e3517e5d3d59b31602697e86f\"\u003e\u003ccode\u003e9271775\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1178\"\u003e#1178\u003c/a\u003e from cfis/fix-union-arm64-abi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/37438392021681ac0da2a1412937746c413f089d\"\u003e\u003ccode\u003e3743839\u003c/code\u003e\u003c/a\u003e Skip failing specs on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/7078a4ebd13d66d29512056f43f7702ad034d864\"\u003e\u003ccode\u003e7078a4e\u003c/code\u003e\u003c/a\u003e Fix MSVC build.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/93a85caf1bc2bfb0bc8f5a22689a9758b5a59442\"\u003e\u003ccode\u003e93a85ca\u003c/code\u003e\u003c/a\u003e Move union-by-value argument tests to the section excluded by Truffleruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b0c95a9356ca9180d25f65e0054e367de5914f06\"\u003e\u003ccode\u003eb0c95a9\u003c/code\u003e\u003c/a\u003e Correctly handle unions with mixed floating point types.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/5348a51c6da4dd3fa1781be4b44486b1a2fa3ef6\"\u003e\u003ccode\u003e5348a51\u003c/code\u003e\u003c/a\u003e Simplify the union type selection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/dd15f68f346b5e7883b8df9014c5b3dcec10cc10\"\u003e\u003ccode\u003edd15f68\u003c/code\u003e\u003c/a\u003e Extend the union tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/372045ecff01974dc81c4943157eea3334e89827\"\u003e\u003ccode\u003e372045e\u003c/code\u003e\u003c/a\u003e Fix union by-value ABI mismatch on ARM64. See \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1177\"\u003e#1177\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/60dbd77d90070fd55eed596aab045c2df0813499\"\u003e\u003ccode\u003e60dbd77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1180\"\u003e#1180\u003c/a\u003e from ffi/add-more-arm64\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.17.3...v1.17.4\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.17.3\u0026new-version=1.17.4)](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/ecosyste-ms/archives/pull/767","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Farchives/issues/767","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/767/packages"}},{"old_version":"1.17.2","new_version":"1.17.3","update_type":"patch","path":null,"pr_created_at":"2026-03-10T23:38:31.000Z","version_change":"1.17.2 → 1.17.3","issue":{"uuid":"4054787709","node_id":"PR_kwDORjvLT87JiTxg","number":52,"state":"open","title":"DEPS: Bump ffi from 1.17.2 to 1.17.3","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-03-10T23:38:31.000Z","updated_at":"2026-03-11T03:29:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","packages":[{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.17.2 to 1.17.3.\n- [Changelog](https://github.com/ffi/ffi/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/ffi/ffi/compare/v1.17.2...v1.17.3)","html_url":"https://github.com/DFarynski99/discourse/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DFarynski99%2Fdiscourse/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}},{"old_version":"1.9.8","new_version":"1.9.24","update_type":"patch","path":null,"pr_created_at":"2026-02-17T16:24:23.000Z","version_change":"1.9.8 → 1.9.24","issue":{"uuid":"3953602602","node_id":"PR_kwDOAFgVPs7EZv1m","number":986,"state":"closed","title":"Bump the bundler group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-22T22:49:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-17T16:24:23.000Z","updated_at":"2026-02-22T22:49:26.000Z","time_to_close":455101,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":3,"packages":[{"name":"json","old_version":"1.8.2","new_version":"2.3.0","repository_url":"https://github.com/ruby/json"},{"name":"ffi","old_version":"1.9.8","new_version":"1.9.24","repository_url":"https://github.com/ffi/ffi"},{"name":"rack","old_version":"1.6.0","new_version":"2.2.22","repository_url":"https://github.com/rack/rack"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 3 updates in the / directory: [json](https://github.com/ruby/json), [ffi](https://github.com/ffi/ffi) and [rack](https://github.com/rack/rack).\n\nUpdates `json` from 1.8.2 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/json/releases\"\u003ejson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eREADME: Docs at rubydoc.info, not on rubyforge by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/376\"\u003eflori/json#376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove RubyForge homepage reference by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/378\"\u003eflori/json#378\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ascii_only option to JSON::Ext::Generator::State.new. by \u003ca href=\"https://github.com/sho-h\"\u003e\u003ccode\u003e@​sho-h\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/367\"\u003eflori/json#367\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGemspec: Drop EOL'd property rubyforge_project by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/381\"\u003eflori/json#381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport ruby core changes by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/388\"\u003eflori/json#388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMinor cleanup for ruby 2.7 warnings and failures. by \u003ca href=\"https://github.com/zenspider\"\u003e\u003ccode\u003e@​zenspider\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/389\"\u003eflori/json#389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelax test-unit version for old ruby by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/390\"\u003eflori/json#390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump versions for 2.3.0. by \u003ca href=\"https://github.com/headius\"\u003e\u003ccode\u003e@​headius\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/391\"\u003eflori/json#391\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/zenspider\"\u003e\u003ccode\u003e@​zenspider\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/389\"\u003eflori/json#389\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flori/json/compare/v2.2.0...v2.3.0\"\u003ehttps://github.com/flori/json/compare/v2.2.0...v2.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed json_create example to use create_additions = true by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/331\"\u003eflori/json#331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: Fixed code examples to start in the left-most column by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/330\"\u003eflori/json#330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded missing bigdecimal for its test by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/335\"\u003eflori/json#335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: Added note about json/add/exception by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/332\"\u003eflori/json#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix link in travis widget by \u003ca href=\"https://github.com/lostapathy\"\u003e\u003ccode\u003e@​lostapathy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/340\"\u003eflori/json#340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[CI] Test against Ruby 2.5 by \u003ca href=\"https://github.com/nicolasleger\"\u003e\u003ccode\u003e@​nicolasleger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/352\"\u003eflori/json#352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved control characters from gemspec. by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/360\"\u003eflori/json#360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in README.md by \u003ca href=\"https://github.com/yui-knk\"\u003e\u003ccode\u003e@​yui-knk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/363\"\u003eflori/json#363\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport from Ruby core repository by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/359\"\u003eflori/json#359\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for bigdecimal updates by \u003ca href=\"https://github.com/mrkn\"\u003e\u003ccode\u003e@​mrkn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/362\"\u003eflori/json#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix a typo. by \u003ca href=\"https://github.com/sho-h\"\u003e\u003ccode\u003e@​sho-h\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/369\"\u003eflori/json#369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix JSON::Generator::State#ascii_only? document same as lib/json/pure/generator.rb. by \u003ca href=\"https://github.com/sho-h\"\u003e\u003ccode\u003e@​sho-h\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/366\"\u003eflori/json#366\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/lostapathy\"\u003e\u003ccode\u003e@​lostapathy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/340\"\u003eflori/json#340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nicolasleger\"\u003e\u003ccode\u003e@​nicolasleger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/352\"\u003eflori/json#352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yui-knk\"\u003e\u003ccode\u003e@​yui-knk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/363\"\u003eflori/json#363\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flori/json/compare/v2.1.0...v2.2.0\"\u003ehttps://github.com/flori/json/compare/v2.1.0...v2.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eREADME.md typo fix by \u003ca href=\"https://github.com/kaworu\"\u003e\u003ccode\u003e@​kaworu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/300\"\u003eflori/json#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect documentation of OpenStruct.json_create by \u003ca href=\"https://github.com/kyanagi\"\u003e\u003ccode\u003e@​kyanagi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/301\"\u003eflori/json#301\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNo Bignum by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/302\"\u003eflori/json#302\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGES.md: Fixed typo by \u003ca href=\"https://github.com/perlun\"\u003e\u003ccode\u003e@​perlun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/306\"\u003eflori/json#306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActually test BigDecimal parsing. by \u003ca href=\"https://github.com/xb\"\u003e\u003ccode\u003e@​xb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/321\"\u003eflori/json#321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBack-out change of directory of json-java.gemspec. by \u003ca href=\"https://github.com/xb\"\u003e\u003ccode\u003e@​xb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/flori/json/pull/323\"\u003eflori/json#323\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/kaworu\"\u003e\u003ccode\u003e@​kaworu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/300\"\u003eflori/json#300\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kyanagi\"\u003e\u003ccode\u003e@​kyanagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flori/json/pull/301\"\u003eflori/json#301\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/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2019-12-11 (2.3.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix default of \u003ccode\u003ecreate_additions\u003c/code\u003e to always be \u003ccode\u003efalse\u003c/code\u003e for \u003ccode\u003eJSON(user_input)\u003c/code\u003e\nand \u003ccode\u003eJSON.parse(user_input, nil)\u003c/code\u003e.\nNote that \u003ccode\u003eJSON.load\u003c/code\u003e remains with default \u003ccode\u003etrue\u003c/code\u003e and is meant for internal\nserialization of trusted data. [CVE-2020-10663]\u003c/li\u003e\n\u003cli\u003eFix passing args all #to_json in json/add/*.\u003c/li\u003e\n\u003cli\u003eFix encoding issues\u003c/li\u003e\n\u003cli\u003eFix issues of keyword vs positional parameter\u003c/li\u003e\n\u003cli\u003eFix JSON::Parser against bigdecimal updates\u003c/li\u003e\n\u003cli\u003eBug fixes to JRuby port\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2019-02-21 (2.2.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for 2.6 BigDecimal and ruby standard library Set datetype.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2017-04-18 (2.1.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow passing of \u003ccode\u003edecimal_class\u003c/code\u003e option to specify a class as which to parse\nJSON float numbers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2017-03-23 (2.0.4)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRaise exception for incomplete unicode surrogates/character escape\nsequences. This problem was reported by Daniel Gollahon (dgollahon).\u003c/li\u003e\n\u003cli\u003eFix arbitrary heap exposure problem. This problem was reported by Ahmad\nSherif (ahmadsherif).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2017-01-12 (2.0.3)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003erequired_ruby_version\u003c/code\u003e to 1.9\u003c/li\u003e\n\u003cli\u003eSome small fixes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2016-07-26 (2.0.2)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify \u003ccode\u003erequired_ruby_version\u003c/code\u003e for json_pure.\u003c/li\u003e\n\u003cli\u003eFix issue \u003ca href=\"https://redirect.github.com/ruby/json/issues/295\"\u003e#295\u003c/a\u003e failure when parsing frozen strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2016-07-01 (2.0.1)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix problem when requiring json_pure and Parser constant was defined top\nlevel.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRB_GC_GUARD\u003c/code\u003e to avoid possible GC problem via Pete Johns.\u003c/li\u003e\n\u003cli\u003eStore \u003ccode\u003ecurrent_nesting\u003c/code\u003e on stack by Aaron Patterson.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2015-09-11 (2.0.0)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNow complies to newest JSON RFC 7159.\u003c/li\u003e\n\u003cli\u003eImplements compatibility to ruby 2.4 integer unification.\u003c/li\u003e\n\u003cli\u003eRemoved support for \u003ccode\u003equirks_mode\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eDrops support for old rubies whose life has ended, that is rubies \u0026lt; 2.0.\nAlso see \u003ca href=\"https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/\"\u003ehttps://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThere were still some mentions of dual GPL licensing in the source, but JSON\nhas just the Ruby license that itself includes an explicit dual-licensing\nclause that allows covered software to be distributed under the terms of\nthe Simplified BSD License instead for all ruby versions \u0026gt;= 1.9.3. This is\nhowever a GPL compatible license according to the Free Software Foundation.\nI changed these mentions to be consistent with the Ruby license setting in\nthe gemspec files which were already correct now.\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/json/commit/92cf5c451a6ec0f3a00e291eb909e57cf38fbea4\"\u003e\u003ccode\u003e92cf5c4\u003c/code\u003e\u003c/a\u003e v2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/579ae85676f8a41c62ce9d2230db969ead9707bb\"\u003e\u003ccode\u003e579ae85\u003c/code\u003e\u003c/a\u003e Add some more recent jruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/acabfebf14361090af1771ecc3c22b8dcb740421\"\u003e\u003ccode\u003eacabfeb\u003c/code\u003e\u003c/a\u003e Make tests green on jruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/c194360ac2677fec94b05d9507e9e54871940335\"\u003e\u003ccode\u003ec194360\u003c/code\u003e\u003c/a\u003e Update travis config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/49317c1328fc08e6bd146164e7ef16c7cde84e0f\"\u003e\u003ccode\u003e49317c1\u003c/code\u003e\u003c/a\u003e Ignore log files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d84439f522ec37119b115009d3779fed6e0fa842\"\u003e\u003ccode\u003ed84439f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/391\"\u003e#391\u003c/a\u003e from headius/prep_2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/38f68d1e05174fa466dcabbc924d2098f0d8b824\"\u003e\u003ccode\u003e38f68d1\u003c/code\u003e\u003c/a\u003e Bump versions for 2.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/40524a99868ea6f29daf876c09ac539ab5b24f82\"\u003e\u003ccode\u003e40524a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/390\"\u003e#390\u003c/a\u003e from flori/relax-test-unit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/87379e694a103e0db18c1c8f652b0112d8239ebf\"\u003e\u003ccode\u003e87379e6\u003c/code\u003e\u003c/a\u003e relax test-unit version for old ruby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/05de02f4e2813e87280a408596ccc912decb277c\"\u003e\u003ccode\u003e05de02f\u003c/code\u003e\u003c/a\u003e Merge branch 'zenspider-zenspider/ruby-2.7'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v1.8.2...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ffi` from 1.9.8 to 1.9.24\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.9.24 / 2018-06-02\u003c/h2\u003e\n\u003cp\u003eSecurity Note:\u003c/p\u003e\n\u003cp\u003eThis update addresses vulnerability CVE-2018-1000201: DLL loading issue which can be hijacked on Windows OS, when a Symbol is used as DLL name instead of a String. Found by Matthew Bush.\u003c/p\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a CHANGELOG file\u003c/li\u003e\n\u003cli\u003eAdd mips64(eb) support, and mips r6 support. (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/601\"\u003e#601\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate libffi to latest changes on master.\u003c/li\u003e\n\u003cli\u003eDon't search in hardcoded /usr paths on Windows.\u003c/li\u003e\n\u003cli\u003eDon't treat Symbol args different to Strings in ffi_lib.\u003c/li\u003e\n\u003cli\u003eMake sure size_t is defined in Thread.c. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/609\"\u003e#609\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.23 / 2018-02-25\u003c/h2\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix unnecessary rebuild of configure in darwin multi arch. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/605\"\u003e#605\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.22 / 2018-02-22\u003c/h2\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate libffi to latest changes on master.\u003c/li\u003e\n\u003cli\u003eUpdate detection of system libffi to match new requirements. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer bundled libffi over system libffi on Mac OS.\u003c/li\u003e\n\u003cli\u003eDo closures via libffi. This removes ClosurePool and fixes compat with PaX. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/540\"\u003e#540\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse a more deterministic gem packaging.\u003c/li\u003e\n\u003cli\u003eFix unnecessary update of autoconf files at gem install.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.9.21 / 2018-02-06\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRuby-2.5 support by Windows binary gems. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/598\"\u003e#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing win64 types.\u003c/li\u003e\n\u003cli\u003eAdded support for Bitmask. (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for MSYS2 (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/572\"\u003e#572\u003c/a\u003e) and Sparc64 Linux. (\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanged:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix read_string to not throw an error on length 0.\u003c/li\u003e\n\u003cli\u003eDon't use absolute paths for sh and env. Fixes usage on Adroid \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/528\"\u003e#528\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse Ruby implementation for \u003ccode\u003ewhich\u003c/code\u003e for better compat with Windows. Fixes \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/315\"\u003e#315\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/ffi/ffi/commit/4e1051a5b8131547db333455dc4fc6a39e04491a\"\u003e\u003ccode\u003e4e1051a\u003c/code\u003e\u003c/a\u003e Run rspec with dots output only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/e70b13d6ef20351541649532d6705bac0acec170\"\u003e\u003ccode\u003ee70b13d\u003c/code\u003e\u003c/a\u003e Fix integer parameter range specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/55ae232232696b81e1d36807e2f44c262a649c48\"\u003e\u003ccode\u003e55ae232\u003c/code\u003e\u003c/a\u003e Fix several specs where raise_error was called without class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/8821d4f4cb9b4cc622bf5627d9f9d150ca19af64\"\u003e\u003ccode\u003e8821d4f\u003c/code\u003e\u003c/a\u003e Specify error class for several raise_error calls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/bf48d44f9572e54f6e5e8adda2c375a0002b779b\"\u003e\u003ccode\u003ebf48d44\u003c/code\u003e\u003c/a\u003e Fix missing C declarations causing compiler warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/f56978849d828025c097236eb6a1ddc258361785\"\u003e\u003ccode\u003ef569788\u003c/code\u003e\u003c/a\u003e Replace symlinks for mips r6 with plain files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/fedbae01b1c0906e97c2f7795bfbb09d020d7903\"\u003e\u003ccode\u003efedbae0\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/a4d4d19d6e689697279fdc095efbfe2b1e9a975b\"\u003e\u003ccode\u003ea4d4d19\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:ffi/ffi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/45d8803bf827be4b44f1f91a1bd7623442beae6d\"\u003e\u003ccode\u003e45d8803\u003c/code\u003e\u003c/a\u003e Add a CHANGELOG file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/2ff1d8f01768e24176b6fc513c60e1c1b1795ae6\"\u003e\u003ccode\u003e2ff1d8f\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.9.24\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/1.9.8...1.9.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 1.6.0 to 2.2.22\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\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/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\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/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev2.1.4.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.1.4.3...v2.1.4.4\"\u003ehttps://github.com/rack/rack/compare/v2.1.4.3...v2.1.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.9.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.0.9.3...v2.0.9.4\"\u003ehttps://github.com/rack/rack/compare/v2.0.9.3...v2.0.9.4\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/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file. For info on how to format all future additions to this file please reference \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003eKeep A Changelog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUnreleased\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-whrj-4476-wvmp\"\u003eCVE-2026-25500\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-mxw3-3hh2-x2mh\"\u003eCVE-2026-22860\u003c/a\u003e Directory traversal via root prefix bypass in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSPEC Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDefine \u003ccode\u003erack.response_finished\u003c/code\u003e callback arguments more strictly. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2365\"\u003e#2365\u003c/a\u003e, \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eRack::Files#assign_headers\u003c/code\u003e to allow overriding how the configured file headers are set. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2377\"\u003e#2377\u003c/a\u003e, \u003ca href=\"https://github.com/codergeek121\"\u003e\u003ccode\u003e@​codergeek121\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003erack.response_finished\u003c/code\u003e to \u003ccode\u003eRack::TempfileReaper\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2363\"\u003e#2363\u003c/a\u003e, \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for streaming bodies when using \u003ccode\u003eRack::Events\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/rack/rack/blob/main/redirect.github.com/rack/rack/pull/2375\"\u003e#2375\u003c/a\u003e, \u003ca href=\"https://github.com/unflxw\"\u003e\u003ccode\u003e@​unflxw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003edeflaters\u003c/code\u003e option to \u003ccode\u003eRack::Deflater\u003c/code\u003e to enable custom compression algorithms like zstd. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2168\"\u003e#2168\u003c/a\u003e, \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eRack::Request#prefetch?\u003c/code\u003e for identifying requests with \u003ccode\u003eSec-Purpose: prefetch\u003c/code\u003e header set. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2405\"\u003e#2405\u003c/a\u003e, \u003ca href=\"https://github.com/glaszig\"\u003e\u003ccode\u003e@​glaszig\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003erack.request.trusted_proxy\u003c/code\u003e environment key to indicate whether the request is coming from a trusted proxy.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRaise before exceeding a part limit, not after. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2362\"\u003e#2362\u003c/a\u003e, \u003ca href=\"https://github.com/matthew-puku\"\u003e\u003ccode\u003e@​matthew-puku\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRack::Deflater now uses a fixed GZip mtime value. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2372\"\u003e#2372\u003c/a\u003e, \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMultipart parser drops support for RFC 2231 \u003ccode\u003efilename*\u003c/code\u003e parameter (prohibited by RFC 7578) and now properly handles UTF-8 encoded filenames via percent-encoding and direct UTF-8 bytes. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2398\"\u003e#2398\u003c/a\u003e, \u003ca href=\"https://github.com/wtn\"\u003e\u003ccode\u003e@​wtn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe query parser now raises \u003ccode\u003eRack::QueryParser::IncompatibleEncodingError\u003c/code\u003e if we try to parse params that are not ASCII compatible. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2416\"\u003e#2416\u003c/a\u003e, \u003ca href=\"https://github.com/bquorning\"\u003e\u003ccode\u003e@​bquorning\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eRack::MockResponse#body\u003c/code\u003e when the body is a Proc. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2420\"\u003e#2420\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2423\"\u003e#2423\u003c/a\u003e, \u003ca href=\"https://github.com/tavianator\"\u003e\u003ccode\u003e@​tavianator\u003c/code\u003e\u003c/a\u003e, [\u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.4] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.3] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\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/rack/rack/commit/0cc2e00b22dffc33955ef912569f01e515a406e1\"\u003e\u003ccode\u003e0cc2e00\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/a5725c031b2717758851f1eadd9b9dfe7555745a\"\u003e\u003ccode\u003ea5725c0\u003c/code\u003e\u003c/a\u003e Prevent directory traversal via root prefix bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/175e7d206b8ff2bce4d98d7ba429adf73c674bfb\"\u003e\u003ccode\u003e175e7d2\u003c/code\u003e\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/3472037aacef99319a62c9e9109b81efc5ba1294\"\u003e\u003ccode\u003e3472037\u003c/code\u003e\u003c/a\u003e Fix changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/851dc02672eca361a48e5a097818aa3cec1d3206\"\u003e\u003ccode\u003e851dc02\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/1e6aeda3d08a5cefd9cf3be4bbef304c2b75aa9c\"\u003e\u003ccode\u003e1e6aeda\u003c/code\u003e\u003c/a\u003e Allow Multipart head to span read boundary. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2392\"\u003e#2392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/6ef591522bb44f80654ad1a80654ba46cafdc7c1\"\u003e\u003ccode\u003e6ef5915\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4e2c903991a790ee211a3021808ff4fd6fe82881\"\u003e\u003ccode\u003e4e2c903\u003c/code\u003e\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fba2c8bc63eb787ff4b19bc612d315fda6126d85\"\u003e\u003ccode\u003efba2c8b\u003c/code\u003e\u003c/a\u003e Improper handling of proxy headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ed3d8340d1a7955332b51e74c1075ef3547c09dd\"\u003e\u003ccode\u003eed3d834\u003c/code\u003e\u003c/a\u003e Normalize adivsories links.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/1.6.0...v2.2.22\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/openaustralia/righttoknow/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/openaustralia/righttoknow/pull/986","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/openaustralia%2Frighttoknow/issues/986","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/986/packages"}},{"old_version":"1.9.21","new_version":"1.17.3","update_type":"minor","path":"/ruby-webapp","pr_created_at":"2026-02-10T11:41:15.000Z","version_change":"1.9.21 → 1.17.3","issue":{"uuid":"3920983587","node_id":"PR_kwDORMwnc87Ct551","number":5,"state":"closed","title":"chore(deps): update ffi requirement from 1.9.21 to 1.17.3 in /ruby-webapp","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-02T01:06:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-10T11:41:15.000Z","updated_at":"2026-04-02T01:06:45.000Z","time_to_close":4368328,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"ffi","old_version":"1.9.21","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":"/ruby-webapp","ecosystem":"rubygems"},"body":"Updates the requirements on [ffi](https://github.com/ffi/ffi) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/1.9.21...v1.17.3\"\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 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/my-mona-org/my-insecure-repo/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/my-mona-org%2Fmy-insecure-repo/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"1.17.2","new_version":"1.17.3","update_type":"patch","path":null,"pr_created_at":"2026-02-09T06:15:53.000Z","version_change":"1.17.2 → 1.17.3","issue":{"uuid":"3914661697","node_id":"PR_kwDOPbtPw87CZI5U","number":197,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 45 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-16T06:07:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-09T06:15:53.000Z","updated_at":"2026-02-16T06:07:32.000Z","time_to_close":604297,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":45,"packages":[{"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":"turbo-rails","old_version":"2.0.20","new_version":"2.0.23","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"httparty","old_version":"0.23.2","new_version":"0.24.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"bcrypt","old_version":"3.1.20","new_version":"3.1.21","repository_url":"https://github.com/bcrypt-ruby/bcrypt-ruby"},{"name":"bootsnap","old_version":"1.19.0","new_version":"1.22.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"kamal","old_version":"2.9.0","new_version":"2.10.1","repository_url":"https://github.com/basecamp/kamal"},{"name":"thruster","old_version":"0.1.16","new_version":"0.1.18","repository_url":"https://github.com/basecamp/thruster"},{"name":"sidekiq","old_version":"8.0.10","new_version":"8.1.0","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"connection_pool","old_version":"2.5.5","new_version":"3.0.2","repository_url":"https://github.com/mperham/connection_pool"},{"name":"pdf-reader","old_version":"2.15.0","new_version":"2.15.1","repository_url":"https://github.com/yob/pdf-reader"},{"name":"rails_icons","old_version":"1.5.1","new_version":"1.6.1","repository_url":"https://github.com/Rails-Designer/rails_icons"},{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"brakeman","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"faker","old_version":"3.5.3","new_version":"3.6.0","repository_url":"https://github.com/faker-ruby/faker"},{"name":"selenium-webdriver","old_version":"4.39.0","new_version":"4.40.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"faraday","old_version":"2.14.0","new_version":"2.14.1","repository_url":"https://github.com/lostisland/faraday"},{"name":"ffi","old_version":"1.17.2","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"},{"name":"hashie","old_version":"5.0.0","new_version":"5.1.0","repository_url":"https://github.com/hashie/hashie"},{"name":"json-schema","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/voxpupuli/json-schema"},{"name":"parser","old_version":"3.3.10.0","new_version":"3.3.10.1","repository_url":"https://github.com/whitequark/parser"},{"name":"rspec-support","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"rubocop","old_version":"1.81.7","new_version":"1.84.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-rails","old_version":"2.34.2","new_version":"2.34.3","repository_url":"https://github.com/rubocop/rubocop-rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\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| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.20` | `2.0.23` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.23.2` | `0.24.2` |\n| [bcrypt](https://github.com/bcrypt-ruby/bcrypt-ruby) | `3.1.20` | `3.1.21` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.19.0` | `1.22.0` |\n| [kamal](https://github.com/basecamp/kamal) | `2.9.0` | `2.10.1` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.16` | `0.1.18` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.10` | `8.1.0` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.5` | `3.0.2` |\n| [pdf-reader](https://github.com/yob/pdf-reader) | `2.15.0` | `2.15.1` |\n| [rails_icons](https://github.com/Rails-Designer/rails_icons) | `1.5.1` | `1.6.1` |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `8.0.1` | `8.0.2` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.3` | `3.6.0` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.39.0` | `4.40.0` |\n| [faraday](https://github.com/lostisland/faraday) | `2.14.0` | `2.14.1` |\n| [ffi](https://github.com/ffi/ffi) | `1.17.2` | `1.17.3` |\n| [hashie](https://github.com/hashie/hashie) | `5.0.0` | `5.1.0` |\n| [json-schema](https://github.com/voxpupuli/json-schema) | `6.0.0` | `6.1.0` |\n| [parser](https://github.com/whitequark/parser) | `3.3.10.0` | `3.3.10.1` |\n| [rspec-support](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.81.7` | `1.84.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.34.2` | `2.34.3` |\n\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 `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 `turbo-rails` from 2.0.20 to 2.0.23\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.23\u003c/h2\u003e\n\u003cp\u003eUpdates the bundled JS to freshen stale dependencies from the previous release.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.22...v2.0.23\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.22\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdates the bundled JS to \u003ca href=\"https://github.com/hotwired/turbo/compare/v8.0.21...v8.0.22\"\u003ev8.0.22\u003c/a\u003e for renamed \u003ccode\u003esession.navigator\u003c/code\u003e to avoid clobbering \u003ccode\u003ewindow.navigator\u003c/code\u003e. See \u003ca href=\"https://redirect.github.com/hotwired/turbo/pull/1489\"\u003ehotwired/turbo#1489\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.21...v2.0.22\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003erails@8.1\u003c/code\u003e to the CI matrix by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/758\"\u003ehotwired/turbo-rails#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse an immediate debouncer for tests by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude hidden elements for turbo-cable-stream-source selector by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/740\"\u003ehotwired/turbo-rails#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI for \u003ccode\u003eruby@3.2.x\u003c/code\u003e-\u003ccode\u003erails@7.2.x\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/764\"\u003ehotwired/turbo-rails#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd turbo frame assertion test helpers by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/742\"\u003ehotwired/turbo-rails#742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAcccept meta tag string arguments as well by \u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[fix \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/762\"\u003e#762\u003c/a\u003e] Forward broadcast_refresh_to options by \u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Model Class in Action and Frame helpers by \u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove legacy workaround for Rails \u0026lt; 7 by \u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix debouncer tests to wait on correct debouncer by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/767\"\u003ehotwired/turbo-rails#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestrict tests to \u003ccode\u003eminitest \u0026lt; 6\u003c/code\u003e by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/774\"\u003ehotwired/turbo-rails#774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e by \u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect broadcast suppressions on before/after actions by \u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\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/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/761\"\u003ehotwired/turbo-rails#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/frenkel\"\u003e\u003ccode\u003e@​frenkel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/754\"\u003ehotwired/turbo-rails#754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/OutlawAndy\"\u003e\u003ccode\u003e@​OutlawAndy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/763\"\u003ehotwired/turbo-rails#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/afrase\"\u003e\u003ccode\u003e@​afrase\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/597\"\u003ehotwired/turbo-rails#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/drjayvee\"\u003e\u003ccode\u003e@​drjayvee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/766\"\u003ehotwired/turbo-rails#766\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Vivalldi\"\u003e\u003ccode\u003e@​Vivalldi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/736\"\u003ehotwired/turbo-rails#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stowersjoshua\"\u003e\u003ccode\u003e@​stowersjoshua\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/770\"\u003ehotwired/turbo-rails#770\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.21\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/hotwired/turbo-rails/commit/435135b26a4b62e49d2f55bb4b1fd419e3bfb228\"\u003e\u003ccode\u003e435135b\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/22701f1fa326fc936b878c47b6f3d42ebef727ed\"\u003e\u003ccode\u003e22701f1\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/27030b956b107e864258aff0c48c2ed7a36ef3fc\"\u003e\u003ccode\u003e27030b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/52cde052aa00c6f7b0ce8cd10d2fefdcbe1e3255\"\u003e\u003ccode\u003e52cde05\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e511fb28c464ea9f3b3ddec3c1250d2b2c4b5313\"\u003e\u003ccode\u003ee511fb2\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/99dc9c5445166f0335d0a2fc15da3e7969fc913a\"\u003e\u003ccode\u003e99dc9c5\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/c2cd99fae9440aee6c1c836578c6dbf6067f7ee0\"\u003e\u003ccode\u003ec2cd99f\u003c/code\u003e\u003c/a\u003e v8.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/31c78af6c1d16070bbb25b68402a2c700a386c1a\"\u003e\u003ccode\u003e31c78af\u003c/code\u003e\u003c/a\u003e Respect broadcast suppressions on before/after actions (\u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/770\"\u003e#770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/16f76133cbef0cfec65a3c8693d795670fb725ac\"\u003e\u003ccode\u003e16f7613\u003c/code\u003e\u003c/a\u003e Only return messages produced by block in \u003ccode\u003ecapture_turbo_stream_broadcasts\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/dda27a8b903a27958fd2e4086babcfbaba648a94\"\u003e\u003ccode\u003edda27a8\u003c/code\u003e\u003c/a\u003e Restrict tests to \u003ccode\u003eminitest\u0026lt;6\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.20...v2.0.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.23.2 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\u003ch2\u003ev0.24.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eForce binary encoding throughout by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/823\"\u003ejnunemaker/httparty#823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eset Content-Type for Hash body in requests by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/828\"\u003ejnunemaker/httparty#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: stream multipart file uploads to reduce memory usage by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/829\"\u003ejnunemaker/httparty#829\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: prevent SSRF via absolute URL bypassing base_uri by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/830\"\u003ejnunemaker/httparty#830\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.23.2...v0.24.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.2...v0.24.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/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\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/55ec76e8d1df7903eab3f7c2367991400d3cf65e\"\u003e\u003ccode\u003e55ec76e\u003c/code\u003e\u003c/a\u003e Release 0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/ddfbc8ddfca03d4f4026b01763ee906071ca558b\"\u003e\u003ccode\u003eddfbc8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/830\"\u003e#830\u003c/a\u003e from jnunemaker/fix-ssrf-base-uri-bypass\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/0529bcd6309c9fd9bfdd50ae211843b10054c240\"\u003e\u003ccode\u003e0529bcd\u003c/code\u003e\u003c/a\u003e fix: prevent SSRF via absolute URL bypassing base_uri (GHSA-hm5p-x4rq-38w4)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/05f38fd35d8088b9770513c2eaecce671f0940ec\"\u003e\u003ccode\u003e05f38fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/issues/829\"\u003e#829\u003c/a\u003e from jnunemaker/memory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/8901c238c00d0aca8920271314c4c5d7dd2701fb\"\u003e\u003ccode\u003e8901c23\u003c/code\u003e\u003c/a\u003e feat: stream multipart file uploads to reduce memory usage\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.2...v0.24.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bcrypt` from 3.1.20 to 3.1.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/releases\"\u003ebcrypt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.21\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProvide a 'Changelog' link on rubygems.org/gems/bcrypt by \u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/274\"\u003ebcrypt-ruby/bcrypt-ruby#274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport ruby 3.3 and 3.4.0-preview1 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/bcrypt-ruby/bcrypt-ruby/pull/276\"\u003ebcrypt-ruby/bcrypt-ruby#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark as ractor-safe by \u003ca href=\"https://github.com/mohamedhafez\"\u003e\u003ccode\u003e@​mohamedhafez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/280\"\u003ebcrypt-ruby/bcrypt-ruby#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd == gotcha that can be unintuitive at first by \u003ca href=\"https://github.com/federicoaldunate\"\u003e\u003ccode\u003e@​federicoaldunate\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/279\"\u003ebcrypt-ruby/bcrypt-ruby#279\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConstant compare by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/282\"\u003ebcrypt-ruby/bcrypt-ruby#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etry to modernize CI by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/287\"\u003ebcrypt-ruby/bcrypt-ruby#287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTry to deal with flaky tests by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/288\"\u003ebcrypt-ruby/bcrypt-ruby#288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigure trusted publishing by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/289\"\u003ebcrypt-ruby/bcrypt-ruby#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebump version by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/290\"\u003ebcrypt-ruby/bcrypt-ruby#290\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/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/274\"\u003ebcrypt-ruby/bcrypt-ruby#274\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/276\"\u003ebcrypt-ruby/bcrypt-ruby#276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mohamedhafez\"\u003e\u003ccode\u003e@​mohamedhafez\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/280\"\u003ebcrypt-ruby/bcrypt-ruby#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/federicoaldunate\"\u003e\u003ccode\u003e@​federicoaldunate\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/pull/279\"\u003ebcrypt-ruby/bcrypt-ruby#279\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/compare/v3.1.20...v3.1.21\"\u003ehttps://github.com/bcrypt-ruby/bcrypt-ruby/compare/v3.1.20...v3.1.21\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/bcrypt-ruby/bcrypt-ruby/blob/master/CHANGELOG\"\u003ebcrypt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.1.21 Dec 31 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse constant time comparisons\u003c/li\u003e\n\u003cli\u003eMark as Ractor safe\u003c/li\u003e\n\u003c/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/bcrypt-ruby/bcrypt-ruby/commit/82e6c4c6cf81912768c68d721372e78330ff2c92\"\u003e\u003ccode\u003e82e6c4c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/290\"\u003e#290\u003c/a\u003e from tenderlove/bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/4b1fc736c0f4f66d5e2dd4a5c28bd4f3f51aea93\"\u003e\u003ccode\u003e4b1fc73\u003c/code\u003e\u003c/a\u003e add bundler tasks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/64605fc1de894ba125de6a7eb61dd8cceb9bc65d\"\u003e\u003ccode\u003e64605fc\u003c/code\u003e\u003c/a\u003e bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/da89a839ce17c2ff268ae8283c728278de3a9d04\"\u003e\u003ccode\u003eda89a83\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/289\"\u003e#289\u003c/a\u003e from tenderlove/trusted-publishers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/344ca599eed0fc311e3a5be80441ddb85540f34f\"\u003e\u003ccode\u003e344ca59\u003c/code\u003e\u003c/a\u003e Configure trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/ca9cea1c3d80d61c51017e51d99c1e959b6055ef\"\u003e\u003ccode\u003eca9cea1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/288\"\u003e#288\u003c/a\u003e from tenderlove/deal-with-flake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/d94041a0d2972f4dba1d831a9ebdefad398fe604\"\u003e\u003ccode\u003ed94041a\u003c/code\u003e\u003c/a\u003e Try to deal with flaky tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/eba09de859234ed70650c6a1dacb0867b35103bc\"\u003e\u003ccode\u003eeba09de\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bcrypt-ruby/bcrypt-ruby/issues/287\"\u003e#287\u003c/a\u003e from tenderlove/modernize-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/c1562549b901349c79fb5e96d16c32e25caa7938\"\u003e\u003ccode\u003ec156254\u003c/code\u003e\u003c/a\u003e Modernize CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/commit/27dbab3080c2dbd22ae0652b36fd37eba69dda30\"\u003e\u003ccode\u003e27dbab3\u003c/code\u003e\u003c/a\u003e Declare development dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bcrypt-ruby/bcrypt-ruby/compare/v3.1.20...v3.1.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.19.0 to 1.22.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.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.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\u003c/blockquote\u003e\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/aabae6ddf34d7dd084faa6173886baadec55bb86\"\u003e\u003ccode\u003eaabae6d\u003c/code\u003e\u003c/a\u003e Release 1.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/2545ea7d2a8bd97dc6819841d833abe2693045da\"\u003e\u003ccode\u003e2545ea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/525\"\u003e#525\u003c/a\u003e from jasonkarns/cache_dir\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/1889435c51fefa6634576e589ea06fe3aa1d98f5\"\u003e\u003ccode\u003e1889435\u003c/code\u003e\u003c/a\u003e Add missing nil checks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/7d375c66c87f4bc7ee4084fb311f31a1a55f8420\"\u003e\u003ccode\u003e7d375c6\u003c/code\u003e\u003c/a\u003e Rake entrypoint registers Bootsnap's cache_dir for cleaning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d0911624c32701ba69092d4a5b8fc9205731b477\"\u003e\u003ccode\u003ed091162\u003c/code\u003e\u003c/a\u003e Expose cache_dir root for all caches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e977de2d6d0a7a52fa2952d86a20aa47e6399c12\"\u003e\u003ccode\u003ee977de2\u003c/code\u003e\u003c/a\u003e Enforce mocha 3+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/6a49c76fdd1aeba29e5598a7a43f0aee433ad0e5\"\u003e\u003ccode\u003e6a49c76\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/523\"\u003e#523\u003c/a\u003e from byroot/better-opendir-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/ccc8e1324bbea4a2f2cda0cd476d1e302dbbdd16\"\u003e\u003ccode\u003eccc8e13\u003c/code\u003e\u003c/a\u003e Properly fix opendir failing with \u003ccode\u003eerrno = 0\u003c/code\u003e\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.19.0...v1.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `kamal` from 2.9.0 to 2.10.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/kamal/releases\"\u003ekamal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.10.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass accessory volume through as is by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1738\"\u003ebasecamp/kamal#1738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/kamal/compare/v2.10.0...v2.10.1\"\u003ehttps://github.com/basecamp/kamal/compare/v2.10.0...v2.10.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.10.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet proxy run configuration in deploy YAML by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1663\"\u003ebasecamp/kamal#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport mount options for files and directories by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1723\"\u003ebasecamp/kamal#1723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccessory file/directory owners + permissions by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1724\"\u003ebasecamp/kamal#1724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand secret environment variables in accessory files by \u003ca href=\"https://github.com/aliismayilov\"\u003e\u003ccode\u003e@​aliismayilov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1601\"\u003ebasecamp/kamal#1601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd secret support for SSH \u003ccode\u003ekey_data\u003c/code\u003e by \u003ca href=\"https://github.com/jclusso\"\u003e\u003ccode\u003e@​jclusso\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1620\"\u003ebasecamp/kamal#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle parentheses in secrets by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1726\"\u003ebasecamp/kamal#1726\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't shellescape secrets fetch on the command line by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1727\"\u003ebasecamp/kamal#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet KAMAL_DESTINATION only for destinations by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1729\"\u003ebasecamp/kamal#1729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck roles before removing images and directories by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1730\"\u003ebasecamp/kamal#1730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoot in parallel for roles on the same host by \u003ca href=\"https://github.com/djmb\"\u003e\u003ccode\u003e@​djmb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1731\"\u003ebasecamp/kamal#1731\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/jclusso\"\u003e\u003ccode\u003e@​jclusso\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/basecamp/kamal/pull/1620\"\u003ebasecamp/kamal#1620\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/kamal/compare/v2.9.0...v2.10.0\"\u003ehttps://github.com/basecamp/kamal/compare/v2.9.0...v2.10.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/30f8aef186141eeb936c2ab0991d95d0a93bfb7c\"\u003e\u003ccode\u003e30f8aef\u003c/code\u003e\u003c/a\u003e Bump version for 2.10.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/e744e403734c40397e37e836002417265e7751fd\"\u003e\u003ccode\u003ee744e40\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1738\"\u003e#1738\u003c/a\u003e from basecamp/revert-accessory-volume-change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/849faf3e32e159d7b49f6e16696ba404887da88f\"\u003e\u003ccode\u003e849faf3\u003c/code\u003e\u003c/a\u003e Pass accessory volume through as is\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/f5ec8cbaf988b54e93455e43d95bda77e87d300f\"\u003e\u003ccode\u003ef5ec8cb\u003c/code\u003e\u003c/a\u003e Bump version for 2.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/910729ce0d53c2c654efd4c4b327f1fec719ccbc\"\u003e\u003ccode\u003e910729c\u003c/code\u003e\u003c/a\u003e Doc fixes for Kamal 2.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/e40731a64173f72356c28b70dcff86737bb328a8\"\u003e\u003ccode\u003ee40731a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1731\"\u003e#1731\u003c/a\u003e from basecamp/boot-parallel-roles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/3682280581068ee7663ab296a33f44d8d38632ac\"\u003e\u003ccode\u003e3682280\u003c/code\u003e\u003c/a\u003e Boot in parallel for roles on the same host\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/4ca210c4465fcc55773961c3248766d6c80bd7ef\"\u003e\u003ccode\u003e4ca210c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1730\"\u003e#1730\u003c/a\u003e from basecamp/check-roles-before-removing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/f86156b5562509f2872e3bc2f3cdfcdab49598d1\"\u003e\u003ccode\u003ef86156b\u003c/code\u003e\u003c/a\u003e Check roles before removing images and directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/kamal/commit/40d4d8f856be02fdae5d47aa128ad2378231f2b0\"\u003e\u003ccode\u003e40d4d8f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/kamal/issues/1729\"\u003e#1729\u003c/a\u003e from basecamp/only-set-destination-env-if-there-is-one\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/kamal/compare/v2.9.0...v2.10.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `thruster` from 0.1.16 to 0.1.18\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/thruster/blob/main/CHANGELOG.md\"\u003ethruster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.18 / 2026-02-02\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReturn correct exit code when terminated with signal (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/110\"\u003e#110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild with Go 1.25.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.1.17 / 2025-12-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMitigate BREACH attacks with random jitter and optional compression guard (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/102\"\u003e#102\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/basecamp/thruster/commit/fdfaf6e8b7ea8df82f34bdee6a0a056ab71e94fc\"\u003e\u003ccode\u003efdfaf6e\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/962fe9b159ff2718ef548e17907f84335ee739a5\"\u003e\u003ccode\u003e962fe9b\u003c/code\u003e\u003c/a\u003e Build with Go 1.25.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/68e8abfb6cffa957ae36f876e49a1e13e66bdc6b\"\u003e\u003ccode\u003e68e8abf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/110\"\u003e#110\u003c/a\u003e from basecamp/exit-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/6898eead9bffb54923ea6ecf5a27b64f9e5aab14\"\u003e\u003ccode\u003e6898eea\u003c/code\u003e\u003c/a\u003e Return correct exit code when process signalled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/55276882801a7ec6ae87f20d18850a95d1768bd7\"\u003e\u003ccode\u003e5527688\u003c/code\u003e\u003c/a\u003e Clarify that git tags are prefixed with 'v'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/97dd28dc956e79830ff82c3e435c7d2d56977720\"\u003e\u003ccode\u003e97dd28d\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/5a118901895cce22e5726094a024f8237f2306d2\"\u003e\u003ccode\u003e5a11890\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/107\"\u003e#107\u003c/a\u003e from basecamp/workflow-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/0f43f3e0c095c21979906276ecc913601137e9f1\"\u003e\u003ccode\u003e0f43f3e\u003c/code\u003e\u003c/a\u003e Restrict workflow permission\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/ef864edd609450b0e73f8effff3bb50a8201c6f6\"\u003e\u003ccode\u003eef864ed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/106\"\u003e#106\u003c/a\u003e from basecamp/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/3ea6321bd448c4977f7e014eeaf5cd40b8a2618c\"\u003e\u003ccode\u003e3ea6321\u003c/code\u003e\u003c/a\u003e Update Go version \u0026amp; deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/thruster/compare/v0.1.16...v0.1.18\"\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.10 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\u003c/blockquote\u003e\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.10...v8.1.0\"\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.5 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/mperham/connection_pool/compare/v2.5.5...v3.0.2\"\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.5 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/mperham/connection_pool/compare/v2.5.5...v3.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pdf-reader` from 2.15.0 to 2.15.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/yob/pdf-reader/blob/main/CHANGELOG\"\u003epdf-reader's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev2.15.1 (28th December 2025)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ruby 4.0 to the CI matrix (\u003ca href=\"https://redirect.github.com/yob/pdf-reader/pull/575\"\u003eyob/pdf-reader#575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoiding raising an error when ToUnicode poins to the wrong object type (\u003ca href=\"https://redirect.github.com/yob/pdf-reader/pull/573\"\u003eyob/pdf-reader#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip invalid UTF-16 surrogate pairs in CMaps (\u003ca href=\"https://redirect.github.com/yob/pdf-reader/pull/574\"\u003eyob/pdf-reader#574\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/yob/pdf-reader/commit/544a01c097802bc94ff74567df18cbd8f56e5abf\"\u003e\u003ccode\u003e544a01c\u003c/code\u003e\u003c/a\u003e Update tapioca to the latest version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/03ad935bc7ce5051f5caaed158ef658631112363\"\u003e\u003ccode\u003e03ad935\u003c/code\u003e\u003c/a\u003e prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/14e7215f859ecebb3f7716bbeb5719338e9877f1\"\u003e\u003ccode\u003e14e7215\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/576\"\u003e#576\u003c/a\u003e from yob/gem.coop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/fa87d757f6754695e83a2b910f5b6ddea2e8dc07\"\u003e\u003ccode\u003efa87d75\u003c/code\u003e\u003c/a\u003e Have another go at using gem.coop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/a9bfe1b8718cacf591dd2e1dafacbb4d34f345e1\"\u003e\u003ccode\u003ea9bfe1b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/575\"\u003e#575\u003c/a\u003e from yob/ruby-4-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/ae593218d85eb68916ebd6b6447c194e35123c6c\"\u003e\u003ccode\u003eae59321\u003c/code\u003e\u003c/a\u003e Add ruby 4.0 to the CI matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/3bc2510a10902949e8c9ff85786e17de2dec47fc\"\u003e\u003ccode\u003e3bc2510\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/574\"\u003e#574\u003c/a\u003e from yob/invalid-cmap-surrogate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/f0f1a618675d7c3c4a96161b46b6a6a8c6990462\"\u003e\u003ccode\u003ef0f1a61\u003c/code\u003e\u003c/a\u003e Skip invalid UTF-16 surrogate pairs in CMaps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/42988a580bbbd817a043e0ad6d2e3049aba083f0\"\u003e\u003ccode\u003e42988a5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/yob/pdf-reader/issues/573\"\u003e#573\u003c/a\u003e from yob/tounicode-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yob/pdf-reader/commit/25f5642b6fd25d128887599e5e9ccca9df1d8766\"\u003e\u003ccode\u003e25f5642\u003c/code\u003e\u003c/a\u003e Solve non-stream ToUnicode in a slightly different way\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/yob/pdf-reader/compare/v2.15.0...v2.15.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails_icons` from 1.5.1 to 1.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Rails-Designer/rails_icons/releases\"\u003erails_icons's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePass \u003ccode\u003e--library\u003c/code\u003e option correctly down the chain by \u003ca href=\"https://github.com/eelcoj\"\u003e\u003ccode\u003e@​eelcoj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/pull/96\"\u003eRails-Designer/rails_icons#96\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-Designer/rails_icons/compare/v1.6.0...v1.6.1\"\u003ehttps://github.com/Rails-Designer/rails_icons/compare/v1.6.0...v1.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--library\u003c/code\u003e option as singular alias for \u003ccode\u003e--libraries\u003c/code\u003e by \u003ca href=\"https://github.com/eelcoj\"\u003e\u003ccode\u003e@​eelcoj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/pull/91\"\u003eRails-Designer/rails_icons#91\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImproved bin/release by \u003ca href=\"https://github.com/eelcoj\"\u003e\u003ccode\u003e@​eelcoj\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/pull/95\"\u003eRails-Designer/rails_icons#95\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-Designer/rails_icons/compare/v1.5.1...v1.6.0\"\u003ehttps://github.com/Rails-Designer/rails_icons/compare/v1.5.1...v1.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/da77f730eed3501fa9f5641073131cd3647d19f1\"\u003e\u003ccode\u003eda77f73\u003c/code\u003e\u003c/a\u003e Bump version for 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/6dfffe25107f99d6d3f9bb405f16faca87d5ca8a\"\u003e\u003ccode\u003e6dfffe2\u003c/code\u003e\u003c/a\u003e Pass \u003ccode\u003e--library\u003c/code\u003e option correctly down the chain (\u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/issues/96\"\u003e#96\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/52eaa7707754a41bdacdf1e4d56f5ae44169acfa\"\u003e\u003ccode\u003e52eaa77\u003c/code\u003e\u003c/a\u003e Bump version for 1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/5e3dd4e3a2aaa9cbfc5f9a2f42c4d3afdd50b8c5\"\u003e\u003ccode\u003e5e3dd4e\u003c/code\u003e\u003c/a\u003e Improved bin/release (\u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/issues/95\"\u003e#95\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/2263182a561c22ce59d7dd8ca18c885e175343cf\"\u003e\u003ccode\u003e2263182\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--library\u003c/code\u003e option as singular alias for \u003ccode\u003e--libraries\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Rails-Designer/rails_icons/issues/91\"\u003e#91\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/5697522b47bcdd4a62a0478e619e0a1cdf8060db\"\u003e\u003ccode\u003e5697522\u003c/code\u003e\u003c/a\u003e Removed commented line\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Rails-Designer/rails_icons/commit/eeb7bf310a895733eac6134e05d87d838f34b06a\"\u003e\u003ccode\u003eeeb7bf3\u003c/code\u003e\u003c/a\u003e Regenerate lockfiles with latest Bundler\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Rails-Designer/rails_icons/compare/v1.5.1...v1.6.1\"\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 unverifie...\n\n_Description has been truncated_","html_url":"https://github.com/nived12/bank_statements_app/pull/197","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nived12%2Fbank_statements_app/issues/197","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/197/packages"}},{"old_version":"1.16.3","new_version":"1.17.3","update_type":"minor","path":null,"pr_created_at":"2026-01-15T14:46:02.000Z","version_change":"1.16.3 → 1.17.3","issue":{"uuid":"3817864043","node_id":"PR_kwDOAEhgV869ZoPG","number":4765,"state":"closed","title":"build(deps-dev): bump ffi from 1.16.3 to 1.17.3","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-16T02:22:20.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-15T14:46:02.000Z","updated_at":"2026-01-16T02:22:22.000Z","time_to_close":41778,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.3.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.3\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.3)](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 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 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/cloudfoundry/cloud_controller_ng/pull/4765","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudfoundry%2Fcloud_controller_ng/issues/4765","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4765/packages"}},{"old_version":"1.16.3","new_version":"1.17.3","update_type":"minor","path":"/omnibus","pr_created_at":"2026-01-13T23:13:08.000Z","version_change":"1.16.3 → 1.17.3","issue":{"uuid":"3810920470","node_id":"PR_kwDOAAGm9s69CgVW","number":15564,"state":"open","title":"Bump ffi and omnibus-software in /omnibus","user":"dependabot[bot]","labels":["Type: Chore"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-13T23:13:08.000Z","updated_at":"2026-01-13T23:15:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","repository_url":"https://github.com/ffi/ffi","old_version":"1.16.3","new_version":"1.17.3"},{"name":"omnibus-software","repository_url":"https://github.com/chef/omnibus-software","old_version":"`28c9c9f`","new_version":"26.1.360"}],"path":"/omnibus","ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) and [omnibus-software](https://github.com/chef/omnibus-software). These dependencies needed to be updated together.\nUpdates `ffi` from 1.16.3 to 1.17.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `omnibus-software` from `28c9c9f` to 26.1.360\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/2799d14cecc59c6a351c5cba3761c01fff9a65a7\"\u003e\u003ccode\u003e2799d14\u003c/code\u003e\u003c/a\u003e Bump version to 25.12.359 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/13be3ce5482e52a8cf350ea9c794e441eb5adf3c\"\u003e\u003ccode\u003e13be3ce\u003c/code\u003e\u003c/a\u003e Adding support for openssl 3.2.6 [CVE-2025-9230] (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2040\"\u003e#2040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/d6fce7b6c5e6a9ba1f3a21eef2b2be8ee778391f\"\u003e\u003ccode\u003ed6fce7b\u003c/code\u003e\u003c/a\u003e Bump version to 25.12.357 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/aeb8d13737347bc0344fcfb22c0f998bc4dacd1f\"\u003e\u003ccode\u003eaeb8d13\u003c/code\u003e\u003c/a\u003e Add Dependency valkey (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2033\"\u003e#2033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/5da9d21694f59aee2c521fed944338a93d4a62b3\"\u003e\u003ccode\u003e5da9d21\u003c/code\u003e\u003c/a\u003e Bump version to 25.11.355 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/9c1722a10924d74bcdf4e02d2610885cf722fc1a\"\u003e\u003ccode\u003e9c1722a\u003c/code\u003e\u003c/a\u003e Upgrade  libffi to fix RHEL- 10 build issues (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2039\"\u003e#2039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/ead37053551477d0dd52fd8a411286e7f649c338\"\u003e\u003ccode\u003eead3705\u003c/code\u003e\u003c/a\u003e Bump version to 25.11.353 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/85274da3c05a486431a989109d40bfd2e5dbb506\"\u003e\u003ccode\u003e85274da\u003c/code\u003e\u003c/a\u003e added libxml 2.14.4 (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2038\"\u003e#2038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/05e2188136004558d5df10c5774d54e788eb29a9\"\u003e\u003ccode\u003e05e2188\u003c/code\u003e\u003c/a\u003e Bump version to 25.10.351 by Chef Expeditor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chef/omnibus-software/commit/b46ebcabad5809f29f69b5e10ff2eab9ebe5a8e2\"\u003e\u003ccode\u003eb46ebca\u003c/code\u003e\u003c/a\u003e Add git-windows 2.48.1 support (\u003ca href=\"https://redirect.github.com/chef/omnibus-software/issues/2035\"\u003e#2035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/chef/omnibus-software/compare/28c9c9f8419094cef59ca37802084db716166ace...26.1.360\"\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 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/chef/chef/pull/15564","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/chef%2Fchef/issues/15564","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15564/packages"}},{"old_version":"1.16.3","new_version":"1.17.3","update_type":"minor","path":null,"pr_created_at":"2026-01-07T04:14:38.000Z","version_change":"1.16.3 → 1.17.3","issue":{"uuid":"3787286186","node_id":"PR_kwDOAnpU1c671Pyf","number":7713,"state":"closed","title":"Bump ffi from 1.16.3 to 1.17.3","user":"dependabot[bot]","labels":["dependencies","inspec-5","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-27T04:06:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-07T04:14:38.000Z","updated_at":"2026-03-27T04:06:09.000Z","time_to_close":6825090,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ffi","old_version":"1.16.3","new_version":"1.17.3","repository_url":"https://github.com/ffi/ffi"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ffi](https://github.com/ffi/ffi) from 1.16.3 to 1.17.3.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ffi/ffi/blob/master/CHANGELOG.md\"\u003effi's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.3 / 2025-12-29\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eOpt-in for MFA requirement explicitly. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1159\"\u003e#1159\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1158\"\u003e#1158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix function signature of function_call in FFI trampoline. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\nIt failed on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd workaround for segmentation faults on \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCall super in \u003ccode\u003eLibrary#freeze\u003c/code\u003e . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1154\"\u003e#1154\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeny duplication of AutoPointer per #dup and #clone . \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e\nThey led to double free before.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.\u003c/li\u003e\n\u003cli\u003eAdd msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark callback dispatcher thread as fork safe for Puma. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1156\"\u003e#1156\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing FFI::Platform module and LastError signatures. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1169\"\u003e#1169\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDrop fat binary gems for Ruby \u0026lt; 3.0\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eFFI::TypesGenerator\u003c/code\u003e from distributed gems. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1164\"\u003e#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove libffi build dir after install, safing some install space. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1157\"\u003e#1157\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.2 / 2025-04-15\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1144\"\u003e#1144\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1145\"\u003e#1145\u003c/a\u003e Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64\u003c/li\u003e\n\u003cli\u003eVarious adjustments to run the specs cleanly on Ruby-3.5 master branch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.1 / 2024-12-30\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1117\"\u003e#1117\u003c/a\u003e Restart async callback dispatcher thread after fork.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1133\"\u003e#1133\u003c/a\u003e Add ruby-3.4 native gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1134\"\u003e#1134\u003c/a\u003e Fix FFI::DataConverter non-generic usage in RBS files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.17.0 / 2024-06-02\u003c/h2\u003e\n\u003cp\u003eFixed:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1070\"\u003e#1070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.17.0.rc2 / 2024-04-22\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/68f4d3b7fcf138158362b7a5e089770458a1fd5f\"\u003e\u003ccode\u003e68f4d3b\u003c/code\u003e\u003c/a\u003e Bump VERSION to ffi-1.17.3 and add release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/38d298e599eb46321bea22d689f9816b14bcf3b7\"\u003e\u003ccode\u003e38d298e\u003c/code\u003e\u003c/a\u003e Update libffi to latest master branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/77f9033a5fc6e68261a64bfe4d6b1eaf56588623\"\u003e\u003ccode\u003e77f9033\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1108\"\u003e#1108\u003c/a\u003e from lloeki/add-steep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/9cce64775c784f7d60dcc3ac7f4d41c760a7e009\"\u003e\u003ccode\u003e9cce647\u003c/code\u003e\u003c/a\u003e Add ffi.gemspec to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/42b2382ec2891e140fe2c9718de4bf0c7bb3248f\"\u003e\u003ccode\u003e42b2382\u003c/code\u003e\u003c/a\u003e Fix newly introduced rbs signatures for FFI::Platform\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6e76f7f7fff255d228f4506575a7214f6a0f738f\"\u003e\u003ccode\u003e6e76f7f\u003c/code\u003e\u003c/a\u003e Add CI check for RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/b1fdbe124fa2746fa5892158af071b7bdccbeaa4\"\u003e\u003ccode\u003eb1fdbe1\u003c/code\u003e\u003c/a\u003e Add Steep to check RBS files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/6076fab75a1cc7bd5dcc9d70ab1e1a0e9623aa90\"\u003e\u003ccode\u003e6076fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1173\"\u003e#1173\u003c/a\u003e from ffi/fix-1155\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/195f9e919c4a67bc29ee369dbaeb22bc1cb71420\"\u003e\u003ccode\u003e195f9e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ffi/ffi/issues/1143\"\u003e#1143\u003c/a\u003e from johnnyshields/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ffi/ffi/commit/0ff4cb31566ff236af9a09fe9acc22bf3ed506b1\"\u003e\u003ccode\u003e0ff4cb3\u003c/code\u003e\u003c/a\u003e Binary gems don't need libffi header+lib files\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ffi/ffi/compare/v1.16.3...v1.17.3\"\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=ffi\u0026package-manager=bundler\u0026previous-version=1.16.3\u0026new-version=1.17.3)](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 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 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\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/inspec/inspec/pull/7713","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/inspec%2Finspec/issues/7713","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7713/packages"}},{"old_version":"1.17.2","new_version":"1.17.3","update_type":"patch","path":null,"pr_created_at":"2026-01-07T03:13:31.000Z","version_change":"1.17.2 → 1.17.3","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":"1.17.2","new_version":"1.17.3","update_type":"patch","path":null,"pr_created_at":"2026-01-07T03:07:59.000Z","version_change":"1.17.2 → 1.17.3","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"}}]}