{"id":11394,"name":"activemodel","ecosystem":"rubygems","repository_url":"https://github.com/rails/rails","issues_count":113,"created_at":"2025-06-06T23:02:04.691Z","updated_at":"2025-06-06T23:02:04.691Z","purl":"pkg:gem/activemodel","metadata":{"id":149909,"name":"activemodel","ecosystem":"rubygems","description":"A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.","homepage":"https://rubyonrails.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/rails/rails","keywords_array":[],"namespace":null,"versions_count":435,"first_release_published_at":"2009-10-16T22:14:52.266Z","latest_release_published_at":"2025-03-12T03:08:44.314Z","latest_release_number":"8.0.2","last_synced_at":"2025-06-07T01:39:13.127Z","created_at":"2022-04-05T16:28:08.465Z","updated_at":"2025-06-07T01:40:32.327Z","registry_url":"https://rubygems.org/gems/activemodel","install_command":"gem install activemodel -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/activemodel/","metadata":{"funding":null},"repo_metadata":{"id":390886,"uuid":"8514","full_name":"rails/rails","owner":"rails","description":"Ruby on Rails","archived":false,"fork":false,"pushed_at":"2025-06-02T18:06:50.000Z","size":265516,"stargazers_count":56954,"open_issues_count":1331,"forks_count":21862,"subscribers_count":2315,"default_branch":"main","last_synced_at":"2025-06-02T20:14:18.309Z","etag":null,"topics":["activejob","activerecord","framework","html","mvc","rails","ruby"],"latest_commit_sha":null,"homepage":"https://rubyonrails.org","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rails.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2008-04-11T02:19:47.000Z","updated_at":"2025-06-02T18:06:56.000Z","dependencies_parsed_at":"2024-02-04T10:23:48.595Z","dependency_job_id":"76bea4fd-bd22-40af-b9bb-10ebcdcbd69d","html_url":"https://github.com/rails/rails","commit_stats":{"total_commits":70043,"total_committers":6052,"mean_commits":"11.573529411764707","dds":0.9368816298559456,"last_synced_commit":"be9aa73dd72f1097be5d45a58d7912447a266bd1"},"previous_names":[],"tags_count":572,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","download_url":"https://codeload.github.com/rails/rails/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257640807,"owners_count":22578216,"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":"rails","name":"Ruby on Rails","uuid":"4223","kind":"organization","description":"","email":null,"website":"https://rubyonrails.org/","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/4223?v=4","repositories_count":116,"last_synced_at":"2023-04-09T03:40:20.529Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/rails","funding_links":[],"total_stars":114333,"followers":null,"following":null,"created_at":"2022-11-02T16:17:13.297Z","updated_at":"2023-04-09T03:40:20.550Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails/repositories"},"tags":[{"name":"v8.0.2","sha":"3235827585d87661942c91bc81f64f56d710f0b2","kind":"tag","published_at":"2025-03-12T02:54:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.2","html_url":"https://github.com/rails/rails/releases/tag/v8.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.2/manifests"},{"name":"v8.0.1","sha":"cf6ff17e9a3c6c1139040b519a341f55f0be16cf","kind":"tag","published_at":"2024-12-13T19:54:18.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.1","html_url":"https://github.com/rails/rails/releases/tag/v8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.1/manifests"},{"name":"v8.0.0.1","sha":"a993c27a50395e727872600b5669976ff0a272e7","kind":"tag","published_at":"2024-12-10T21:45:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.1","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.1/manifests"},{"name":"v7.2.2.1","sha":"33beb0a38db1c058123a8e3cc298cad918adfe32","kind":"tag","published_at":"2024-12-10T21:40:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.2.1","html_url":"https://github.com/rails/rails/releases/tag/v7.2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.2.1/manifests"},{"name":"v7.1.5.1","sha":"14c115b120ed089331ff3dc13f36bd9129ced33d","kind":"tag","published_at":"2024-12-10T21:25:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.5.1","html_url":"https://github.com/rails/rails/releases/tag/v7.1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.5.1/manifests"},{"name":"v7.0.8.7","sha":"778eab826538be6da355d848aecaea2245e3b8ce","kind":"tag","published_at":"2024-12-10T21:16:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8.7","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.7/manifests"},{"name":"v8.0.0","sha":"dd8f7185faeca6ee968a6e9367f6d8601a83b8db","kind":"tag","published_at":"2024-11-07T22:24:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0/manifests"},{"name":"v7.2.2","sha":"d0dcb8fa6073a0c4d42600c15e82e3bb386b27d3","kind":"tag","published_at":"2024-10-31T01:43:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.2","html_url":"https://github.com/rails/rails/releases/tag/v7.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.2/manifests"},{"name":"v7.1.5","sha":"8984f4c4982f5c94bd6fb8ada42d7418bc403076","kind":"tag","published_at":"2024-10-31T01:14:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.5","html_url":"https://github.com/rails/rails/releases/tag/v7.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.5/manifests"},{"name":"v8.0.0.rc2","sha":"6283314df19ded7074f1fe37a8b0dbbad141e386","kind":"tag","published_at":"2024-10-30T00:30:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.rc2/manifests"},{"name":"v7.2.1.2","sha":"7750d64a65e5b2641d87ef45e6e65ace193d9a27","kind":"tag","published_at":"2024-10-23T22:32:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.1.2","html_url":"https://github.com/rails/rails/releases/tag/v7.2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.1.2/manifests"},{"name":"v7.1.4.2","sha":"e52d670dba4861a081576e5ccc5db7015af3003c","kind":"tag","published_at":"2024-10-23T22:27:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.4.2","html_url":"https://github.com/rails/rails/releases/tag/v7.1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.4.2/manifests"},{"name":"v7.0.8.6","sha":"bc979c5cf4e29e2aba95b7b13ca53e7a02fddee2","kind":"tag","published_at":"2024-10-23T22:21:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8.6","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.6/manifests"},{"name":"v6.1.7.10","sha":"86864c2f6661d3aa93b07f833b2900d241568cb7","kind":"tag","published_at":"2024-10-23T21:56:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.10","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.10/manifests"},{"name":"v8.0.0.rc1","sha":"35b3c7f12b3f13f80cacf7abde2fc5a9c0abea7b","kind":"tag","published_at":"2024-10-19T01:38:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.rc1/manifests"},{"name":"v6.1.7.9","sha":"b2fbbfbcaa3d662c68a9ee21ab6cf95eccc2b4ec","kind":"tag","published_at":"2024-10-15T21:23:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.9","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.9/manifests"},{"name":"v7.2.1.1","sha":"a1f6a13f691e0929d40b7e1b1e0d31aa69778128","kind":"tag","published_at":"2024-10-15T20:44:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.1.1","html_url":"https://github.com/rails/rails/releases/tag/v7.2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.1.1/manifests"},{"name":"v7.1.4.1","sha":"5b5f0da552f62e85e31e2d747d52aed2a3133f48","kind":"tag","published_at":"2024-10-15T20:36:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.4.1","html_url":"https://github.com/rails/rails/releases/tag/v7.1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.4.1/manifests"},{"name":"v7.0.8.5","sha":"f61f4ef957f80e1668797fce8a2393f3edb7ed76","kind":"tag","published_at":"2024-10-15T20:19:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8.5","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.5/manifests"},{"name":"v8.0.0.beta1","sha":"72bc36fb47aa3a9b10149ecefc1f344d7b028d79","kind":"tag","published_at":"2024-09-26T15:04:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.beta1/manifests"},{"name":"v8.0.0.alpha9","sha":"0fe9dc6c2bb0bdbc23d3874f112e15cacabe72f3","kind":"tag","published_at":"2024-09-25T18:14:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha9","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha9/manifests"},{"name":"v8.0.0.alpha8","sha":"7c9855125e8bdf5c82bdde581b1dfaf636aba5b7","kind":"tag","published_at":"2024-09-18T21:08:33.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha8","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha8/manifests"},{"name":"v8.0.0.alpha7","sha":"34e9d47d8e53786efe4b64e4513aa78eaea757b0","kind":"tag","published_at":"2024-09-18T05:04:18.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha7","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha7/manifests"},{"name":"v8.0.0.alpha6","sha":"668c51e8761d38d798a0a4973549042ee41995c5","kind":"tag","published_at":"2024-09-18T05:01:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha6","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha6/manifests"},{"name":"v8.0.0.alpha5","sha":"6b21e48541331054120ec617cf455c0d13a51539","kind":"tag","published_at":"2024-09-18T04:57:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha5","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha5/manifests"},{"name":"v8.0.0.alpha4","sha":"aa5479e8188c303c3acbb30b1d490c4e473e7ce4","kind":"tag","published_at":"2024-09-18T03:37:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha4","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha4/manifests"},{"name":"v8.0.0.alpha3","sha":"e14521de210a9b5ab8fbdd431110128b78fb1e12","kind":"tag","published_at":"2024-09-17T04:34:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha3","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha3/manifests"},{"name":"v8.0.0.alpha2","sha":"f270115dd1c441aa672cb7054598551de80c1ec7","kind":"tag","published_at":"2024-09-17T04:30:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha2","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha2/manifests"},{"name":"v8.0.0.alpha1","sha":"2c68c89238628373473eb8cb2bf6f853a9cda2b1","kind":"tag","published_at":"2024-09-17T04:23:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v8.0.0.alpha1","html_url":"https://github.com/rails/rails/releases/tag/v8.0.0.alpha1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v8.0.0.alpha1/manifests"},{"name":"v7.1.4","sha":"6f57590388ca38ed2b83bc1207a8be13a9ba2aef","kind":"tag","published_at":"2024-08-22T21:26:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.4","html_url":"https://github.com/rails/rails/releases/tag/v7.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.4/manifests"},{"name":"v7.2.1","sha":"a11f0a63673d274c59c69c2688c63ba303b86193","kind":"tag","published_at":"2024-08-22T19:44:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.1","html_url":"https://github.com/rails/rails/releases/tag/v7.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.1/manifests"},{"name":"v7.2.0","sha":"fb6c4305939da06efdf2893d99130e7829c53e8b","kind":"tag","published_at":"2024-08-09T23:25:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.0","html_url":"https://github.com/rails/rails/releases/tag/v7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0/manifests"},{"name":"v7.2.0.rc1","sha":"41d50f4bb11a1b1a910b38a3beefa97cafb52a2a","kind":"tag","published_at":"2024-08-06T17:00:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v7.2.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.rc1/manifests"},{"name":"v0.8.0","sha":"7050bba8984dca2ae8c52b1d4cc616149f5c9d91","kind":"tag","published_at":"2024-08-01T16:10:39.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.8.0","html_url":"https://github.com/rails/rails/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.8.0/manifests"},{"name":"v0.8.5","sha":"fbf913fafea1072cb15c0a635b276dab5dfefe63","kind":"tag","published_at":"2024-08-01T16:10:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.8.5","html_url":"https://github.com/rails/rails/releases/tag/v0.8.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.8.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.8.5/manifests"},{"name":"v0.7.0","sha":"3cd56dccf840c97059e242ab616c13a84393a24c","kind":"tag","published_at":"2024-08-01T16:09:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.7.0","html_url":"https://github.com/rails/rails/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.7.0/manifests"},{"name":"v0.6.5","sha":"11665ed67989e2ebb4ef38fa0781514a649b7ef2","kind":"tag","published_at":"2024-08-01T16:09:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.6.5","html_url":"https://github.com/rails/rails/releases/tag/v0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.6.5/manifests"},{"name":"v0.6.0","sha":"be81c4351b3e3af81c001d157541c4bf58a2f94b","kind":"tag","published_at":"2024-08-01T16:08:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.6.0","html_url":"https://github.com/rails/rails/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.6.0/manifests"},{"name":"v0.5.7","sha":"7b7799aec70f1b31db9fcc389b26ae61ef44d9bc","kind":"tag","published_at":"2024-08-01T16:08:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.5.7","html_url":"https://github.com/rails/rails/releases/tag/v0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.7/manifests"},{"name":"v0.5.6","sha":"ec06ea363252e2251a93f7db756f2e9421ae2c78","kind":"tag","published_at":"2024-08-01T16:08:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.5.6","html_url":"https://github.com/rails/rails/releases/tag/v0.5.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.6/manifests"},{"name":"v0.5.5","sha":"42042de1e2b8e7023b807ec105d9b479f9f457f1","kind":"tag","published_at":"2024-08-01T16:07:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.5.5","html_url":"https://github.com/rails/rails/releases/tag/v0.5.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.5/manifests"},{"name":"v0.5.0","sha":"feba2817693536f24cd3848f3cbdc28735806261","kind":"tag","published_at":"2024-08-01T16:07:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.5.0","html_url":"https://github.com/rails/rails/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.5.0/manifests"},{"name":"v7.2.0.beta3","sha":"9b63450fe40749d2481b6b6b3e0a7c711750e2a0","kind":"tag","published_at":"2024-07-11T15:19:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.0.beta3","html_url":"https://github.com/rails/rails/releases/tag/v7.2.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.beta3/manifests"},{"name":"v7.2.0.beta2","sha":"b752c38e81a310c1aaca78c7cdd1784009ea189a","kind":"tag","published_at":"2024-06-04T18:14:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.0.beta2","html_url":"https://github.com/rails/rails/releases/tag/v7.2.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.beta2/manifests"},{"name":"v7.1.3.4","sha":"19eebf6d33dd15a0172e3ed2481bec57a89a2404","kind":"tag","published_at":"2024-06-04T18:00:18.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.3.4","html_url":"https://github.com/rails/rails/releases/tag/v7.1.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.4/manifests"},{"name":"v7.0.8.4","sha":"ec7f25368dff972b014fad4294c62181fb26c584","kind":"tag","published_at":"2024-06-04T17:56:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8.4","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.4/manifests"},{"name":"v6.1.7.8","sha":"e39361ab9062e23dcef5aeaf376fc48b106da66b","kind":"tag","published_at":"2024-06-04T17:55:28.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.8","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.8/manifests"},{"name":"v7.2.0.beta1","sha":"9098f535b2accef27c6c284dede119c936c44595","kind":"tag","published_at":"2024-05-29T23:37:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.2.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v7.2.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.2.0.beta1/manifests"},{"name":"v7.0.8.3","sha":"08bc3ce3e0930d3509fce12127942172917a5c03","kind":"tag","published_at":"2024-05-17T19:52:17.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8.3","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.3/manifests"},{"name":"v7.1.3.3","sha":"747a03ba7722b6f0a7ce42e86cea83cf07a2e6ef","kind":"tag","published_at":"2024-05-16T19:20:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.3.3","html_url":"https://github.com/rails/rails/releases/tag/v7.1.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.3/manifests"},{"name":"v7.0.8.2","sha":"7c8d2a1d6e0a22c8e96ecae4bdea8c2b6e347168","kind":"tag","published_at":"2024-05-16T18:57:43.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8.2","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.2/manifests"},{"name":"v7.1.3.2","sha":"6f0d1ad14b92b9f5906e44740fce8b4f1c7075dc","kind":"tag","published_at":"2024-02-21T21:45:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.3.2","html_url":"https://github.com/rails/rails/releases/tag/v7.1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.2/manifests"},{"name":"v7.1.3.1","sha":"d73ed958dc91d6b8cbb0bef7b4cdcfc013bd876f","kind":"tag","published_at":"2024-02-21T18:46:05.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.3.1","html_url":"https://github.com/rails/rails/releases/tag/v7.1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3.1/manifests"},{"name":"v7.0.8.1","sha":"506462ab13755d9f024e1ddbfc8c58d73e7a1bce","kind":"tag","published_at":"2024-02-21T18:42:34.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8.1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8.1/manifests"},{"name":"v6.1.7.7","sha":"ac87f58207cff18880593263be9d83456aa3a2ef","kind":"tag","published_at":"2024-02-21T18:38:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.7","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.7/manifests"},{"name":"v7.1.3","sha":"36c1591bcb5e0ee3084759c7f42a706fe5bb7ca7","kind":"tag","published_at":"2024-01-16T22:53:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.3","html_url":"https://github.com/rails/rails/releases/tag/v7.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.3/manifests"},{"name":"v7.1.2","sha":"6b93fff8af32ef5e91f4ec3cfffb081d0553faf0","kind":"tag","published_at":"2023-11-10T21:49:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.2","html_url":"https://github.com/rails/rails/releases/tag/v7.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.2/manifests"},{"name":"v7.1.1","sha":"23938052acd773fa24068debe56cd892cbf8d868","kind":"tag","published_at":"2023-10-11T22:16:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.1","html_url":"https://github.com/rails/rails/releases/tag/v7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.1/manifests"},{"name":"v7.1.0","sha":"d39db5d1891f7509cde2efc425c9d69bbb77e670","kind":"tag","published_at":"2023-10-05T08:05:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.0","html_url":"https://github.com/rails/rails/releases/tag/v7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0/manifests"},{"name":"v7.1.0.rc2","sha":"8340f8ffdc6279c566b2b37c59674ecb158b4618","kind":"tag","published_at":"2023-10-01T21:58:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v7.1.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0.rc2/manifests"},{"name":"v7.1.0.rc1","sha":"b69de9967a328c0cfdc0650f044c0ebb2e87407a","kind":"tag","published_at":"2023-09-27T03:59:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v7.1.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0.rc1/manifests"},{"name":"v7.1.0.beta1","sha":"699dfdb42635faf6d40ff2405b2f0a615b1c54ed","kind":"tag","published_at":"2023-09-13T00:36:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.1.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v7.1.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.1.0.beta1/manifests"},{"name":"v7.0.8","sha":"fc734f28e65ef8829a1a939ee6702c1f349a1d5a","kind":"tag","published_at":"2023-09-09T19:10:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.8","html_url":"https://github.com/rails/rails/releases/tag/v7.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.8/manifests"},{"name":"v7.0.7.2","sha":"3668b4b5978822f1e6311c7fd7a32f58daee136a","kind":"tag","published_at":"2023-08-22T20:10:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.7.2","html_url":"https://github.com/rails/rails/releases/tag/v7.0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.7.2/manifests"},{"name":"v6.1.7.6","sha":"56bcc0abd3c9a6b09469e9428f6eea0dd77c2294","kind":"tag","published_at":"2023-08-22T20:07:39.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.6","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.6/manifests"},{"name":"v7.0.7.1","sha":"c92caefc2bdf856845a72b8608d5603b330e8c3e","kind":"tag","published_at":"2023-08-22T17:20:17.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.7.1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.7.1/manifests"},{"name":"v6.1.7.5","sha":"3a1b6150a9b7619fb6d020b61c3b8f8d493142b0","kind":"tag","published_at":"2023-08-22T17:15:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.5","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.5/manifests"},{"name":"v7.0.7","sha":"522c86f35ccc80453ed9fb6ca8b394db321f9a69","kind":"tag","published_at":"2023-08-09T23:56:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.7","html_url":"https://github.com/rails/rails/releases/tag/v7.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.7/manifests"},{"name":"v7.0.6","sha":"593893c901f87b4ed205751f72df41519b4d2da3","kind":"tag","published_at":"2023-06-29T20:53:23.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.6","html_url":"https://github.com/rails/rails/releases/tag/v7.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.6/manifests"},{"name":"v7.0.5.1","sha":"cdd14ce1f5196e4bd98df42f89a1cd36ba9d4bee","kind":"tag","published_at":"2023-06-26T21:35:35.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.5.1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.5.1/manifests"},{"name":"v6.1.7.4","sha":"7d949d7c81d2ec3c6d21525ebb08c85f3f174b74","kind":"tag","published_at":"2023-06-26T21:31:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.4","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.4/manifests"},{"name":"v7.0.5","sha":"e88857bbb9d4e1dd64555c34541301870de4a45b","kind":"tag","published_at":"2023-05-24T18:56:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.5","html_url":"https://github.com/rails/rails/releases/tag/v7.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.5/manifests"},{"name":"v7.0.4.3","sha":"c15ee6e7b5065db3c46afa1f025b8e45f443604e","kind":"tag","published_at":"2023-03-13T18:53:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.4.3","html_url":"https://github.com/rails/rails/releases/tag/v7.0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4.3/manifests"},{"name":"v6.1.7.3","sha":"f09dc7c4c2e8b9375345d443c230cb8d78ad6a18","kind":"tag","published_at":"2023-03-13T18:48:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.3","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.3/manifests"},{"name":"v6.1.7.2","sha":"f0c5e60aed8bdce96c385cad05b1e34d7d757038","kind":"tag","published_at":"2023-01-25T03:23:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.2","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.2/manifests"},{"name":"v7.0.4.2","sha":"7c70791470fc517deb7c640bead9f1b47efb5539","kind":"tag","published_at":"2023-01-25T03:13:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.4.2","html_url":"https://github.com/rails/rails/releases/tag/v7.0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4.2/manifests"},{"name":"v7.0.4.1","sha":"23e0345fe900dfd7edd6e8e5a7a6bd54b2a7d2ed","kind":"tag","published_at":"2023-01-17T18:55:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.4.1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4.1/manifests"},{"name":"v6.1.7.1","sha":"c443466a99f8ed951605fb4993a01de5e41349a4","kind":"tag","published_at":"2023-01-17T18:54:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7.1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7.1/manifests"},{"name":"v6.0.6.1","sha":"28bb76d3efc39b2ef663dfe2346f7c2621343cd6","kind":"tag","published_at":"2023-01-17T18:52:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.6.1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.6.1/manifests"},{"name":"v7.0.4","sha":"8015c2c2cf5c8718449677570f372ceb01318a32","kind":"tag","published_at":"2022-09-09T18:42:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.4","html_url":"https://github.com/rails/rails/releases/tag/v7.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.4/manifests"},{"name":"v6.1.7","sha":"9ab33753b6bab1809fc73d35b98a5c1d0c96ba1b","kind":"tag","published_at":"2022-09-09T18:38:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.7","html_url":"https://github.com/rails/rails/releases/tag/v6.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.7/manifests"},{"name":"v6.0.6","sha":"91cf62e7b43c33ae6263adf3d7563da9b68ff21d","kind":"tag","published_at":"2022-09-09T18:31:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.6","html_url":"https://github.com/rails/rails/releases/tag/v6.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.6/manifests"},{"name":"v7.0.3.1","sha":"04972d9b9ef60796dc8f0917817b5392d61fcf09","kind":"tag","published_at":"2022-07-12T17:31:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.3.1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.3.1/manifests"},{"name":"v6.1.6.1","sha":"dc1242fd5a4d91e63846ab552a07e19ebf8716ac","kind":"tag","published_at":"2022-07-12T17:29:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.6.1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.6.1/manifests"},{"name":"v6.0.5.1","sha":"eed417637b594b33b3b58b08dd41daa10c57e083","kind":"tag","published_at":"2022-07-12T17:27:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.5.1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.5.1/manifests"},{"name":"v5.2.8.1","sha":"8030cff808657faa44828de001cd3b80364597de","kind":"tag","published_at":"2022-07-12T17:26:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.8.1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.8.1/manifests"},{"name":"v5.2.8","sha":"26521331e5923a0c50fa50984d2f924e5f26c50b","kind":"tag","published_at":"2022-05-09T13:57:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.8","html_url":"https://github.com/rails/rails/releases/tag/v5.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.8/manifests"},{"name":"v6.0.5","sha":"433115554d3ea0b4dab9df99548c47707cadb20d","kind":"tag","published_at":"2022-05-09T13:49:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.5","html_url":"https://github.com/rails/rails/releases/tag/v6.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.5/manifests"},{"name":"v6.1.6","sha":"147557dc16a5bd8bab96f999f359a570232e1873","kind":"tag","published_at":"2022-05-09T13:44:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.6","html_url":"https://github.com/rails/rails/releases/tag/v6.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.6/manifests"},{"name":"v7.0.3","sha":"3872bc0e54d32e8bf3a6299b0bfe173d94b072fc","kind":"tag","published_at":"2022-05-09T13:35:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.3","html_url":"https://github.com/rails/rails/releases/tag/v7.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.3/manifests"},{"name":"v7.0.2.4","sha":"3520cc77df1b52a6c808083214b583c769e9a4b2","kind":"tag","published_at":"2022-04-26T19:32:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.2.4","html_url":"https://github.com/rails/rails/releases/tag/v7.0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.4/manifests"},{"name":"v6.1.5.1","sha":"e2efc667dea886e71c33e3837048e34b7a1fe470","kind":"tag","published_at":"2022-04-26T19:30:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.5.1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.5.1/manifests"},{"name":"v6.0.4.8","sha":"27a5ec76eed1e5d0bc5649b0e92097267c0b4338","kind":"tag","published_at":"2022-04-26T19:26:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.8","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.8/manifests"},{"name":"v5.2.7.1","sha":"b290430faf946b298352196e245f227f762f8c08","kind":"tag","published_at":"2022-04-26T19:22:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.7.1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.7.1/manifests"},{"name":"v5.2.7","sha":"459e7cf62252558bbf65f582a230562ab1a76c5e","kind":"tag","published_at":"2022-03-10T23:59:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.7","html_url":"https://github.com/rails/rails/releases/tag/v5.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.7/manifests"},{"name":"v6.1.5","sha":"53410537594be0c0a528cff53dce433dd386cb6a","kind":"tag","published_at":"2022-03-10T21:11:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.5","html_url":"https://github.com/rails/rails/releases/tag/v6.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.5/manifests"},{"name":"v7.0.2.3","sha":"de53ba56cab69fb9707785a397a59ac4aaee9d6f","kind":"tag","published_at":"2022-03-08T17:50:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.2.3","html_url":"https://github.com/rails/rails/releases/tag/v7.0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.3/manifests"},{"name":"v6.1.4.7","sha":"66073335585f04f2ed0f5ef930eb3c8955d50a6a","kind":"tag","published_at":"2022-03-08T17:48:35.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4.7","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.7/manifests"},{"name":"v6.0.4.7","sha":"4ba546e960cb368b1b552a3f91a371aced64da4c","kind":"tag","published_at":"2022-03-08T17:47:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.7","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.7/manifests"},{"name":"v5.2.6.3","sha":"b287570dbadcc418ce64b83ebde2746891e12d03","kind":"tag","published_at":"2022-03-08T17:45:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.6.3","html_url":"https://github.com/rails/rails/releases/tag/v5.2.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6.3/manifests"},{"name":"v7.0.2.2","sha":"2459c20afb508c987347f52148210d874a9af4fa","kind":"tag","published_at":"2022-02-11T19:43:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.2.2","html_url":"https://github.com/rails/rails/releases/tag/v7.0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.2/manifests"},{"name":"v6.1.4.6","sha":"10a2c77e901eb15b486f2c72fd9997bd0e2d506c","kind":"tag","published_at":"2022-02-11T19:41:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4.6","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.6/manifests"},{"name":"v6.0.4.6","sha":"5f85a37f49227a76ec472eb74954b54806028641","kind":"tag","published_at":"2022-02-11T19:39:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.6","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.6/manifests"},{"name":"v5.2.6.2","sha":"46fe51b4875ba947cd3317cef420042f22aa8ffd","kind":"tag","published_at":"2022-02-11T19:37:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.6.2","html_url":"https://github.com/rails/rails/releases/tag/v5.2.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6.2/manifests"},{"name":"v5.2.6.1","sha":"9c111dcbb9d15bbc8328edbae03e67746cdec314","kind":"tag","published_at":"2022-02-11T18:38:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.6.1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6.1/manifests"},{"name":"v6.0.4.5","sha":"c06fa92a3f8b3ff88c85ce587630c451ea3396a6","kind":"tag","published_at":"2022-02-11T18:24:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.5","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.5/manifests"},{"name":"v6.1.4.5","sha":"6d25fed5c70bc1bd3292f69692c82063dd32320a","kind":"tag","published_at":"2022-02-11T18:22:29.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4.5","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.5/manifests"},{"name":"v7.0.2.1","sha":"365e0fe8c346a90c91d2f622b4bdae2fbb11a940","kind":"tag","published_at":"2022-02-11T18:18:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.2.1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2.1/manifests"},{"name":"v7.0.2","sha":"76489d81ba77216271870e11fba6889088016fa5","kind":"tag","published_at":"2022-02-08T23:10:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.2","html_url":"https://github.com/rails/rails/releases/tag/v7.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.2/manifests"},{"name":"v7.0.1","sha":"6bfc637659248df5d6719a86d2981b52662d9b50","kind":"tag","published_at":"2022-01-06T21:53:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.1/manifests"},{"name":"v7.0.0","sha":"984c3ef2775781d47efa9f541ce570daa2434a80","kind":"tag","published_at":"2021-12-15T23:42:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.0","html_url":"https://github.com/rails/rails/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0/manifests"},{"name":"v6.1.4.4","sha":"87d4d0f4126f64d991d40a1827de50935ddfdbff","kind":"tag","published_at":"2021-12-15T22:52:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4.4","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.4/manifests"},{"name":"v6.0.4.4","sha":"34bd524a9d7580ceecbf4a6dd9dced6296e20f97","kind":"tag","published_at":"2021-12-15T22:45:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.4","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.4/manifests"},{"name":"v7.0.0.rc3","sha":"834cc1aee3b3a9e0f5884fde1242c6d7b5e8a3dd","kind":"tag","published_at":"2021-12-14T23:04:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.0.rc3","html_url":"https://github.com/rails/rails/releases/tag/v7.0.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.rc3/manifests"},{"name":"v6.1.4.3","sha":"ac2e12a0fd1ff17de5021d4150df7feb864fc83d","kind":"tag","published_at":"2021-12-14T23:02:12.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4.3","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.3/manifests"},{"name":"v6.0.4.3","sha":"0cc179fdc77e57ee2756769ec4d14203d93e2354","kind":"tag","published_at":"2021-12-14T23:00:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.3","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.3/manifests"},{"name":"v6.0.4.2","sha":"9ef61211d7861093a69fa1fbfc2ba136abd37cd2","kind":"tag","published_at":"2021-12-14T20:09:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.2","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.2/manifests"},{"name":"v6.1.4.2","sha":"5e52f65fe99c46d40602f2b46418a3f9fee2260e","kind":"tag","published_at":"2021-12-14T19:45:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4.2","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.2/manifests"},{"name":"v7.0.0.rc2","sha":"69e2e898478a1795913b8fda7cb95079228f8fb2","kind":"tag","published_at":"2021-12-14T19:39:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v7.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.rc2/manifests"},{"name":"v7.0.0.rc1","sha":"7c10fe108adfb1cd1c35ce44d5fbc0dd820c76d4","kind":"tag","published_at":"2021-12-06T21:27:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.rc1/manifests"},{"name":"v7.0.0.alpha2","sha":"ceb4b94baaf17f3a9f4ea795c83ec6c67211f737","kind":"tag","published_at":"2021-09-15T23:14:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.0.alpha2","html_url":"https://github.com/rails/rails/releases/tag/v7.0.0.alpha2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.alpha2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.alpha2/manifests"},{"name":"v7.0.0.alpha1","sha":"9b7be48212a2b6979b8af5093bb58ee5087e5044","kind":"tag","published_at":"2021-09-15T21:55:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v7.0.0.alpha1","html_url":"https://github.com/rails/rails/releases/tag/v7.0.0.alpha1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.alpha1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v7.0.0.alpha1/manifests"},{"name":"v6.1.4.1","sha":"90357af08048ef5076730505f6e7b14a81f33d0c","kind":"tag","published_at":"2021-08-19T16:25:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4.1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4.1/manifests"},{"name":"v6.0.4.1","sha":"0d304eae601f085274b2e2c04316e025b443da62","kind":"tag","published_at":"2021-08-19T16:15:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4.1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4.1/manifests"},{"name":"v6.1.4","sha":"83217025a171593547d1268651b446d3533e2019","kind":"tag","published_at":"2021-06-24T20:39:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.4","html_url":"https://github.com/rails/rails/releases/tag/v6.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.4/manifests"},{"name":"v6.0.4","sha":"6e721d79ba9458317c93bb02590bbaa25c5a3649","kind":"tag","published_at":"2021-06-15T20:14:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.4","html_url":"https://github.com/rails/rails/releases/tag/v6.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.4/manifests"},{"name":"v5.2.6","sha":"48661542a2607d55f436438fe21001d262e61fec","kind":"tag","published_at":"2021-05-05T17:02:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.6","html_url":"https://github.com/rails/rails/releases/tag/v5.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.6/manifests"},{"name":"v6.0.3.7","sha":"c04aff675d4cd3e8a54e0008dbfca10a8832a414","kind":"tag","published_at":"2021-05-05T16:01:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.7","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.7/manifests"},{"name":"v6.1.3.2","sha":"75ac626c4e21129d8296d4206a1960563cc3d4aa","kind":"tag","published_at":"2021-05-05T15:34:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.3.2","html_url":"https://github.com/rails/rails/releases/tag/v6.1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.3.2/manifests"},{"name":"v5.2.4.6","sha":"26126839058bad41120b5d74f3cc06b93baa987e","kind":"tag","published_at":"2021-05-05T15:28:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4.6","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.6/manifests"},{"name":"v6.1.3.1","sha":"85c6823b77b60f2a3a6a25d7a1013032e8c580ef","kind":"tag","published_at":"2021-03-26T18:05:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.3.1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.3.1/manifests"},{"name":"v6.0.3.6","sha":"0073c7b29339b2ee1e11aa5c9622ea452d0633fc","kind":"tag","published_at":"2021-03-26T17:31:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.6","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.6/manifests"},{"name":"v5.2.5","sha":"cb0a558f42fc6957fac4d2daa16771b72ff7da6e","kind":"tag","published_at":"2021-03-26T17:16:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.5","html_url":"https://github.com/rails/rails/releases/tag/v5.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.5/manifests"},{"name":"v6.1.3","sha":"5aaaa1630ae9a71b3c3ecc4dc46074d678c08d67","kind":"tag","published_at":"2021-02-17T18:39:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.3","html_url":"https://github.com/rails/rails/releases/tag/v6.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.3/manifests"},{"name":"v6.1.2.1","sha":"130c128eae233bf71231c73b9c3c3b3f3ede918b","kind":"tag","published_at":"2021-02-10T20:44:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.2.1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.2.1/manifests"},{"name":"v6.0.3.5","sha":"c5929d5eb55b749bc124b3ccc2d79323d015701f","kind":"tag","published_at":"2021-02-10T20:39:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.5","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.5/manifests"},{"name":"v5.2.4.5","sha":"dc7364b1f39cf2fa3c3af3ea0f239f9ae1b5a790","kind":"tag","published_at":"2021-02-10T20:34:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4.5","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.5/manifests"},{"name":"v6.1.2","sha":"bf8c59cd896b1bf98d0f3df356531fa4c163219f","kind":"tag","published_at":"2021-02-09T21:27:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.2","html_url":"https://github.com/rails/rails/releases/tag/v6.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.2/manifests"},{"name":"v6.1.1","sha":"5f3ff60084ab5d5921ca3499814e4697f8350ee7","kind":"tag","published_at":"2021-01-07T22:58:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.1/manifests"},{"name":"v6.1.0","sha":"914caca2d31bd753f47f9168f2a375921d9e91cc","kind":"tag","published_at":"2020-12-09T19:56:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.0","html_url":"https://github.com/rails/rails/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.0/manifests"},{"name":"v6.1.0.rc2","sha":"b38eb45ad9cb2041b30ac5d4d7b5b6e7b911ff2e","kind":"tag","published_at":"2020-12-01T22:00:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v6.1.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.0.rc2/manifests"},{"name":"v6.1.0.rc1","sha":"8389f9902c3f0e984df17a77386493f856d7a1bb","kind":"tag","published_at":"2020-11-02T21:13:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.1.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v6.1.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.1.0.rc1/manifests"},{"name":"v6.0.3.4","sha":"fe76a95b0d252a2d7c25e69498b720c96b243ea2","kind":"tag","published_at":"2020-10-07T16:49:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.4","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.4/manifests"},{"name":"v5.2.4.4","sha":"404ad9e8acf8ab45ae2314050131a00e57e63b40","kind":"tag","published_at":"2020-09-09T18:35:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4.4","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.4/manifests"},{"name":"v6.0.3.3","sha":"070d4afacd3e9721b7e3a4634e4d026b5fa2c32c","kind":"tag","published_at":"2020-09-09T18:18:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.3","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.3/manifests"},{"name":"v6.0.3.2","sha":"fbe2433be6e052a1acac63c7faf287c52ed3c5ba","kind":"tag","published_at":"2020-06-17T14:53:35.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.2","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.2/manifests"},{"name":"v6.0.3.1","sha":"34991a6ae2fc68347c01ea7382fa89004159e019","kind":"tag","published_at":"2020-05-18T15:46:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.1/manifests"},{"name":"v5.2.4.3","sha":"7b5cc5a5dfcf38522be0a4b5daa97c5b2ba26c20","kind":"tag","published_at":"2020-05-18T15:41:33.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4.3","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.3/manifests"},{"name":"v4.2.11.3","sha":"11f2bdf75a888682b34df0f9be03b94f54fc6796","kind":"tag","published_at":"2020-05-15T18:34:39.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.11.3","html_url":"https://github.com/rails/rails/releases/tag/v4.2.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11.3/manifests"},{"name":"v4.2.11.2","sha":"b9e5577b9943e21a216acccdc29c297585424c58","kind":"tag","published_at":"2020-05-15T16:29:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.11.2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11.2/manifests"},{"name":"v6.0.3","sha":"b738f1930f3c82f51741ef7241c1fee691d7deb2","kind":"tag","published_at":"2020-05-06T18:03:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3/manifests"},{"name":"v6.0.3.rc1","sha":"509b9da209a8481fef8310bc14d6c6cd27c629dc","kind":"tag","published_at":"2020-05-01T17:16:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.3.rc1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.3.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.3.rc1/manifests"},{"name":"v6.0.2.2","sha":"157920aead96865e3135f496c09ace607d5620dc","kind":"tag","published_at":"2020-03-19T16:43:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.2.2","html_url":"https://github.com/rails/rails/releases/tag/v6.0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.2/manifests"},{"name":"v5.2.4.2","sha":"4dcc5435e9569e084f6f90fcea6e7c37d7bd2b4d","kind":"tag","published_at":"2020-03-19T16:30:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4.2","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.2/manifests"},{"name":"v6.0.2.1","sha":"f33d52c95217212cbacc8d5e44b5a8e3cdc6f5b3","kind":"tag","published_at":"2019-12-18T19:07:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.2.1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.1/manifests"},{"name":"v5.2.4.1","sha":"ac30e389ecfa0e26e3d44c1eda8488ddf63b3ecc","kind":"tag","published_at":"2019-12-18T19:00:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4.1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.1/manifests"},{"name":"v6.0.2","sha":"f675cb30ce813a99b52b139a93e048330922fd9a","kind":"tag","published_at":"2019-12-13T18:08:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.2","html_url":"https://github.com/rails/rails/releases/tag/v6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2/manifests"},{"name":"v6.0.2.rc2","sha":"63107e9914c893336f7612c2cd17a24474b6a6d6","kind":"tag","published_at":"2019-12-09T16:10:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.2.rc2","html_url":"https://github.com/rails/rails/releases/tag/v6.0.2.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.rc2/manifests"},{"name":"v5.2.4","sha":"8bec77cc0f1fd47677a331a64f68c5918efd2ca9","kind":"tag","published_at":"2019-11-27T15:42:23.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4/manifests"},{"name":"v6.0.2.rc1","sha":"a015f55240258723df311360123af22b3204fa08","kind":"tag","published_at":"2019-11-27T15:08:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.2.rc1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.2.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.2.rc1/manifests"},{"name":"v5.2.4.rc1","sha":"9e2a34122bd436e92a21ded4a50fa23461c29a4e","kind":"tag","published_at":"2019-11-23T00:26:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.4.rc1/manifests"},{"name":"v6.0.1","sha":"09a2979f75c51afb797dd60261a8930f84144af8","kind":"tag","published_at":"2019-11-05T14:38:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.1/manifests"},{"name":"v6.0.1.rc1","sha":"7982363efabc03e4624cd35aa86e2d284dcd35f7","kind":"tag","published_at":"2019-10-31T20:04:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.1.rc1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.1.rc1/manifests"},{"name":"v6.0.0","sha":"66cabeda2c46c582d19738e1318be8d59584cc5b","kind":"tag","published_at":"2019-08-16T17:59:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.0","html_url":"https://github.com/rails/rails/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0/manifests"},{"name":"v6.0.0.rc2","sha":"16f2cd88e3ee92de341ba30b102e9206be3c68a7","kind":"tag","published_at":"2019-07-22T21:08:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v6.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.rc2/manifests"},{"name":"v6.0.0.rc1","sha":"01b7e9b73ac9dca92be0969e047b9cb0c767f261","kind":"tag","published_at":"2019-04-24T18:49:12.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.rc1/manifests"},{"name":"v5.2.3","sha":"b9ca94caea2ca6a6cc09abaffaad67b447134079","kind":"tag","published_at":"2019-03-28T02:59:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.3","html_url":"https://github.com/rails/rails/releases/tag/v5.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.3/manifests"},{"name":"v5.1.7","sha":"4f66945cd038bda638fc6729e0d54663d0dfbf22","kind":"tag","published_at":"2019-03-28T02:46:34.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.7","html_url":"https://github.com/rails/rails/releases/tag/v5.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.7/manifests"},{"name":"v5.1.7.rc1","sha":"ce0c4f3c822d75dda3226e92b9fb24f79bbd91d7","kind":"tag","published_at":"2019-03-22T04:11:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.7.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.7.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.7.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.7.rc1/manifests"},{"name":"v5.2.3.rc1","sha":"657103b603db54aa299055c38d085684f47650ab","kind":"tag","published_at":"2019-03-22T03:34:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.3.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.3.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.3.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.3.rc1/manifests"},{"name":"v6.0.0.beta3","sha":"7c87fd5635fd830905e17d3cbf1eb2a2215acedf","kind":"tag","published_at":"2019-03-13T17:01:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.0.beta3","html_url":"https://github.com/rails/rails/releases/tag/v6.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.beta3/manifests"},{"name":"v5.2.2.1","sha":"e69ff43060c1194d2a3bd9b8d9e23f3ae26b84b5","kind":"tag","published_at":"2019-03-13T16:46:43.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.2.1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.2.1/manifests"},{"name":"v5.1.6.2","sha":"ec8697bf0bfafff7d897fb50e322afe42ddc1623","kind":"tag","published_at":"2019-03-13T16:44:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.6.2","html_url":"https://github.com/rails/rails/releases/tag/v5.1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.6.2/manifests"},{"name":"v5.0.7.2","sha":"c4d3e202e10ae627b3b9c34498afb45450652421","kind":"tag","published_at":"2019-03-13T16:39:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.7.2","html_url":"https://github.com/rails/rails/releases/tag/v5.0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.7.2/manifests"},{"name":"v4.2.11.1","sha":"e06a1e09b6bec32b0a05c72a3ae7ceb00f61bf7d","kind":"tag","published_at":"2019-03-13T16:35:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.11.1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11.1/manifests"},{"name":"test-tag-1","sha":"1dc4d49f517e5cea99063afd9692b201199484ef","kind":"tag","published_at":"2019-03-13T16:22:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/test-tag-1","html_url":"https://github.com/rails/rails/releases/tag/test-tag-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/test-tag-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/test-tag-1/manifests"},{"name":"v6.0.0.beta2","sha":"5e6e505083c2b0caf85b2f86c6be3ff3d8750857","kind":"tag","published_at":"2019-02-25T22:45:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.0.beta2","html_url":"https://github.com/rails/rails/releases/tag/v6.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.beta2/manifests"},{"name":"v6.0.0.beta1","sha":"5a0230c67f852fb21173f99647e76336897446c1","kind":"tag","published_at":"2019-01-18T20:43:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v6.0.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v6.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v6.0.0.beta1/manifests"},{"name":"v5.2.2","sha":"94b5cd3a20edadd6f6b8cf0bdf1a4d4919df86cb","kind":"tag","published_at":"2018-12-04T18:12:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.2","html_url":"https://github.com/rails/rails/releases/tag/v5.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.2/manifests"},{"name":"v5.2.2.rc1","sha":"73ba3027261ef3ef75f29a037d11361240282be4","kind":"tag","published_at":"2018-11-28T22:51:28.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.2.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.2.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.2.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.2.rc1/manifests"},{"name":"v5.2.1.1","sha":"96dee0e7e5a8dd6ce42999b13d0bd0623073e229","kind":"tag","published_at":"2018-11-27T20:12:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.1.1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.1.1/manifests"},{"name":"v5.1.6.1","sha":"24ab200e26f7faee1f04a1d37b650e0becb79a41","kind":"tag","published_at":"2018-11-27T20:10:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.6.1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.6.1/manifests"},{"name":"v5.0.7.1","sha":"23839528551bebd65c210c51c29b91acff875c01","kind":"tag","published_at":"2018-11-27T20:08:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.7.1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.7.1/manifests"},{"name":"v4.2.11","sha":"474b7392c69852e8932260ea370cd63cf1e4fcaa","kind":"tag","published_at":"2018-11-27T20:06:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.11","html_url":"https://github.com/rails/rails/releases/tag/v4.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.11/manifests"},{"name":"v5.2.1","sha":"fc5dd0b85189811062c85520fd70de8389b55aeb","kind":"tag","published_at":"2018-08-07T21:42:35.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.1/manifests"},{"name":"v5.2.1.rc1","sha":"90c033984f38e40c2ff53c036d89ee22c88fadab","kind":"tag","published_at":"2018-07-30T20:09:42.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.1.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.1.rc1/manifests"},{"name":"v5.2.0","sha":"375a4143cf5caeb6159b338be824903edfd62836","kind":"tag","published_at":"2018-04-09T20:04:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.0","html_url":"https://github.com/rails/rails/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0/manifests"},{"name":"v5.1.6","sha":"0ae59ea828ed20141af0d4c9ed9130eb47ce55f3","kind":"tag","published_at":"2018-03-29T18:27:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.6","html_url":"https://github.com/rails/rails/releases/tag/v5.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.6/manifests"},{"name":"v5.0.7","sha":"aea6423f013ca48f7704c70deadf2cd6ac7d70a1","kind":"tag","published_at":"2018-03-29T17:58:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.7","html_url":"https://github.com/rails/rails/releases/tag/v5.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.7/manifests"},{"name":"v5.2.0.rc2","sha":"db7edd81062648281d1e50c8ff9ebfafac5a9c3d","kind":"tag","published_at":"2018-03-20T17:49:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v5.2.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.rc2/manifests"},{"name":"v5.1.5","sha":"6ccd2b0efdfb8e9ef41764ee60dfac9731338608","kind":"tag","published_at":"2018-02-14T19:51:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.5","html_url":"https://github.com/rails/rails/releases/tag/v5.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.5/manifests"},{"name":"v5.1.5.rc1","sha":"f8c00c130016b248d1d409f131356632dcc418c6","kind":"tag","published_at":"2018-02-01T18:57:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.5.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.5.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.5.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.5.rc1/manifests"},{"name":"v5.2.0.rc1","sha":"6a97a17f195a925959866edda2e951e20d7b1e76","kind":"tag","published_at":"2018-01-30T23:35:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.rc1/manifests"},{"name":"v5.2.0.beta2","sha":"3ae1e1f3c055fe5b89287fb8e0e5b31416383fb8","kind":"tag","published_at":"2017-11-28T05:01:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.0.beta2","html_url":"https://github.com/rails/rails/releases/tag/v5.2.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.beta2/manifests"},{"name":"v5.2.0.beta1","sha":"382e7d2e23ca8d0ad552dd759b9cbb88751a2fbc","kind":"tag","published_at":"2017-11-27T18:02:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.2.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v5.2.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.2.0.beta1/manifests"},{"name":"v4.2.10","sha":"6b9a1ac484a4eda1b43aba7ed864952aac743ab9","kind":"tag","published_at":"2017-09-27T14:26:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.10","html_url":"https://github.com/rails/rails/releases/tag/v4.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.10/manifests"},{"name":"v4.2.10.rc1","sha":"84e0a231e9100db8eff73a1b6b9ae82db2ade2d8","kind":"tag","published_at":"2017-09-20T19:39:05.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.10.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.10.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.10.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.10.rc1/manifests"},{"name":"v5.1.4","sha":"813af4655f9bf3c712cf50205eebd337070cee52","kind":"tag","published_at":"2017-09-08T00:49:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.4","html_url":"https://github.com/rails/rails/releases/tag/v5.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.4/manifests"},{"name":"v5.0.6","sha":"71f4758c50fca5220429365c23b014458e7341f6","kind":"tag","published_at":"2017-09-08T00:45:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.6","html_url":"https://github.com/rails/rails/releases/tag/v5.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.6/manifests"},{"name":"v5.1.4.rc1","sha":"df776aabc45b17dff2cf8edbdd3b1367a1c21167","kind":"tag","published_at":"2017-08-24T19:35:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.4.rc1/manifests"},{"name":"v5.0.6.rc1","sha":"656bd2de78f549b353d0c08b54d8a7445d47d2df","kind":"tag","published_at":"2017-08-24T19:09:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.6.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.6.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.6.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.6.rc1/manifests"},{"name":"v5.1.3","sha":"c338c66f84d847f3ddf06d3e064426c7991e553d","kind":"tag","published_at":"2017-08-03T19:13:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.3","html_url":"https://github.com/rails/rails/releases/tag/v5.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3/manifests"},{"name":"v5.1.3.rc3","sha":"57ff548532b35330e822e27df629a952cf33bf37","kind":"tag","published_at":"2017-07-31T19:11:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.3.rc3","html_url":"https://github.com/rails/rails/releases/tag/v5.1.3.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3.rc3/manifests"},{"name":"v5.0.5","sha":"450889d1464431a04ef5c8a0f6a45b877aafe506","kind":"tag","published_at":"2017-07-31T19:03:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.5","html_url":"https://github.com/rails/rails/releases/tag/v5.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.5/manifests"},{"name":"v5.0.5.rc2","sha":"a7ad9f18371ebc3a14616cbfe216e6d87cbcba6d","kind":"tag","published_at":"2017-07-25T20:24:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.5.rc2","html_url":"https://github.com/rails/rails/releases/tag/v5.0.5.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.5.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.5.rc2/manifests"},{"name":"v5.1.3.rc2","sha":"885b69237b40712ddda075796dc881d4da7af55e","kind":"tag","published_at":"2017-07-25T20:16:18.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.3.rc2","html_url":"https://github.com/rails/rails/releases/tag/v5.1.3.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3.rc2/manifests"},{"name":"v5.0.5.rc1","sha":"872372aa93ae2abdcbb148d318c336563d0ba330","kind":"tag","published_at":"2017-07-19T19:42:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.5.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.5.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.5.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.5.rc1/manifests"},{"name":"v5.1.3.rc1","sha":"b6e24dbfc8d68c82dd62f2e99d668dca8df9b7f1","kind":"tag","published_at":"2017-07-19T19:29:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.3.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.3.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.3.rc1/manifests"},{"name":"v5.1.2","sha":"f8f3d709fc0df1fee5eadbaa5f518d2aef4a4f02","kind":"tag","published_at":"2017-06-26T21:49:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.2","html_url":"https://github.com/rails/rails/releases/tag/v5.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.2/manifests"},{"name":"v4.2.9","sha":"79c9f2e9422a23d144b71a18bd3058823b498116","kind":"tag","published_at":"2017-06-26T21:29:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.9","html_url":"https://github.com/rails/rails/releases/tag/v4.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.9/manifests"},{"name":"v5.1.2.rc1","sha":"1a32a58ea7ee61dab2c4628585a3ecb3e2d7320c","kind":"tag","published_at":"2017-06-20T17:02:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.2.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.2.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.2.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.2.rc1/manifests"},{"name":"v4.2.9.rc2","sha":"e13f5ba35b7105e4e66ff0b236018a6ad934da9f","kind":"tag","published_at":"2017-06-19T22:26:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.9.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.9.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.9.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.9.rc2/manifests"},{"name":"v5.0.4","sha":"c52823a0cf30a79e1abddc53aa8c6d0494ba5515","kind":"tag","published_at":"2017-06-19T21:57:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.4","html_url":"https://github.com/rails/rails/releases/tag/v5.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.4/manifests"},{"name":"v5.0.4.rc1","sha":"a2e6b307ba632082a9fb0d22716e7fa96da6543d","kind":"tag","published_at":"2017-06-14T20:47:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.4.rc1/manifests"},{"name":"v4.2.9.rc1","sha":"3c184ed4834a85b1eb197b6c530a5af13803f44f","kind":"tag","published_at":"2017-06-13T18:49:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.9.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.9.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.9.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.9.rc1/manifests"},{"name":"v5.1.1","sha":"c48b21685f4fec1c7a1c9b4e0dde4da89140ee22","kind":"tag","published_at":"2017-05-12T19:58:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.1/manifests"},{"name":"v5.0.3","sha":"52780d5d66515b3d9e5d10d2975deda3699ffd88","kind":"tag","published_at":"2017-05-12T19:53:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.3","html_url":"https://github.com/rails/rails/releases/tag/v5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.3/manifests"},{"name":"v5.1.0","sha":"ce93740a5e4437dfc1cf9b0b13da1bad06a2a598","kind":"tag","published_at":"2017-04-27T20:59:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.0","html_url":"https://github.com/rails/rails/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0/manifests"},{"name":"v5.1.0.rc2","sha":"2745ab856dbd0c0b846a4aa5d15d046e19466c6f","kind":"tag","published_at":"2017-04-21T01:28:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v5.1.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0.rc2/manifests"},{"name":"v5.1.0.rc1","sha":"d3b798b0879c70f3989efd322323a057a8507c99","kind":"tag","published_at":"2017-03-20T18:56:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0.rc1/manifests"},{"name":"v5.0.2","sha":"38ed1f4be114b77bd2004792b9583552a30921a2","kind":"tag","published_at":"2017-03-01T23:12:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.2","html_url":"https://github.com/rails/rails/releases/tag/v5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.2/manifests"},{"name":"v5.0.2.rc1","sha":"2c858521b8e3a4d00b703a5ec08adbfe6141497c","kind":"tag","published_at":"2017-02-25T00:54:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.2.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.2.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.2.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.2.rc1/manifests"},{"name":"v5.1.0.beta1","sha":"f4acdd83ff76e2338895073ed914c525e7bb33b4","kind":"tag","published_at":"2017-02-23T19:54:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.1.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v5.1.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.1.0.beta1/manifests"},{"name":"v4.2.8","sha":"8ee716182df410052707c3d1eabf8bfd8e0e1c5e","kind":"tag","published_at":"2017-02-21T16:07:29.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.8","html_url":"https://github.com/rails/rails/releases/tag/v4.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.8/manifests"},{"name":"v4.2.8.rc1","sha":"8dd608b7b7b60f2fa8c5a3aaa0c8ab465ee50456","kind":"tag","published_at":"2017-02-10T02:43:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.8.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.8.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.8.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.8.rc1/manifests"},{"name":"v5.0.1","sha":"912ae0b34bf541f18d051c8a274a54aef91a5e04","kind":"tag","published_at":"2016-12-21T00:05:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.1/manifests"},{"name":"v5.0.1.rc2","sha":"0ef292cc8b1d66cbc85e271029402e72dfad66b5","kind":"tag","published_at":"2016-12-09T19:07:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.1.rc2","html_url":"https://github.com/rails/rails/releases/tag/v5.0.1.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.1.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.1.rc2/manifests"},{"name":"v5.0.1.rc1","sha":"82be3fe096231108e290433b5fe803451a37a160","kind":"tag","published_at":"2016-11-30T19:51:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.1.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.1.rc1/manifests"},{"name":"v3.2.22.5","sha":"e4b0a5f66ebd2b7f29e4f868d2f6b2504df091e6","kind":"tag","published_at":"2016-09-14T21:16:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.22.5","html_url":"https://github.com/rails/rails/releases/tag/v3.2.22.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.5/manifests"},{"name":"v3.2.22.4","sha":"c4e01690620c319ac3f04d213003f8001f33d14b","kind":"commit","published_at":"2016-08-11T19:17:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.22.4","html_url":"https://github.com/rails/rails/releases/tag/v3.2.22.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.4/manifests"},{"name":"v5.0.0.1","sha":"cdb307294a43eec489f0ea6ffdc6f0a07b16ff5c","kind":"commit","published_at":"2016-08-10T22:41:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.1/manifests"},{"name":"v4.2.7.1","sha":"26dadfb187b1cf13dc2f783198b91b32d141c3ab","kind":"commit","published_at":"2016-08-10T22:25:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.7.1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.7.1/manifests"},{"name":"v3.2.22.3","sha":"ebc3639139d21eeb8452edb28ce62530cc075198","kind":"commit","published_at":"2016-08-10T22:23:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.22.3","html_url":"https://github.com/rails/rails/releases/tag/v3.2.22.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.3/manifests"},{"name":"v4.2.7","sha":"7f2327f65b4117384bec3547ccd5a99028df57e0","kind":"tag","published_at":"2016-07-13T02:54:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.7","html_url":"https://github.com/rails/rails/releases/tag/v4.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.7/manifests"},{"name":"v4.1.16","sha":"d8803304051639dfcb87d61f58a1960b1005de87","kind":"tag","published_at":"2016-07-12T22:19:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.16","html_url":"https://github.com/rails/rails/releases/tag/v4.1.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.16/manifests"},{"name":"v4.1.16.rc1","sha":"871d63e2c7632a59989ffce0137b482ab5d94fe5","kind":"tag","published_at":"2016-07-02T02:13:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.16.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.16.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.16.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.16.rc1/manifests"},{"name":"v4.2.7.rc1","sha":"5a85938418285ab81e3db52ea102d19f95ed7a94","kind":"tag","published_at":"2016-07-01T00:30:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.7.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.7.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.7.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.7.rc1/manifests"},{"name":"v5.0.0","sha":"2efddadd6cba4e2129acedf1d402d11abcc03996","kind":"tag","published_at":"2016-06-30T21:20:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0/manifests"},{"name":"v5.0.0.rc2","sha":"50e0a6b209d1afe6c2bc3047208e14f13ac3b382","kind":"tag","published_at":"2016-06-22T20:01:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.rc2/manifests"},{"name":"v5.0.0.rc1","sha":"fbdcf5221ad7ea3d40ad09651962fc85d101dd67","kind":"tag","published_at":"2016-05-06T21:55:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.rc1/manifests"},{"name":"v5.0.0.beta4","sha":"f7a986012a6099445e20b6414d253ee0fc039118","kind":"tag","published_at":"2016-04-27T20:53:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.beta4","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.beta4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta4/manifests"},{"name":"v4.1.15","sha":"d5c4b82b64f3cdd511eb79c4d43d6ab1548c0dee","kind":"tag","published_at":"2016-03-07T22:35:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.15","html_url":"https://github.com/rails/rails/releases/tag/v4.1.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.15/manifests"},{"name":"v4.2.6","sha":"a0e0b67b5afbb02d9ea9e48d71ae80b3efb8c0ac","kind":"tag","published_at":"2016-03-07T22:31:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.6","html_url":"https://github.com/rails/rails/releases/tag/v4.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.6/manifests"},{"name":"v4.1.15.rc1","sha":"06d2bfd42a08ebdab9b0ad94e690841a80c93830","kind":"tag","published_at":"2016-03-01T18:42:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.15.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.15.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.15.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.15.rc1/manifests"},{"name":"v4.2.6.rc1","sha":"ef8ace7dc97fa810bb59f1aac386b71db239c3ec","kind":"tag","published_at":"2016-03-01T18:36:27.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.6.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.6.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.6.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.6.rc1/manifests"},{"name":"v4.1.14.2","sha":"4cffd33a96da706fb36ab8dbf37732749ca27cfc","kind":"tag","published_at":"2016-02-29T19:17:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.14.2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.2/manifests"},{"name":"v4.2.5.2","sha":"97ad61e9583e2bf5c57d6f75008cadc80ba9b910","kind":"tag","published_at":"2016-02-29T19:15:29.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.5.2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.2/manifests"},{"name":"v3.2.22.2","sha":"1ac2ddbc433ec96dd06affb6f10f33d9eb12d52a","kind":"commit","published_at":"2016-02-29T18:39:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.22.2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.22.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.2/manifests"},{"name":"v5.0.0.beta3","sha":"dbfa8fdfc29eb913fec6113a74394167aa13cdd6","kind":"tag","published_at":"2016-02-24T16:15:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.beta3","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta3/manifests"},{"name":"v5.0.0.beta2","sha":"49f6ce63f33b7817bcbd0cdf5f8881b63f40d9c9","kind":"tag","published_at":"2016-02-01T21:41:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.beta2","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta2/manifests"},{"name":"v3.2.22.1","sha":"8d86637fb64ae8ae81ab71a286ddba02cc3144a4","kind":"tag","published_at":"2016-01-25T18:27:28.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.22.1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.22.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22.1/manifests"},{"name":"v4.1.14.1","sha":"31ab3aa0e881acfd1475abae602455905a4cadf1","kind":"tag","published_at":"2016-01-25T18:26:23.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.14.1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.1/manifests"},{"name":"v4.2.5.1","sha":"bb382b7aee116446518ca4ed1c6472d6b58f42b5","kind":"tag","published_at":"2016-01-25T18:25:38.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.5.1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.1/manifests"},{"name":"v5.0.0.beta1.1","sha":"908c011395cc9e3ea1bb195f9d1bd30a9d9df98f","kind":"tag","published_at":"2016-01-25T18:24:28.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.beta1.1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.beta1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta1.1/manifests"},{"name":"v5.0.0.beta1","sha":"099ddfdefd44fda11d0f6a72f934f8a0ee83141b","kind":"tag","published_at":"2015-12-18T21:15:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v5.0.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v5.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v5.0.0.beta1/manifests"},{"name":"v4.1.14","sha":"e694ac5fbc30bfe11c5b952084eab178bd649857","kind":"tag","published_at":"2015-11-12T17:19:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.14","html_url":"https://github.com/rails/rails/releases/tag/v4.1.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14/manifests"},{"name":"v4.2.5","sha":"73521d586981279a99d3ba038d62e2414125df7a","kind":"tag","published_at":"2015-11-12T17:02:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.5","html_url":"https://github.com/rails/rails/releases/tag/v4.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5/manifests"},{"name":"v4.2.5.rc2","sha":"5bda404fe1d7b5772560fdec99818b239d4b57aa","kind":"tag","published_at":"2015-11-05T03:00:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.5.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.5.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.rc2/manifests"},{"name":"v4.1.14.rc2","sha":"96c4b1a1311b0f9e099db2819f08a2277377c552","kind":"tag","published_at":"2015-11-05T02:53:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.14.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.14.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.rc2/manifests"},{"name":"v4.2.5.rc1","sha":"a37d0e57571f37e836638934a4e325c3accb550b","kind":"tag","published_at":"2015-10-30T20:46:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.5.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.5.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.5.rc1/manifests"},{"name":"v4.1.14.rc1","sha":"23df8809089cf3e5646829095ab0433f93f3e736","kind":"tag","published_at":"2015-10-30T20:43:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.14.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.14.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.14.rc1/manifests"},{"name":"v3.2.21.github15","sha":"cd41d7f7ed7877f54f9e63a1bdb4f3dbc54c39d8","kind":"tag","published_at":"2015-10-23T19:40:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.21.github15","html_url":"https://github.com/rails/rails/releases/tag/v3.2.21.github15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github15/manifests"},{"name":"v3.2.21.github7","sha":"1cd10a985883a9f67f283f101a0543bc177e2543","kind":"tag","published_at":"2015-10-23T16:10:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.21.github7","html_url":"https://github.com/rails/rails/releases/tag/v3.2.21.github7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github7/manifests"},{"name":"v4.2.4","sha":"dac822ef58ae05f0e805222fa8744116080165ac","kind":"tag","published_at":"2015-08-24T18:23:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.4","html_url":"https://github.com/rails/rails/releases/tag/v4.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.4/manifests"},{"name":"v4.1.13","sha":"10ac0155b19ea5b457417244f4f327404b997935","kind":"tag","published_at":"2015-08-24T17:59:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.13","html_url":"https://github.com/rails/rails/releases/tag/v4.1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.13/manifests"},{"name":"v4.2.4.rc1","sha":"b5cb514c23f64ffd6db05535730df2b4f71f0c61","kind":"tag","published_at":"2015-08-14T15:18:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.4.rc1/manifests"},{"name":"v4.1.13.rc1","sha":"099a9181fcf350b05bc33b61bac288277b994ad0","kind":"tag","published_at":"2015-08-14T15:09:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.13.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.13.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.13.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.13.rc1/manifests"},{"name":"v4.2.3","sha":"6ac6daa43e1c5b7388f8fd69f8117eb7668887c7","kind":"tag","published_at":"2015-06-25T21:28:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.3","html_url":"https://github.com/rails/rails/releases/tag/v4.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.3/manifests"},{"name":"v4.1.12","sha":"adfda00f06248435e0aa2fc6545b1310644d91b6","kind":"tag","published_at":"2015-06-25T21:24:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.12","html_url":"https://github.com/rails/rails/releases/tag/v4.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.12/manifests"},{"name":"v3.2.21.github6","sha":"a31c67b20ca58d5702c21284eab55c48b13e5fff","kind":"commit","published_at":"2015-06-25T17:34:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.21.github6","html_url":"https://github.com/rails/rails/releases/tag/v3.2.21.github6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github6/manifests"},{"name":"v4.2.3.rc1","sha":"496bbfe0897b06c8af1404b59fca7869a27c870d","kind":"tag","published_at":"2015-06-22T14:21:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.3.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.3.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.3.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.3.rc1/manifests"},{"name":"v4.1.12.rc1","sha":"68d324549668169a41bb30f98afdd01682bc5dec","kind":"tag","published_at":"2015-06-22T14:03:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.12.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.12.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.12.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.12.rc1/manifests"},{"name":"v4.2.2","sha":"5d101c33fa19deca00e251152d25090cc152998f","kind":"tag","published_at":"2015-06-16T18:00:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.2/manifests"},{"name":"v4.1.11","sha":"260da06e6b63f4644fe67e67fbd486585f9d2724","kind":"tag","published_at":"2015-06-16T17:57:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.11","html_url":"https://github.com/rails/rails/releases/tag/v4.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.11/manifests"},{"name":"v3.2.22","sha":"9dc8ddc39424818a3d713a353353ac20cb431218","kind":"commit","published_at":"2015-06-16T16:12:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.22","html_url":"https://github.com/rails/rails/releases/tag/v3.2.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.22/manifests"},{"name":"v3.2.21.github5","sha":"ef93ff18cee87c505efea9f59617d0824c8f31d4","kind":"commit","published_at":"2015-06-10T01:50:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.21.github5","html_url":"https://github.com/rails/rails/releases/tag/v3.2.21.github5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21.github5/manifests"},{"name":"v4.0.13.github1","sha":"754cc500ade37d5e24a98292db99713704ac699f","kind":"commit","published_at":"2015-05-27T04:03:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.13.github1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.13.github1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13.github1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13.github1/manifests"},{"name":"v4.0.13.github0","sha":"d85ceb59b52ba424c6ce664f52714c5e222ab06b","kind":"commit","published_at":"2015-05-15T06:35:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.13.github0","html_url":"https://github.com/rails/rails/releases/tag/v4.0.13.github0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13.github0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13.github0/manifests"},{"name":"v4.1.10","sha":"5496ec8aac95f728465f218d12733cedef84232a","kind":"tag","published_at":"2015-03-19T16:48:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.10","html_url":"https://github.com/rails/rails/releases/tag/v4.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10/manifests"},{"name":"v4.2.1","sha":"f1ccb2e6ecb5486179ee6b20438d562ac45de4f4","kind":"tag","published_at":"2015-03-19T16:39:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1/manifests"},{"name":"v4.1.10.rc4","sha":"410f7d29e998befb27ab0b3dee3bbe83944bdc04","kind":"tag","published_at":"2015-03-12T21:31:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.10.rc4","html_url":"https://github.com/rails/rails/releases/tag/v4.1.10.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc4/manifests"},{"name":"v4.2.1.rc4","sha":"9bd0ca4501879709fcc84a6b206835fe4ead751f","kind":"tag","published_at":"2015-03-12T21:24:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.1.rc4","html_url":"https://github.com/rails/rails/releases/tag/v4.2.1.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc4/manifests"},{"name":"v4.1.10.rc3","sha":"77e324b59ec0e0b09f5c26b035add9de40482470","kind":"tag","published_at":"2015-03-02T21:38:18.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.10.rc3","html_url":"https://github.com/rails/rails/releases/tag/v4.1.10.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc3/manifests"},{"name":"v4.2.1.rc3","sha":"4e2754b5c73e2fd6a8f997beafcbeff888410581","kind":"tag","published_at":"2015-03-02T21:34:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.1.rc3","html_url":"https://github.com/rails/rails/releases/tag/v4.2.1.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc3/manifests"},{"name":"v4.1.10.rc2","sha":"08217de91143353f263ede79bcc01d529f644c30","kind":"tag","published_at":"2015-02-25T22:20:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.10.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.10.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc2/manifests"},{"name":"v4.2.1.rc2","sha":"d48bb9cb018a83a88dd04c9a4cbdee1f5b7ab885","kind":"tag","published_at":"2015-02-25T22:18:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.1.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.1.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc2/manifests"},{"name":"v4.1.10.rc1","sha":"a698862cbce7f12475d3fefdb7268022b3bd9af1","kind":"tag","published_at":"2015-02-20T22:23:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.10.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.10.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.10.rc1/manifests"},{"name":"v4.2.1.rc1","sha":"59bb184078cc23fbbb3a28dc34a51326da87014a","kind":"tag","published_at":"2015-02-20T21:40:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.1.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.1.rc1/manifests"},{"name":"v4.1.9","sha":"cca85ba699242c3266c5132dd601fdd8c5c5bb16","kind":"tag","published_at":"2015-01-06T20:02:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.9","html_url":"https://github.com/rails/rails/releases/tag/v4.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.9/manifests"},{"name":"v4.0.13","sha":"3c194d4a8d585547d1fe45f596d2800c155b1a4c","kind":"commit","published_at":"2015-01-06T19:14:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.13","html_url":"https://github.com/rails/rails/releases/tag/v4.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13/manifests"},{"name":"v4.1.9.rc1","sha":"116695b25890e2587923d4a237ce4107e3adb145","kind":"tag","published_at":"2015-01-02T01:09:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.9.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.9.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.9.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.9.rc1/manifests"},{"name":"v4.0.13.rc1","sha":"e63670a414828148b688eb0efb1e8e626798e7d9","kind":"commit","published_at":"2015-01-02T00:53:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.13.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.13.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.13.rc1/manifests"},{"name":"v4.2.0","sha":"7847a19f476fb9bee287681586d872ea43785e53","kind":"tag","published_at":"2014-12-20T00:14:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0/manifests"},{"name":"v4.2.0.rc3","sha":"203000dd4683e2ce4bdeaa3fe379b811ba8e5401","kind":"tag","published_at":"2014-12-13T02:57:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0.rc3","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.rc3/manifests"},{"name":"v4.2.0.rc2","sha":"4c67c1f551f182aa2730a8a8cfa80fcf02622a92","kind":"tag","published_at":"2014-12-05T23:19:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.rc2/manifests"},{"name":"v4.2.0.rc1","sha":"62264419e95a75da7762caf7d566982d24227794","kind":"tag","published_at":"2014-11-28T17:51:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.rc1/manifests"},{"name":"v4.1.7.1","sha":"7b8e4f82717fcb944eb7e712050b223bd47b544e","kind":"tag","published_at":"2014-11-19T19:10:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.7.1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.7.1/manifests"},{"name":"v4.0.11.1","sha":"a1ec4da291dd3e0705be536e71a963d8d356ff24","kind":"commit","published_at":"2014-11-19T17:43:33.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.11.1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.11.1/manifests"},{"name":"v4.1.8","sha":"b32babc4b0ff8f830933f25375ce9dbfbb356601","kind":"tag","published_at":"2014-11-17T15:50:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.8","html_url":"https://github.com/rails/rails/releases/tag/v4.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.8/manifests"},{"name":"v4.0.12","sha":"ee20103f1b2fa2ea66834682c7173bb23ddd83e0","kind":"tag","published_at":"2014-11-17T15:49:39.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.12","html_url":"https://github.com/rails/rails/releases/tag/v4.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.12/manifests"},{"name":"v3.2.21","sha":"ba886f73a2b4a06f3400f0698290c54566639b6a","kind":"tag","published_at":"2014-11-17T15:48:35.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.21","html_url":"https://github.com/rails/rails/releases/tag/v3.2.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.21/manifests"},{"name":"v3.2.19.github9","sha":"4fc14b1f718f26cae982ba97be3341fa8ddf3f7f","kind":"commit","published_at":"2014-11-10T04:30:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github9","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github9/manifests"},{"name":"v4.2.0.beta4","sha":"4daebedcc41e35079c47d5f130f5c7ad12db8bbb","kind":"commit","published_at":"2014-10-30T21:12:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0.beta4","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0.beta4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta4/manifests"},{"name":"v3.2.20","sha":"346acea281f048c853a6318429daac8d1a2e2d68","kind":"tag","published_at":"2014-10-29T22:40:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.20","html_url":"https://github.com/rails/rails/releases/tag/v3.2.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.20/manifests"},{"name":"v4.0.11","sha":"8cf8a08c7ef417b5183928f1c3c6d785c115bb48","kind":"tag","published_at":"2014-10-29T22:39:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.11","html_url":"https://github.com/rails/rails/releases/tag/v4.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.11/manifests"},{"name":"v4.1.7","sha":"6fe2572af11dc42f33d4f0e33a22391a85f2a1d2","kind":"tag","published_at":"2014-10-29T22:38:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.7","html_url":"https://github.com/rails/rails/releases/tag/v4.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.7/manifests"},{"name":"v4.2.0.beta3","sha":"331d7c6f9e6a481a23e5f120d95f7c0aabb6c60d","kind":"tag","published_at":"2014-10-29T22:38:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0.beta3","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta3/manifests"},{"name":"v3.2.19.github8","sha":"726e9963067c536c15e7994f0db772a80d4a963a","kind":"commit","published_at":"2014-10-09T06:42:43.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github8","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github8/manifests"},{"name":"v3.2.19.github7","sha":"b6f150c40c3fdda7b198bd8779768344fa3eb5fa","kind":"commit","published_at":"2014-10-07T05:41:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github7","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github7/manifests"},{"name":"v3.2.19.github6","sha":"0a3c7ba903767d07b3cf1cb95da6922a48d25c81","kind":"commit","published_at":"2014-10-07T05:29:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github6","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github6/manifests"},{"name":"v4.2.0.beta2","sha":"21bc83306b76c456e83f8824cb5822f9f1195d9c","kind":"tag","published_at":"2014-09-26T17:39:33.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0.beta2","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta2/manifests"},{"name":"v3.2.19.github5","sha":"56d2614309a5c84e4cf9670a4a7a26926ebb618a","kind":"commit","published_at":"2014-09-26T06:58:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github5","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github5/manifests"},{"name":"v3.2.19.github4","sha":"90ded51cc137ab136b5a4452eced5c944124adc5","kind":"commit","published_at":"2014-09-26T05:42:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github4","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github4/manifests"},{"name":"v3.2.19.github3","sha":"7ed2b48747d57d7051f0f3c761afc04cd3d7d079","kind":"commit","published_at":"2014-09-19T08:26:43.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github3","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github3/manifests"},{"name":"v3.2.19.github2","sha":"923ee6adf84fe278e520c48f0ff95875a2fbf6a2","kind":"commit","published_at":"2014-09-18T08:05:34.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19.github2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19.github2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19.github2/manifests"},{"name":"3.2.19.github1","sha":"e27d15746c9b82e921b3dbbdcac57fb5ed71cc75","kind":"commit","published_at":"2014-09-16T01:50:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/3.2.19.github1","html_url":"https://github.com/rails/rails/releases/tag/3.2.19.github1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.2.19.github1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.2.19.github1/manifests"},{"name":"v4.0.10","sha":"5aef91ea98f5df16ab6b9db14229dfba7dee1653","kind":"commit","published_at":"2014-09-11T17:31:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.10","html_url":"https://github.com/rails/rails/releases/tag/v4.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.10/manifests"},{"name":"v4.1.6","sha":"24027162dbe226acfbf3a91872237a9557764d72","kind":"tag","published_at":"2014-09-11T17:24:29.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.6","html_url":"https://github.com/rails/rails/releases/tag/v4.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.6/manifests"},{"name":"v4.1.6.rc2","sha":"57d65e3b286dcddbc4f07db1c618da42f31d1b84","kind":"tag","published_at":"2014-09-08T18:10:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.6.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.6.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.6.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.6.rc2/manifests"},{"name":"v4.0.10.rc2","sha":"91d4433d18b646a8ceb02ea13939ede4710b89ed","kind":"commit","published_at":"2014-09-08T17:53:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.10.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.0.10.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.10.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.10.rc2/manifests"},{"name":"v4.2.0.beta1","sha":"6a23bf0f4c33151e0cec0648e271dc6f5ab3f686","kind":"tag","published_at":"2014-08-20T02:33:35.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.2.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v4.2.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.2.0.beta1/manifests"},{"name":"v4.1.6.rc1","sha":"c5310bed8642656ade02d97c6fae651b54654a6b","kind":"tag","published_at":"2014-08-19T20:51:27.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.6.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.6.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.6.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.6.rc1/manifests"},{"name":"v4.0.10.rc1","sha":"77b60a2c43c1188d4d2d2e52fa5fd59b50e92e1b","kind":"commit","published_at":"2014-08-19T17:41:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.10.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.10.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.10.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.10.rc1/manifests"},{"name":"3.1.12.github1","sha":"808b03caeaceb09ab5d31465852182f03f658ee8","kind":"commit","published_at":"2014-08-18T17:40:42.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/3.1.12.github1","html_url":"https://github.com/rails/rails/releases/tag/3.1.12.github1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.1.12.github1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.1.12.github1/manifests"},{"name":"v4.1.5","sha":"9bb76261d39b59e7e229c80d052ca91a65ff17be","kind":"tag","published_at":"2014-08-18T16:58:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.5","html_url":"https://github.com/rails/rails/releases/tag/v4.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.5/manifests"},{"name":"v4.0.9","sha":"b792566f3ebdd0c7dc688db7a4076d1c2c74f69f","kind":"commit","published_at":"2014-08-18T16:46:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.9","html_url":"https://github.com/rails/rails/releases/tag/v4.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.9/manifests"},{"name":"v4.1.4","sha":"7c4bfe1c954ef90acf4f790e46fcbbd07d85af3e","kind":"tag","published_at":"2014-07-02T19:52:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.4","html_url":"https://github.com/rails/rails/releases/tag/v4.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.4/manifests"},{"name":"v4.0.8","sha":"31e922996b97b7c223ebc1e26d1a1a2764bb0a62","kind":"commit","published_at":"2014-07-02T18:28:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.8","html_url":"https://github.com/rails/rails/releases/tag/v4.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.8/manifests"},{"name":"v4.1.3","sha":"dfa7a76de8c1f7af0ef28119f9ac3072057c665e","kind":"tag","published_at":"2014-07-02T17:04:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.3","html_url":"https://github.com/rails/rails/releases/tag/v4.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.3/manifests"},{"name":"v4.0.7","sha":"f17b04a23e7c597876cb2320ef9d525537e0b0a8","kind":"commit","published_at":"2014-07-02T15:58:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.7","html_url":"https://github.com/rails/rails/releases/tag/v4.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.7/manifests"},{"name":"v3.2.19","sha":"53c845cb185036c71cc9793c4eb6bf4dc989307b","kind":"commit","published_at":"2014-07-02T15:55:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.19","html_url":"https://github.com/rails/rails/releases/tag/v3.2.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.19/manifests"},{"name":"v4.1.2","sha":"0690f6f3a47b8fddf60ac57da006f0b8bfa22e32","kind":"tag","published_at":"2014-06-26T14:48:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2/manifests"},{"name":"v4.0.6","sha":"276b72c60342eb716e7457b447bce1e352780e92","kind":"commit","published_at":"2014-06-26T13:37:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.6","html_url":"https://github.com/rails/rails/releases/tag/v4.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6/manifests"},{"name":"3.0.20.github4","sha":"d5eff4fba90e7cead50c196d0760aaab1283b440","kind":"commit","published_at":"2014-06-23T22:16:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/3.0.20.github4","html_url":"https://github.com/rails/rails/releases/tag/3.0.20.github4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github4/manifests"},{"name":"v4.1.2.rc3","sha":"6ed0f63398ba7268c541f9b959f7a56b68584301","kind":"tag","published_at":"2014-06-23T17:26:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.2.rc3","html_url":"https://github.com/rails/rails/releases/tag/v4.1.2.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2.rc3/manifests"},{"name":"v4.0.6.rc3","sha":"9649cb4b51c7f0194e02252e5b88a362a70da97f","kind":"commit","published_at":"2014-06-23T17:21:34.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.6.rc3","html_url":"https://github.com/rails/rails/releases/tag/v4.0.6.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6.rc3/manifests"},{"name":"3.0.20.github3","sha":"b46168e048931d7d2fcc1a40bc99e1ffd113ad82","kind":"commit","published_at":"2014-06-19T20:31:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/3.0.20.github3","html_url":"https://github.com/rails/rails/releases/tag/3.0.20.github3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github3/manifests"},{"name":"3.0.20.github2","sha":"a3e2e39c9ffe6c8906e2a7a214cd8e85e36f6cf3","kind":"commit","published_at":"2014-06-17T06:03:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/3.0.20.github2","html_url":"https://github.com/rails/rails/releases/tag/3.0.20.github2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github2/manifests"},{"name":"v4.1.2.rc2","sha":"5006b63ae3609aee86c4dae603d8dfe80230b1b1","kind":"tag","published_at":"2014-06-16T16:28:54.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.2.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.2.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2.rc2/manifests"},{"name":"v4.0.6.rc2","sha":"13c6bac0b73d4bba9cf0714b65cd1e339ee481b2","kind":"commit","published_at":"2014-06-16T16:14:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.6.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.0.6.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6.rc2/manifests"},{"name":"3.0.20.github1","sha":"b3037287784eddd7a9d311b82cbfae259de8f96d","kind":"commit","published_at":"2014-06-16T03:04:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/3.0.20.github1","html_url":"https://github.com/rails/rails/releases/tag/3.0.20.github1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/3.0.20.github1/manifests"},{"name":"github49","sha":"51d573aabebcf56c17fe755a160f9c4246edd64a","kind":"commit","published_at":"2014-06-13T05:49:17.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github49","html_url":"https://github.com/rails/rails/releases/tag/github49","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github49","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github49/manifests"},{"name":"v4.1.2.rc1","sha":"fcb1afc245455130ca6d42db8760cc7b43b99d18","kind":"tag","published_at":"2014-05-27T16:11:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.2.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.2.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.2.rc1/manifests"},{"name":"v4.0.6.rc1","sha":"100682883ba38cd8420350ef21d47f26e1b9c6c5","kind":"commit","published_at":"2014-05-27T15:58:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.6.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.6.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.6.rc1/manifests"},{"name":"github45","sha":"730e6a273c0f95a39ea9354a733fc6ec62cf11db","kind":"commit","published_at":"2014-05-16T05:06:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github45","html_url":"https://github.com/rails/rails/releases/tag/github45","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github45","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github45/manifests"},{"name":"github44","sha":"7403667b890c3c7a98041ef48a13b46f3c919a89","kind":"commit","published_at":"2014-05-09T14:52:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github44","html_url":"https://github.com/rails/rails/releases/tag/github44","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github44","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github44/manifests"},{"name":"v4.1.1","sha":"254e8e2c97b5df1dafd54cf8f305f7bad05f4a63","kind":"tag","published_at":"2014-05-06T16:17:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.1/manifests"},{"name":"v3.2.18","sha":"50d6b4549d56ac3a82f2096bd479a7b2305b0bf3","kind":"commit","published_at":"2014-05-06T16:03:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.18","html_url":"https://github.com/rails/rails/releases/tag/v3.2.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.18/manifests"},{"name":"v4.0.5","sha":"15ac2f0b6b2702f180707f480eb966a4e3b96e25","kind":"commit","published_at":"2014-05-06T14:32:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.5","html_url":"https://github.com/rails/rails/releases/tag/v4.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.5/manifests"},{"name":"v4.1.0","sha":"4e168015cef61207981d2427d4dbb6cf15f71182","kind":"tag","published_at":"2014-04-08T19:19:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.0","html_url":"https://github.com/rails/rails/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0/manifests"},{"name":"github41","sha":"a141d9de0dcb6eb088e6e04dda238864754f29dc","kind":"commit","published_at":"2014-03-27T12:55:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github41","html_url":"https://github.com/rails/rails/releases/tag/github41","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github41","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github41/manifests"},{"name":"v4.1.0.rc2","sha":"6b6f8b566ef3245f5b25d03c61b2af0a1f55301e","kind":"tag","published_at":"2014-03-25T20:10:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.rc2/manifests"},{"name":"v4.0.4","sha":"2abe4b032d080f7177c6f2e34c9124c468e8a293","kind":"commit","published_at":"2014-03-14T17:35:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.4","html_url":"https://github.com/rails/rails/releases/tag/v4.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.4/manifests"},{"name":"v4.0.4.rc1","sha":"26bfdf9f300be2ada831a34b8eb71f55a9a5122f","kind":"commit","published_at":"2014-03-11T17:28:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.4.rc1/manifests"},{"name":"github40","sha":"4fdaf21b280a4b4be51b35b9db9bbaeb6cceb251","kind":"commit","published_at":"2014-02-18T21:28:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github40","html_url":"https://github.com/rails/rails/releases/tag/github40","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github40","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github40/manifests"},{"name":"v4.1.0.rc1","sha":"78ba185fb91d7066ae5c396ca97034c13054236c","kind":"tag","published_at":"2014-02-18T20:52:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.rc1/manifests"},{"name":"v4.1.0.beta2","sha":"8b20c72dd80e2faf531f308d430a145a253aeac3","kind":"tag","published_at":"2014-02-18T18:45:39.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.0.beta2","html_url":"https://github.com/rails/rails/releases/tag/v4.1.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.beta2/manifests"},{"name":"v4.0.3","sha":"1f6113c6a9f1f2f8e362b0e7702afac5d8cf98db","kind":"tag","published_at":"2014-02-18T18:38:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.3","html_url":"https://github.com/rails/rails/releases/tag/v4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.3/manifests"},{"name":"v3.2.17","sha":"666e9f65bdfeb6cc5aa80b6254608adc3d7845ce","kind":"tag","published_at":"2014-02-18T18:17:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.17","html_url":"https://github.com/rails/rails/releases/tag/v3.2.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.17/manifests"},{"name":"github39","sha":"d0e554d231ad3a2671bd815da1f38d5a2e924d8f","kind":"tag","published_at":"2014-02-14T05:12:27.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github39","html_url":"https://github.com/rails/rails/releases/tag/github39","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github39","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github39/manifests"},{"name":"github37","sha":"3d7281835686053d5654344f6e5740b606bac588","kind":"commit","published_at":"2014-01-21T02:05:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github37","html_url":"https://github.com/rails/rails/releases/tag/github37","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github37","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github37/manifests"},{"name":"github35","sha":"3766b1b377c39204eca2101eaf1ec607c6c0844e","kind":"commit","published_at":"2014-01-13T21:58:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github35","html_url":"https://github.com/rails/rails/releases/tag/github35","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github35","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github35/manifests"},{"name":"github34","sha":"f63b0340ff63fcda44876472b9f883614c33749e","kind":"commit","published_at":"2014-01-09T05:04:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github34","html_url":"https://github.com/rails/rails/releases/tag/github34","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github34","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github34/manifests"},{"name":"github33","sha":"cedf026a1462764b732a481e3b149148dcc3081c","kind":"commit","published_at":"2013-12-30T04:45:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github33","html_url":"https://github.com/rails/rails/releases/tag/github33","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github33","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github33/manifests"},{"name":"v4.1.0.beta1","sha":"f706d5f945c5751072bb90d080aff154e6858435","kind":"commit","published_at":"2013-12-18T00:10:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.1.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v4.1.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.1.0.beta1/manifests"},{"name":"v4.0.2","sha":"98d06c6bd4eefeeb342d05116fccefa11875cb9b","kind":"tag","published_at":"2013-12-03T01:10:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.2","html_url":"https://github.com/rails/rails/releases/tag/v4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.2/manifests"},{"name":"v3.2.16","sha":"64226302d82493d9bf67aa9e4fa52b4e0269ee3d","kind":"tag","published_at":"2013-12-03T00:25:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.16","html_url":"https://github.com/rails/rails/releases/tag/v3.2.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.16/manifests"},{"name":"github31","sha":"c0124ba8f356b1a03c7d47fd249be374b6b49b19","kind":"commit","published_at":"2013-12-02T09:43:27.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github31","html_url":"https://github.com/rails/rails/releases/tag/github31","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github31/manifests"},{"name":"v4.0.1","sha":"5505c1d700f17e2009e1189a7aa6dafafe7062a4","kind":"commit","published_at":"2013-11-01T18:01:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1/manifests"},{"name":"v4.0.1.rc4","sha":"9466dad7468f106bad6f8e2a0b468fb3ab113dcb","kind":"tag","published_at":"2013-10-30T19:30:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.1.rc4","html_url":"https://github.com/rails/rails/releases/tag/v4.0.1.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc4/manifests"},{"name":"github30","sha":"24e5712294c0bbdea776556cb9809e5e7aae8033","kind":"commit","published_at":"2013-10-30T03:32:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github30","html_url":"https://github.com/rails/rails/releases/tag/github30","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github30/manifests"},{"name":"github29","sha":"3b7754c9505e55d0332f28354b080511d0617d11","kind":"commit","published_at":"2013-10-29T19:10:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github29","html_url":"https://github.com/rails/rails/releases/tag/github29","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github29/manifests"},{"name":"github28","sha":"76884dd7f79f489c1996462d288f02e95774d8c5","kind":"tag","published_at":"2013-10-25T18:52:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github28","html_url":"https://github.com/rails/rails/releases/tag/github28","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github28/manifests"},{"name":"github27","sha":"00521f51185eebb960f75e81a86cbb4238043f19","kind":"tag","published_at":"2013-10-24T18:40:05.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github27","html_url":"https://github.com/rails/rails/releases/tag/github27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github27/manifests"},{"name":"v4.0.1.rc3","sha":"b91f81c45bce0ecde0901d1a595051b8552a93fa","kind":"commit","published_at":"2013-10-23T21:38:54.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.1.rc3","html_url":"https://github.com/rails/rails/releases/tag/v4.0.1.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc3/manifests"},{"name":"v4.0.1.rc2","sha":"3449a204014c2c4db2238559a75586400766adee","kind":"tag","published_at":"2013-10-21T21:52:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.1.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.0.1.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc2/manifests"},{"name":"v4.0.1.rc1","sha":"3f2bc99024d25c73f5de66a36d3f897c484705b8","kind":"tag","published_at":"2013-10-17T16:42:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.1.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.1.rc1/manifests"},{"name":"v3.2.15","sha":"538f8ba0c16bb6c57b5b79320fc1a99afd14b0e2","kind":"tag","published_at":"2013-10-16T17:03:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.15","html_url":"https://github.com/rails/rails/releases/tag/v3.2.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15/manifests"},{"name":"github26","sha":"b2c42ec3412a31ed10cf8b794239de6245d1a5d6","kind":"tag","published_at":"2013-10-15T20:30:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github26","html_url":"https://github.com/rails/rails/releases/tag/github26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github26/manifests"},{"name":"v3.2.15.rc3","sha":"e3abd78ee58ee8564a69c989e963ae480b8acf9f","kind":"tag","published_at":"2013-10-11T21:16:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.15.rc3","html_url":"https://github.com/rails/rails/releases/tag/v3.2.15.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15.rc3/manifests"},{"name":"v3.2.15.rc2","sha":"5ede19b7725b9f83a2231554b6d583117fbbb4c4","kind":"tag","published_at":"2013-10-04T20:47:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.15.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.15.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15.rc2/manifests"},{"name":"v3.2.15.rc1","sha":"5e277c82085f6258b6aa4a19a90c6ea46686af84","kind":"commit","published_at":"2013-10-03T18:52:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.15.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.15.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.15.rc1/manifests"},{"name":"github25","sha":"685cb901fcc86491a3424a7f2e27f61ba4e135c7","kind":"tag","published_at":"2013-08-27T10:57:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github25","html_url":"https://github.com/rails/rails/releases/tag/github25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github25/manifests"},{"name":"github24","sha":"b2969e6b48e4dddff3ea9e6814383f73596c75c4","kind":"tag","published_at":"2013-08-09T04:03:22.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/github24","html_url":"https://github.com/rails/rails/releases/tag/github24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/github24/manifests"},{"name":"v3.2.14","sha":"2fcd13eff251ca9e1ff5cf6a13f72c18087daf60","kind":"tag","published_at":"2013-07-22T16:40:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.14","html_url":"https://github.com/rails/rails/releases/tag/v3.2.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.14/manifests"},{"name":"v3.2.14.rc2","sha":"a96df04aac00fb2b7d91978c24741100230a50d4","kind":"tag","published_at":"2013-07-16T16:10:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.14.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.14.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.14.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.14.rc2/manifests"},{"name":"v3.2.14.rc1","sha":"facfc24f256d8367f33a62e3bbea6c0f8c698c1f","kind":"tag","published_at":"2013-07-13T00:23:43.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.14.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.14.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.14.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.14.rc1/manifests"},{"name":"v4.0.0","sha":"375d9a0a7fb329b0fbbd75a13e93e53a00520587","kind":"commit","published_at":"2013-06-25T14:28:29.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.0","html_url":"https://github.com/rails/rails/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0/manifests"},{"name":"v4.0.0.rc2","sha":"7b0d3a550328f64f23f38a27864419d72b941f2f","kind":"commit","published_at":"2013-06-11T20:17:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v4.0.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0.rc2/manifests"},{"name":"v4.0.0.rc1","sha":"1ec64297f9347986a11ce38af2cc3434d99c66c2","kind":"commit","published_at":"2013-04-29T15:29:18.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0.rc1/manifests"},{"name":"v2.3.18","sha":"3773c2fc1f63daf3a6f92ef49720e801988ac990","kind":"tag","published_at":"2013-03-18T17:01:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.18","html_url":"https://github.com/rails/rails/releases/tag/v2.3.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.18/manifests"},{"name":"v3.2.13","sha":"a4b55827721a5967299f3c1531afb3d6d81e4ac0","kind":"tag","published_at":"2013-03-18T16:23:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.13","html_url":"https://github.com/rails/rails/releases/tag/v3.2.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.13/manifests"},{"name":"v3.1.12","sha":"0c510c79cb676cdb9d6a65a1fecb8d71edd123b9","kind":"tag","published_at":"2013-03-18T16:18:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.12","html_url":"https://github.com/rails/rails/releases/tag/v3.1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.12/manifests"},{"name":"v3.2.13.rc2","sha":"ccf256d8dcc68d975bbf00780c3b4096f47e29d3","kind":"tag","published_at":"2013-03-06T23:05:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.13.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.13.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.13.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.13.rc2/manifests"},{"name":"v3.2.13.rc1","sha":"5ca59b02d1cc80f3463eef062ced079eb1b3998c","kind":"commit","published_at":"2013-02-27T20:19:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.13.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.13.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.13.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.13.rc1/manifests"},{"name":"v4.0.0.beta1","sha":"202041e762a98cb433c3a24a0b03308d4e05a99d","kind":"commit","published_at":"2013-02-25T23:07:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v4.0.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v4.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v4.0.0.beta1/manifests"},{"name":"v2.3.17","sha":"02d553d24cc976136c59b9278bcfbe114f334087","kind":"tag","published_at":"2013-02-11T03:14:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.17","html_url":"https://github.com/rails/rails/releases/tag/v2.3.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.17/manifests"},{"name":"v3.1.11","sha":"415bf3d126bac64c3b256335af45f23d2881f9bf","kind":"tag","published_at":"2013-02-11T03:08:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.11","html_url":"https://github.com/rails/rails/releases/tag/v3.1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.11/manifests"},{"name":"v3.2.12","sha":"1dccd44a5c74f20b0406ecc8d39373226f73af35","kind":"tag","published_at":"2013-02-11T03:05:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.12","html_url":"https://github.com/rails/rails/releases/tag/v3.2.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.12/manifests"},{"name":"v3.0.20","sha":"b875be03b50029e94244945f072a6cbbff2e1c24","kind":"tag","published_at":"2013-01-28T20:47:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.20","html_url":"https://github.com/rails/rails/releases/tag/v3.0.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.20/manifests"},{"name":"v2.3.16","sha":"1169552479d6800e6729fb599dcb4a987ef13a6a","kind":"tag","published_at":"2013-01-28T20:43:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.16","html_url":"https://github.com/rails/rails/releases/tag/v2.3.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.16/manifests"},{"name":"v2.3.15","sha":"709af0523337e4c87760cbe118914ed0ab28d326","kind":"tag","published_at":"2013-01-08T19:27:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.15","html_url":"https://github.com/rails/rails/releases/tag/v2.3.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.15/manifests"},{"name":"v3.0.19","sha":"7909e7f10c82be05d989340ad49e9d9c08fb0ead","kind":"tag","published_at":"2013-01-08T19:25:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.19","html_url":"https://github.com/rails/rails/releases/tag/v3.0.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.19/manifests"},{"name":"v3.1.10","sha":"a7dd0bb151d925a7e3cd0aec8f61746729949985","kind":"tag","published_at":"2013-01-08T19:24:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.10","html_url":"https://github.com/rails/rails/releases/tag/v3.1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.10/manifests"},{"name":"v3.2.11","sha":"746dbd89faf8197e6d6f35f6e428a024923116a2","kind":"tag","published_at":"2013-01-08T19:24:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.11","html_url":"https://github.com/rails/rails/releases/tag/v3.2.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.11/manifests"},{"name":"v3.0.18","sha":"fb06fe48ef45de09691718806abf088ab190a185","kind":"tag","published_at":"2012-12-23T22:31:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.18","html_url":"https://github.com/rails/rails/releases/tag/v3.0.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.18/manifests"},{"name":"v3.1.9","sha":"f1e977cd14b13e316ad8195f49d41608a54891c6","kind":"tag","published_at":"2012-12-23T21:39:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.9","html_url":"https://github.com/rails/rails/releases/tag/v3.1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.9/manifests"},{"name":"v3.2.10","sha":"8ba3df046f977dddd4bc46248db2a1355bc0ed1e","kind":"tag","published_at":"2012-12-23T21:36:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.10","html_url":"https://github.com/rails/rails/releases/tag/v3.2.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.10/manifests"},{"name":"v3.2.9","sha":"b33cf74a4917c6ac5229ba8d6296d33d0b3437bd","kind":"tag","published_at":"2012-11-12T15:19:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.9","html_url":"https://github.com/rails/rails/releases/tag/v3.2.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9/manifests"},{"name":"v3.2.9.rc3","sha":"db1d5f40714a47c58c13ff7d9643e8a0dec6bef8","kind":"tag","published_at":"2012-11-09T17:51:29.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.9.rc3","html_url":"https://github.com/rails/rails/releases/tag/v3.2.9.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9.rc3/manifests"},{"name":"v3.2.9.rc2","sha":"de3dff317010df12d15225f2bca4a7e914eb596c","kind":"tag","published_at":"2012-11-01T17:38:23.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.9.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.9.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9.rc2/manifests"},{"name":"v3.2.9.rc1","sha":"fdfb3990cde29c48554551d1309b06c8ef584f32","kind":"tag","published_at":"2012-10-29T16:38:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.9.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.9.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.9.rc1/manifests"},{"name":"v3.0.17","sha":"77977f34a5a4ea899f59e31ad869b582285fa5c1","kind":"tag","published_at":"2012-08-09T21:10:34.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.17","html_url":"https://github.com/rails/rails/releases/tag/v3.0.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.17/manifests"},{"name":"v3.1.8","sha":"38bf9cf36864b5656816b1aadf324624dbcb60b9","kind":"tag","published_at":"2012-08-09T21:10:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.8","html_url":"https://github.com/rails/rails/releases/tag/v3.1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.8/manifests"},{"name":"v3.2.8","sha":"64146cf7babe35fd962576b699fa0deb4cfe0d70","kind":"tag","published_at":"2012-08-09T21:09:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.8","html_url":"https://github.com/rails/rails/releases/tag/v3.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.8/manifests"},{"name":"v3.2.8.rc2","sha":"65b5e35e898ac09a50b61c671d98a3cf92453003","kind":"tag","published_at":"2012-08-03T14:02:12.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.8.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.8.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.8.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.8.rc2/manifests"},{"name":"v3.2.8.rc1","sha":"fcccbacec1d25188619f597bbb75505c79084bc3","kind":"tag","published_at":"2012-08-01T20:51:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.8.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.8.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.8.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.8.rc1/manifests"},{"name":"v3.0.16","sha":"3166606dcbbbea5d6cc07bda233273e1dfa8821d","kind":"tag","published_at":"2012-07-26T21:59:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.16","html_url":"https://github.com/rails/rails/releases/tag/v3.0.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.16/manifests"},{"name":"v3.1.7","sha":"d314a48a40271552837fb795d9cde2fb516d2f78","kind":"tag","published_at":"2012-07-26T21:58:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.7","html_url":"https://github.com/rails/rails/releases/tag/v3.1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.7/manifests"},{"name":"v3.2.7","sha":"d1b9cf2d48b4e58da2da563107dd2783e326e287","kind":"tag","published_at":"2012-07-26T21:49:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.7","html_url":"https://github.com/rails/rails/releases/tag/v3.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.7/manifests"},{"name":"v3.2.7.rc1","sha":"753c546df4c8d639a8402552bdd5c9d077610f6c","kind":"tag","published_at":"2012-07-23T21:44:33.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.7.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.7.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.7.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.7.rc1/manifests"},{"name":"2.3.14.github2","sha":"a6eb61b7e4138c999099a7e6ed7b3d2f0a227004","kind":"commit","published_at":"2012-06-13T06:14:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/2.3.14.github2","html_url":"https://github.com/rails/rails/releases/tag/2.3.14.github2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/2.3.14.github2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/2.3.14.github2/manifests"},{"name":"v3.0.15","sha":"def75432c9ead5e717fcd7797973b90fa22b3487","kind":"tag","published_at":"2012-06-13T03:05:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.15","html_url":"https://github.com/rails/rails/releases/tag/v3.0.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.15/manifests"},{"name":"v3.0.14","sha":"4be9dbff206119798e44a2d9973c60bc02685034","kind":"tag","published_at":"2012-06-12T21:15:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.14","html_url":"https://github.com/rails/rails/releases/tag/v3.0.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.14/manifests"},{"name":"v3.1.6","sha":"63dce16202fb7e1517e109266c74db95f95b4cb1","kind":"tag","published_at":"2012-06-12T21:14:12.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.6","html_url":"https://github.com/rails/rails/releases/tag/v3.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.6/manifests"},{"name":"v3.2.6","sha":"8381d398cedf3e95fb073b8110d80f636cff449c","kind":"tag","published_at":"2012-06-12T21:13:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.6","html_url":"https://github.com/rails/rails/releases/tag/v3.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.6/manifests"},{"name":"v3.2.5","sha":"b57fa0bf690b299ba4d8a0051bf06b9cecd3975a","kind":"tag","published_at":"2012-06-01T03:38:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.5","html_url":"https://github.com/rails/rails/releases/tag/v3.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.5/manifests"},{"name":"v3.0.13","sha":"7102fe8d44a9efafac0e74c1aa479d770003f458","kind":"tag","published_at":"2012-05-31T17:55:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.13","html_url":"https://github.com/rails/rails/releases/tag/v3.0.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.13/manifests"},{"name":"v3.1.5","sha":"aa18c0cac01f63fa20095581118548c68b17a3f3","kind":"tag","published_at":"2012-05-31T17:42:43.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.5","html_url":"https://github.com/rails/rails/releases/tag/v3.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.5/manifests"},{"name":"v3.2.4","sha":"febd65223e2b3a40755d23a734f6a77e04b97c88","kind":"tag","published_at":"2012-05-31T17:27:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.4","html_url":"https://github.com/rails/rails/releases/tag/v3.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.4/manifests"},{"name":"v3.2.4.rc1","sha":"fe4dfdd64450662d882b47bf519d885edee453df","kind":"tag","published_at":"2012-05-28T19:32:12.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.4.rc1/manifests"},{"name":"v3.1.5.rc1","sha":"bd8ee8c91293b34c0c3bea1bc541cd1ada7f5b12","kind":"tag","published_at":"2012-05-28T18:55:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.5.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.1.5.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.5.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.5.rc1/manifests"},{"name":"v3.0.13.rc1","sha":"88e7f5176c3b449301636d8acdb2726f854d4644","kind":"tag","published_at":"2012-05-28T18:53:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.13.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.13.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.13.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.13.rc1/manifests"},{"name":"v3.2.3","sha":"45d6cd94b3ef2ec77166def41f29188445b35608","kind":"tag","published_at":"2012-03-30T22:22:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.3","html_url":"https://github.com/rails/rails/releases/tag/v3.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.3/manifests"},{"name":"v3.2.3.rc2","sha":"5284e650be321273a2bb68bf4baa8adeb6bc586b","kind":"tag","published_at":"2012-03-29T16:13:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.3.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.3.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.3.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.3.rc2/manifests"},{"name":"v3.2.3.rc1","sha":"5f3726091851326d4976624db374a20d356b1630","kind":"tag","published_at":"2012-03-27T17:07:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.3.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.3.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.3.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.3.rc1/manifests"},{"name":"v3.0.12","sha":"9d6377ed731bafbe9d20ac7e950c1c135ab02f9f","kind":"tag","published_at":"2012-03-01T17:22:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.12","html_url":"https://github.com/rails/rails/releases/tag/v3.0.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.12/manifests"},{"name":"v3.1.4","sha":"1aabea698b4518f37263af15818a2c9fc7565521","kind":"tag","published_at":"2012-03-01T17:20:54.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.4","html_url":"https://github.com/rails/rails/releases/tag/v3.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.4/manifests"},{"name":"v3.2.2","sha":"01b470f526922ad3fc5562a237d11d45347befa9","kind":"tag","published_at":"2012-03-01T17:17:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.2/manifests"},{"name":"v3.0.12.rc1","sha":"2935435d7058cf00da3989b0e60a28b1472509bd","kind":"tag","published_at":"2012-02-22T21:31:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.12.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.12.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.12.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.12.rc1/manifests"},{"name":"v3.1.4.rc1","sha":"8c677e921a1116085b00b522cea6204587c09754","kind":"tag","published_at":"2012-02-22T20:06:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.1.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.4.rc1/manifests"},{"name":"v3.2.2.rc1","sha":"4bcd437f760cfaf310fece0fe36abe55bccba42b","kind":"tag","published_at":"2012-02-22T20:03:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.2.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.2.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.2.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.2.rc1/manifests"},{"name":"v3.2.1","sha":"67b8fbca921ba7e3e1fc02fe30a20963a67017e5","kind":"tag","published_at":"2012-01-26T22:58:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"f36dcaf488b4357a52f43e3912628428956d351f","kind":"commit","published_at":"2012-01-20T16:44:32.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.0","html_url":"https://github.com/rails/rails/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.0/manifests"},{"name":"v3.2.0.rc2","sha":"d268ef2f6599cd58cc27a8c9f0b9b6649f62e6a2","kind":"tag","published_at":"2012-01-04T21:00:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.2.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.0.rc2/manifests"},{"name":"v3.2.0.rc1","sha":"9d6e52b55ec67d0573a0bb1900b13f38e18f7eba","kind":"commit","published_at":"2011-12-20T00:34:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.2.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.2.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.2.0.rc1/manifests"},{"name":"v3.1.3","sha":"e9474c89d9583d50be485bef8fabb31a75b242bb","kind":"commit","published_at":"2011-11-20T22:48:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.3","html_url":"https://github.com/rails/rails/releases/tag/v3.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.3/manifests"},{"name":"v3.1.2","sha":"0e6b118313b5603482df071e30434ddab758f8a1","kind":"commit","published_at":"2011-11-18T01:27:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.2","html_url":"https://github.com/rails/rails/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.2/manifests"},{"name":"v3.0.11","sha":"66a4beb0c9764238e1e8bed83aca88a397039bde","kind":"commit","published_at":"2011-11-18T01:19:17.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.11","html_url":"https://github.com/rails/rails/releases/tag/v3.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.11/manifests"},{"name":"2.3.14.github","sha":"fe11782158c82bf60f783cd5799449b9744ca3f0","kind":"commit","published_at":"2011-11-17T20:57:09.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/2.3.14.github","html_url":"https://github.com/rails/rails/releases/tag/2.3.14.github","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/2.3.14.github","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/2.3.14.github/manifests"},{"name":"v3.1.2.rc2","sha":"e29f27ad76b6e031f21bc258a6ff713ec9a16365","kind":"commit","published_at":"2011-11-14T15:44:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.2.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.1.2.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.2.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.2.rc2/manifests"},{"name":"v3.1.2.rc1","sha":"68ed8eae304b64c5049badda6a2cf854b5949831","kind":"commit","published_at":"2011-11-14T14:12:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.2.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.1.2.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.2.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.2.rc1/manifests"},{"name":"v3.1.1","sha":"ba708126d85a020f8984db1a12261bcdba47d70f","kind":"tag","published_at":"2011-10-07T15:14:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.1","html_url":"https://github.com/rails/rails/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1/manifests"},{"name":"v3.1.1.rc3","sha":"57a01f337eb4da7941ec35e5541fa456b060601a","kind":"tag","published_at":"2011-10-06T02:27:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.1.rc3","html_url":"https://github.com/rails/rails/releases/tag/v3.1.1.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1.rc3/manifests"},{"name":"v3.1.1.rc2","sha":"aead5720d75ef3e2babb8d115a8587b2736a5b3b","kind":"tag","published_at":"2011-09-29T22:13:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.1.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.1.1.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1.rc2/manifests"},{"name":"v3.1.1.rc1","sha":"3f9665be11f9938baa9f617f3391cc0d7e3ff10b","kind":"tag","published_at":"2011-09-15T00:17:28.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.1.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.1.1.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.1.rc1/manifests"},{"name":"v3.1.0","sha":"505e84599aff6abf719484636b0515e1ce2e2220","kind":"tag","published_at":"2011-08-31T02:10:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0/manifests"},{"name":"v3.1.0.rc8","sha":"c4ce550f3e28a1dbc4716afc9957f2ec3c426782","kind":"tag","published_at":"2011-08-29T03:23:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc8","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc8/manifests"},{"name":"v3.1.0.rc7","sha":"e4fc8e22c17e222b3057d2b053ba5586a7260db0","kind":"tag","published_at":"2011-08-28T23:55:58.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc7","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc7/manifests"},{"name":"list","sha":"155f734155fd0772d19f4201f244dccd8cdbd126","kind":"commit","published_at":"2011-08-19T20:12:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/list","html_url":"https://github.com/rails/rails/releases/tag/list","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/list","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/list/manifests"},{"name":"v3.1.0.rc6","sha":"633a5693a7c304ec242488dc5aa11c8956b3b294","kind":"tag","published_at":"2011-08-16T22:30:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc6","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc6/manifests"},{"name":"v3.0.10","sha":"4f15f392601d4504fab850f3bf659c43f0cb51ec","kind":"tag","published_at":"2011-08-16T22:10:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.10","html_url":"https://github.com/rails/rails/releases/tag/v3.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.10/manifests"},{"name":"v2.3.14","sha":"e0774e47302a907319ed974ccf59b8b54d32bbde","kind":"tag","published_at":"2011-08-16T21:59:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.14","html_url":"https://github.com/rails/rails/releases/tag/v2.3.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.14/manifests"},{"name":"v2.3.13","sha":"dea5a10f716b84a49e3d8fa44efbd3bf1ff1bfda","kind":"tag","published_at":"2011-08-16T21:50:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.13","html_url":"https://github.com/rails/rails/releases/tag/v2.3.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.13/manifests"},{"name":"v3.0.10.rc1","sha":"521c9aa6a85fdb4c6d43d2aeb1af7b4cae2a20f5","kind":"tag","published_at":"2011-08-05T00:10:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.10.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.10.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.10.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.10.rc1/manifests"},{"name":"v3.1.0.rc5","sha":"a5188333aaf219e4000614f49748f459b79b6ef9","kind":"tag","published_at":"2011-07-25T23:06:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc5","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc5/manifests"},{"name":"v3.0.9","sha":"15e2b5887f2185e01b8d92646a7f441b8c1c549e","kind":"commit","published_at":"2011-06-16T10:03:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.9","html_url":"https://github.com/rails/rails/releases/tag/v3.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9/manifests"},{"name":"v3.0.9.rc5","sha":"6824c5d1d303f5bbc5c5d390390204fcc0cd6ced","kind":"commit","published_at":"2011-06-12T21:28:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.9.rc5","html_url":"https://github.com/rails/rails/releases/tag/v3.0.9.rc5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc5/manifests"},{"name":"v3.0.9.rc4","sha":"f283194234669d2034653445ca018582dc382c0e","kind":"commit","published_at":"2011-06-12T21:21:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.9.rc4","html_url":"https://github.com/rails/rails/releases/tag/v3.0.9.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc4/manifests"},{"name":"v3.1.0.rc4","sha":"279781f8964c95f842153c98dc245b06f1b1f76e","kind":"commit","published_at":"2011-06-09T22:53:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc4","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc4/manifests"},{"name":"v3.0.9.rc3","sha":"66ec7e84c9710aea7397e9ad92e87063b857c9d5","kind":"commit","published_at":"2011-06-09T22:48:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.9.rc3","html_url":"https://github.com/rails/rails/releases/tag/v3.0.9.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc3/manifests"},{"name":"v3.0.9.rc2","sha":"0e1ecb2e15ab8eaf5641e2ca9eb1c13bf5b304a0","kind":"commit","published_at":"2011-06-09T22:36:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.9.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.9.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc2/manifests"},{"name":"v3.1.0.rc3","sha":"aefd703443807598552f3ea2c81e4e9cb15349df","kind":"tag","published_at":"2011-06-08T21:34:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc3","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc3/manifests"},{"name":"v3.0.9.rc1","sha":"0c1608c4edccbf2a1b6b53d8f1ab7ccacc8cbc65","kind":"tag","published_at":"2011-06-08T21:18:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.9.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.9.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.9.rc1/manifests"},{"name":"v2.3.12","sha":"a2a34133d8347d83c015b1889a774c718644e4d6","kind":"tag","published_at":"2011-06-07T23:55:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.12","html_url":"https://github.com/rails/rails/releases/tag/v2.3.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.12/manifests"},{"name":"v3.0.8","sha":"b341e45d8e75d49a9f599881eea952c2a41af032","kind":"tag","published_at":"2011-06-07T23:52:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.8","html_url":"https://github.com/rails/rails/releases/tag/v3.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8/manifests"},{"name":"v3.1.0.rc2","sha":"d846f4baa5da299d51c72f1bdd098cf982279628","kind":"tag","published_at":"2011-06-07T23:48:30.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc2/manifests"},{"name":"v3.0.8.rc4","sha":"ce23c6e47f184616c8cc9b779c1670e1417adfd0","kind":"tag","published_at":"2011-05-31T00:09:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.8.rc4","html_url":"https://github.com/rails/rails/releases/tag/v3.0.8.rc4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc4/manifests"},{"name":"v3.0.8.rc3","sha":"f4073d530f76ebd5371017032874e5865ebd8ecb","kind":"tag","published_at":"2011-05-30T19:54:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.8.rc3","html_url":"https://github.com/rails/rails/releases/tag/v3.0.8.rc3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc3/manifests"},{"name":"v3.0.8.rc2","sha":"d75652540e8bb9fd565e1d251e6fcd9c3f2e8516","kind":"tag","published_at":"2011-05-27T16:30:00.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.8.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.8.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc2/manifests"},{"name":"v3.0.8.rc1","sha":"8b0806e1b0ea2dbe31ab25cfba298425fd0369f4","kind":"tag","published_at":"2011-05-26T00:08:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.8.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.8.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.8.rc1/manifests"},{"name":"v3.1.0.rc1","sha":"82857adc56efd16d22821971fff4c5e24a3c5b55","kind":"commit","published_at":"2011-05-22T01:56:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.rc1/manifests"},{"name":"v3.1.0.beta1","sha":"169ae75e091392e3852d0dfb56fadacef4b7a20b","kind":"commit","published_at":"2011-05-05T01:21:05.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.1.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v3.1.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.1.0.beta1/manifests"},{"name":"v3.0.7","sha":"2c3260147f90e35a6a5e3ce1b520b4de701e701e","kind":"tag","published_at":"2011-04-18T21:03:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.7","html_url":"https://github.com/rails/rails/releases/tag/v3.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.7/manifests"},{"name":"v3.0.7.rc2","sha":"f96ad0d582fd275c6f069e31fe716406a0ba924d","kind":"tag","published_at":"2011-04-15T17:23:20.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.7.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.7.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.7.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.7.rc2/manifests"},{"name":"v3.0.7.rc1","sha":"1787447ada8cf224bf5552c6ae8a3db053fa5839","kind":"tag","published_at":"2011-04-14T21:48:42.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.7.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.7.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.7.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.7.rc1/manifests"},{"name":"v3.0.6","sha":"38df020c95beca7e12f0188cb7e18f3c37789e20","kind":"tag","published_at":"2011-04-05T22:58:48.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.6","html_url":"https://github.com/rails/rails/releases/tag/v3.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.6/manifests"},{"name":"v3.0.6.rc2","sha":"b13be616a11ffa2c489e1b3ee4ae54e234990fcf","kind":"tag","published_at":"2011-03-31T05:26:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.6.rc2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.6.rc2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.6.rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.6.rc2/manifests"},{"name":"v3.0.6.rc1","sha":"ba117b2b43a00c282bb4905fb003dd169a5312df","kind":"tag","published_at":"2011-03-29T21:04:42.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.6.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.6.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.6.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.6.rc1/manifests"},{"name":"v3.0.5","sha":"ecc6bb597fba7512e4eb34566fb2e8eaae9e39b8","kind":"tag","published_at":"2011-02-27T02:28:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.5","html_url":"https://github.com/rails/rails/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.5/manifests"},{"name":"v3.0.5.rc1","sha":"ef31b87d8297d0473b73a9c2cdc5b3a7395fae06","kind":"tag","published_at":"2011-02-23T19:13:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.5.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.5.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.5.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.5.rc1/manifests"},{"name":"v3.0.4","sha":"1081ea66a3d864f310a1a55f22229af4e10436a7","kind":"tag","published_at":"2011-02-08T21:24:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.4","html_url":"https://github.com/rails/rails/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.4/manifests"},{"name":"v2.3.11","sha":"b0c3d451a242b53c9992cafa9108d0df52b4f2f0","kind":"tag","published_at":"2011-02-08T21:23:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.11","html_url":"https://github.com/rails/rails/releases/tag/v2.3.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.11/manifests"},{"name":"v3.0.4.rc1","sha":"0cbf9b2946c02a5057958dbd47bc164be16cbab2","kind":"tag","published_at":"2011-01-30T22:56:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.4.rc1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.4.rc1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.4.rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.4.rc1/manifests"},{"name":"v3.0.3","sha":"0aca27d407a339683665dcbb2199a1337972bb5e","kind":"commit","published_at":"2010-11-16T16:26:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.3","html_url":"https://github.com/rails/rails/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"186e3c71f95316b94e728eb62b519d074d27cea3","kind":"commit","published_at":"2010-11-15T19:23:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.2/manifests"},{"name":"v3.0.1","sha":"bac6ba99b11515374d3251ee4a1d1f3a0002713c","kind":"tag","published_at":"2010-10-14T20:57:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.1/manifests"},{"name":"v2.3.10","sha":"f5ed5c317e2280e41a9185c3000e7fbd1f7b3176","kind":"tag","published_at":"2010-10-14T20:06:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.10","html_url":"https://github.com/rails/rails/releases/tag/v2.3.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.10/manifests"},{"name":"v2.3.9","sha":"a61a39ecd44153676cc56257bbe8bbdf9a727cf9","kind":"commit","published_at":"2010-09-04T21:36:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.9","html_url":"https://github.com/rails/rails/releases/tag/v2.3.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.9/manifests"},{"name":"v2.3.9.pre","sha":"b2c91983dcb5e2a21ea2c0be28f86ad33b48f660","kind":"commit","published_at":"2010-08-30T03:19:05.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.9.pre","html_url":"https://github.com/rails/rails/releases/tag/v2.3.9.pre","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.9.pre","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.9.pre/manifests"},{"name":"v3.0.0","sha":"9891ca89c69732a21743f0349f2995956a7802e7","kind":"commit","published_at":"2010-08-29T22:00:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0/manifests"},{"name":"v3.0.0_RC2","sha":"822fa17c6c0f159eeff01c8fb251e13666f50357","kind":"commit","published_at":"2010-08-24T02:40:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0_RC2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0_RC2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0_RC2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0_RC2/manifests"},{"name":"v3.0.0_RC","sha":"b6f99325613baf0534c10677da9c82ac27b628c0","kind":"commit","published_at":"2010-07-26T21:40:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0_RC","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0_RC","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0_RC","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0_RC/manifests"},{"name":"v3.0.0.beta4","sha":"df40dbe6f13c6799e972b20dcc1fbf11f0a02c61","kind":"commit","published_at":"2010-06-08T22:10:27.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0.beta4","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0.beta4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta4/manifests"},{"name":"v2.3.8","sha":"240f4e944cd90fca138aba8467456043952110cc","kind":"commit","published_at":"2010-05-25T03:53:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.8","html_url":"https://github.com/rails/rails/releases/tag/v2.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.8/manifests"},{"name":"v2.3.7","sha":"326188c25efa3721a7e2f68cea3534b3e2850fcf","kind":"commit","published_at":"2010-05-24T07:04:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.7","html_url":"https://github.com/rails/rails/releases/tag/v2.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.7/manifests"},{"name":"v2.3.6","sha":"56bb5504dd1fc7314f1bd7a489ddaff973668be2","kind":"commit","published_at":"2010-05-23T06:53:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.6","html_url":"https://github.com/rails/rails/releases/tag/v2.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.6/manifests"},{"name":"v3.0.0.beta3","sha":"8e9df34fa3fd22719d939ba72f19b3ae9ffcc018","kind":"commit","published_at":"2010-04-13T21:07:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0.beta3","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0.beta3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta3/manifests"},{"name":"v3.0.0.beta.3","sha":"8e9df34fa3fd22719d939ba72f19b3ae9ffcc018","kind":"commit","published_at":"2010-04-13T21:07:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0.beta.3","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0.beta.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta.3/manifests"},{"name":"v3.0.0.beta2","sha":"f0364d87f03d58312bcab1b2f17b5b56b6c72653","kind":"commit","published_at":"2010-04-01T21:20:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0.beta2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta2/manifests"},{"name":"v3.0.0.beta.2","sha":"f0364d87f03d58312bcab1b2f17b5b56b6c72653","kind":"commit","published_at":"2010-04-01T21:20:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0.beta.2","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0.beta.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta.2/manifests"},{"name":"v3.0.0.beta1","sha":"c548e213658386f3a5b00097bc5b30bf3736e6b4","kind":"commit","published_at":"2010-02-05T17:24:12.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v3.0.0.beta1","html_url":"https://github.com/rails/rails/releases/tag/v3.0.0.beta1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v3.0.0.beta1/manifests"},{"name":"v2.3.5","sha":"bfe032858077bb2946abe25e95e485ba6da86bd5","kind":"tag","published_at":"2009-11-27T00:26:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.5","html_url":"https://github.com/rails/rails/releases/tag/v2.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.5/manifests"},{"name":"v2.2.3","sha":"a60779f7e69a7045a308844e9464d7d6b9cac94d","kind":"tag","published_at":"2009-09-23T22:13:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.2.3","html_url":"https://github.com/rails/rails/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.3/manifests"},{"name":"v2.3.4","sha":"a43ef2436cc6b63af35636127e42495ceb538cee","kind":"tag","published_at":"2009-09-04T00:16:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.4","html_url":"https://github.com/rails/rails/releases/tag/v2.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.4/manifests"},{"name":"v2.3.3.1","sha":"c7bcbb983f84e306e2b43adb698060e060605de9","kind":"tag","published_at":"2009-07-19T05:29:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.3.1","html_url":"https://github.com/rails/rails/releases/tag/v2.3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.3.1/manifests"},{"name":"v2.3.3","sha":"a147becfb86b689ab25e92edcfbb4bcc04108099","kind":"tag","published_at":"2009-07-16T04:25:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.3","html_url":"https://github.com/rails/rails/releases/tag/v2.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.3/manifests"},{"name":"v2.3.2.1","sha":"dc88847e5ce392eed210b97525c14fca55852867","kind":"commit","published_at":"2009-03-17T12:26:34.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.2.1","html_url":"https://github.com/rails/rails/releases/tag/v2.3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.2.1/manifests"},{"name":"v2.3.2","sha":"73fc42cc0b5e94541480032c2941a50edd4080c2","kind":"commit","published_at":"2009-03-16T03:06:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.2","html_url":"https://github.com/rails/rails/releases/tag/v2.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.2/manifests"},{"name":"v2.3.1","sha":"b1c989f28dd1d619f0e3e3ca1b894b686e517f2f","kind":"commit","published_at":"2009-03-05T11:22:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.1","html_url":"https://github.com/rails/rails/releases/tag/v2.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.1/manifests"},{"name":"v2.3.0","sha":"beca1f2e151558ded3d5a4efebd328ab2533edc6","kind":"commit","published_at":"2009-02-02T00:21:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.3.0","html_url":"https://github.com/rails/rails/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.3.0/manifests"},{"name":"v2.2.2","sha":"ff561370739eb809d1d006ea842cd2b1e43f6950","kind":"commit","published_at":"2008-11-21T16:25:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.2.2","html_url":"https://github.com/rails/rails/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"44c3b865ac52a7c9a6312982ba0f6c20d7ad41e1","kind":"commit","published_at":"2008-11-14T15:11:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.2.1","html_url":"https://github.com/rails/rails/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"a17fc20eb122d45a017e99e592e5e159025ab26b","kind":"tag","published_at":"2008-10-24T14:42:03.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.2.0","html_url":"https://github.com/rails/rails/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.2.0/manifests"},{"name":"v2.1.2","sha":"15af6b315ee65afbc873889b6ad81b7e6b7e1b35","kind":"commit","published_at":"2008-10-23T16:16:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.1.2","html_url":"https://github.com/rails/rails/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.2/manifests"},{"name":"v2.0.4","sha":"e724e3ede67b4199db8765e00d370e6a7bd401e6","kind":"tag","published_at":"2008-10-20T06:45:15.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.4","html_url":"https://github.com/rails/rails/releases/tag/v2.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.4/manifests"},{"name":"v2.0.5","sha":"c329794e7334f3d355d0a039e23a7145ad40ed35","kind":"tag","published_at":"2008-10-19T20:22:27.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.5","html_url":"https://github.com/rails/rails/releases/tag/v2.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.5/manifests"},{"name":"v2.1.1","sha":"d4eb3c0b7d13d3898c14d6ea7bfbc1853394f4e8","kind":"commit","published_at":"2008-09-04T14:31:40.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.1.1","html_url":"https://github.com/rails/rails/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"71528b1825ce5184b23d09f923cb72f4073ce8ed","kind":"commit","published_at":"2008-06-01T00:22:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.1.0","html_url":"https://github.com/rails/rails/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.0/manifests"},{"name":"v2.0.3","sha":"44d721c193e5bc9d1fd9073ff65a241039467d7a","kind":"tag","published_at":"2008-05-12T00:04:24.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.3","html_url":"https://github.com/rails/rails/releases/tag/v2.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.3/manifests"},{"name":"v2.1.0_RC1","sha":"d2212c1601dcd67e72e9d52f98347d3285fd7134","kind":"tag","published_at":"2008-05-12T00:02:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.1.0_RC1","html_url":"https://github.com/rails/rails/releases/tag/v2.1.0_RC1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.0_RC1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.1.0_RC1/manifests"},{"name":"v2.0.2","sha":"c8da518bbfedc2a06b1d96912ddae00e57f21748","kind":"tag","published_at":"2008-04-11T00:25:55.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.2","html_url":"https://github.com/rails/rails/releases/tag/v2.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.2/manifests"},{"name":"v2.0.1","sha":"db885e81b9dc918a75bd66b1631a13e10447d0ff","kind":"tag","published_at":"2008-04-11T00:25:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.1","html_url":"https://github.com/rails/rails/releases/tag/v2.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.1/manifests"},{"name":"v2.0.0_RC2","sha":"1d32cec17d768ac78d52903f5ed8b19cc37c7f78","kind":"tag","published_at":"2008-04-11T00:25:52.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.0_RC2","html_url":"https://github.com/rails/rails/releases/tag/v2.0.0_RC2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0_RC2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0_RC2/manifests"},{"name":"v2.0.0_RC1","sha":"0f2c6302a19abce498d6cdbd44df0131c51fc8a3","kind":"tag","published_at":"2008-04-11T00:25:50.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.0_RC1","html_url":"https://github.com/rails/rails/releases/tag/v2.0.0_RC1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0_RC1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0_RC1/manifests"},{"name":"v2.0.0_PR","sha":"7275d2749cb829d89bffe7e6aa87c99084351f6a","kind":"tag","published_at":"2008-04-11T00:25:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.0_PR","html_url":"https://github.com/rails/rails/releases/tag/v2.0.0_PR","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0_PR","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0_PR/manifests"},{"name":"v2.0.0","sha":"db885e81b9dc918a75bd66b1631a13e10447d0ff","kind":"tag","published_at":"2008-04-11T00:25:47.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v2.0.0","html_url":"https://github.com/rails/rails/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v2.0.0/manifests"},{"name":"v1.2.6","sha":"9c190098e0f80cf2638223142f335ffb25212b86","kind":"tag","published_at":"2008-04-11T00:25:45.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.6","html_url":"https://github.com/rails/rails/releases/tag/v1.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.6/manifests"},{"name":"v1.2.5","sha":"d201969236f1696e70c73e12a93229feac69ceda","kind":"tag","published_at":"2008-04-11T00:25:44.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.5","html_url":"https://github.com/rails/rails/releases/tag/v1.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.5/manifests"},{"name":"v1.2.4","sha":"478cd8223c5ef43abbbb347c5517910a5ab91b67","kind":"tag","published_at":"2008-04-11T00:25:42.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.4","html_url":"https://github.com/rails/rails/releases/tag/v1.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.4/manifests"},{"name":"v1.2.3","sha":"30549718ac827f3ae8c7afc8dc9a6bf639e4e65c","kind":"tag","published_at":"2008-04-11T00:25:41.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.3","html_url":"https://github.com/rails/rails/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.3/manifests"},{"name":"v1.2.2","sha":"e73bdfc31be5acfddefdff6fa40515c145241f52","kind":"tag","published_at":"2008-04-11T00:25:39.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.2","html_url":"https://github.com/rails/rails/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"03e763ffc823531ea5a5a3be7134318f85370139","kind":"tag","published_at":"2008-04-11T00:25:37.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.1","html_url":"https://github.com/rails/rails/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.1/manifests"},{"name":"v1.2.0_RC2","sha":"83a21f75cf518b7f50581041cfce038c196a56b5","kind":"tag","published_at":"2008-04-11T00:25:36.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.0_RC2","html_url":"https://github.com/rails/rails/releases/tag/v1.2.0_RC2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.0_RC2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.0_RC2/manifests"},{"name":"v1.2.0_RC1","sha":"12949bbc135a33c9618e7816105d70b8a9c7e426","kind":"tag","published_at":"2008-04-11T00:25:34.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.0_RC1","html_url":"https://github.com/rails/rails/releases/tag/v1.2.0_RC1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.0_RC1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.0_RC1/manifests"},{"name":"v1.2.0","sha":"5988aaa50e72643b021ec5e8562d14a39b4f54e1","kind":"tag","published_at":"2008-04-11T00:25:31.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.2.0","html_url":"https://github.com/rails/rails/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.2.0/manifests"},{"name":"v1.1.6","sha":"e071b60e17913e210baf9bf77c4c5c0bb344d999","kind":"tag","published_at":"2008-04-11T00:25:29.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.6","html_url":"https://github.com/rails/rails/releases/tag/v1.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.6/manifests"},{"name":"v1.1.5","sha":"4874df1d674bccbe2fa41a12bb93fa63a5d489ee","kind":"tag","published_at":"2008-04-11T00:25:28.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.5","html_url":"https://github.com/rails/rails/releases/tag/v1.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.5/manifests"},{"name":"v1.1.4","sha":"14f11a73ed8cd50fa9075e3f068feaf3b89686ba","kind":"tag","published_at":"2008-04-11T00:25:26.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.4","html_url":"https://github.com/rails/rails/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.4/manifests"},{"name":"v1.1.3","sha":"0c516b370b08e3e095fe24cc0e2b8d52fdecf9e0","kind":"tag","published_at":"2008-04-11T00:25:25.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.3","html_url":"https://github.com/rails/rails/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"83824935518f62cee9cc1c120b125085072f583c","kind":"tag","published_at":"2008-04-11T00:25:21.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.2","html_url":"https://github.com/rails/rails/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.2/manifests"},{"name":"v1.1.1","sha":"496725022a09cd2100e1550745064fb5a6308ee4","kind":"tag","published_at":"2008-04-11T00:25:19.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.1","html_url":"https://github.com/rails/rails/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.1/manifests"},{"name":"v1.1.0_RC1","sha":"330823687bbae1c05af6545912377d317300c1bb","kind":"tag","published_at":"2008-04-11T00:25:18.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.0_RC1","html_url":"https://github.com/rails/rails/releases/tag/v1.1.0_RC1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.0_RC1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.0_RC1/manifests"},{"name":"v1.1.0","sha":"9babb2014ba101e8c4a7b7808c3e3624ee7bb8d7","kind":"tag","published_at":"2008-04-11T00:25:16.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.1.0","html_url":"https://github.com/rails/rails/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"37e0d5de899cfbb3703067daefe2546215aaa4cc","kind":"tag","published_at":"2008-04-11T00:25:14.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v1.0.0","html_url":"https://github.com/rails/rails/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v1.0.0/manifests"},{"name":"v0.9.5","sha":"11611c1b002243a766c86c374b812c61a5b672c7","kind":"tag","published_at":"2008-04-11T00:25:13.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.9.5","html_url":"https://github.com/rails/rails/releases/tag/v0.9.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.5/manifests"},{"name":"v0.9.4.1","sha":"03e44cbcb2426a97dd35f76bc2ac6491c69821b1","kind":"tag","published_at":"2008-04-11T00:25:11.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.9.4.1","html_url":"https://github.com/rails/rails/releases/tag/v0.9.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.4.1/manifests"},{"name":"v0.9.4","sha":"3b9be80a3a6b83156562d218e459822a51d6795c","kind":"tag","published_at":"2008-04-11T00:25:10.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.9.4","html_url":"https://github.com/rails/rails/releases/tag/v0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.4/manifests"},{"name":"v0.9.3","sha":"b3739fca2c185831c97efdd9fdcaa23476863539","kind":"tag","published_at":"2008-04-11T00:25:08.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.9.3","html_url":"https://github.com/rails/rails/releases/tag/v0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.3/manifests"},{"name":"v0.9.2","sha":"d9c0a37f37402fa128302b7c048201d2180a029e","kind":"tag","published_at":"2008-04-11T00:25:07.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.9.2","html_url":"https://github.com/rails/rails/releases/tag/v0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.2/manifests"},{"name":"v0.9.1","sha":"ed14042feac6ff84670958fc3e2017aaacac5856","kind":"tag","published_at":"2008-04-11T00:25:06.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.9.1","html_url":"https://github.com/rails/rails/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.9.1/manifests"},{"name":"v0.14.4","sha":"93bd3b00e16cb6d79d38480e1827935067c8c771","kind":"tag","published_at":"2008-04-11T00:25:04.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.14.4","html_url":"https://github.com/rails/rails/releases/tag/v0.14.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.4/manifests"},{"name":"v0.14.3","sha":"c2eb22e5c69caba0f9eeb5b95558837d0d572f44","kind":"tag","published_at":"2008-04-11T00:25:02.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.14.3","html_url":"https://github.com/rails/rails/releases/tag/v0.14.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.3/manifests"},{"name":"v0.14.2","sha":"98b0b117f755a5d27ac5161dc7d0757c3c217230","kind":"tag","published_at":"2008-04-11T00:25:01.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.14.2","html_url":"https://github.com/rails/rails/releases/tag/v0.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.2/manifests"},{"name":"v0.14.1","sha":"b437eee41d38188f10f11e041b82d7def0a20629","kind":"tag","published_at":"2008-04-11T00:24:59.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.14.1","html_url":"https://github.com/rails/rails/releases/tag/v0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.14.1/manifests"},{"name":"v0.13.1","sha":"1911f8eee928915f1020753a4a3ba34c81131a66","kind":"tag","published_at":"2008-04-11T00:24:57.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.13.1","html_url":"https://github.com/rails/rails/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.13.1/manifests"},{"name":"v0.13.0","sha":"a0d31fcd81ef690adf56568aa954a07081c6aecc","kind":"tag","published_at":"2008-04-11T00:24:56.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.13.0","html_url":"https://github.com/rails/rails/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.13.0/manifests"},{"name":"v0.12.0","sha":"0270b26e41f33d66af3a2bea1371af037b0b5923","kind":"tag","published_at":"2008-04-11T00:24:54.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.12.0","html_url":"https://github.com/rails/rails/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.12.0/manifests"},{"name":"v0.11.1","sha":"f7b89667ac4157d64697aa2f51bcea8a26c0fd8f","kind":"tag","published_at":"2008-04-11T00:24:53.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.11.1","html_url":"https://github.com/rails/rails/releases/tag/v0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.11.1/manifests"},{"name":"v0.11.0","sha":"61d236d94133fb7ae2f0dce0badaf2bf07b301b7","kind":"tag","published_at":"2008-04-11T00:24:51.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.11.0","html_url":"https://github.com/rails/rails/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.11.0/manifests"},{"name":"v0.10.1","sha":"25b656fefa75954cffff119a14cf7650f4f99a92","kind":"tag","published_at":"2008-04-11T00:24:49.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.10.1","html_url":"https://github.com/rails/rails/releases/tag/v0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.10.1/manifests"},{"name":"v0.10.0","sha":"e2724aa1856253f4fc48ddc251583042c5f06029","kind":"tag","published_at":"2008-04-11T00:24:46.000Z","download_url":"https://codeload.github.com/rails/rails/tar.gz/v0.10.0","html_url":"https://github.com/rails/rails/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Frails/tags/v0.10.0/manifests"}]},"repo_metadata_updated_at":"2025-06-07T01:40:32.326Z","dependent_packages_count":2009,"downloads":699155915,"downloads_period":"total","dependent_repos_count":907314,"rankings":{"downloads":0.017841014261660775,"dependent_repos_count":0.010035570522184185,"dependent_packages_count":0.026761521392491164,"stargazers_count":0.0016725950870306978,"forks_count":0.0011150633913537984,"docker_downloads_count":0.14105551900625551,"average":0.03308021394349602},"purl":"pkg:gem/activemodel","advisories":[{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTU0M3YtZ2oyYy1yM2No","url":"https://github.com/advisories/GHSA-543v-gj2c-r3ch","title":"activemodel contains Improper Input Validation","description":"Active Model in Ruby on Rails 4.1.x before 4.1.14.1, 4.2.x before 4.2.5.1, and 5.x before 5.0.0.beta1.1 supports the use of instance-level writers for class accessors, which allows remote attackers to bypass intended validation steps via crafted parameters.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2017-10-24T18:33:35.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2016-0753","http://lists.fedoraproject.org/pipermail/package-announce/2016-February/178041.html","http://lists.fedoraproject.org/pipermail/package-announce/2016-February/178043.html","http://lists.fedoraproject.org/pipermail/package-announce/2016-February/178047.html","http://lists.fedoraproject.org/pipermail/package-announce/2016-February/178065.html","http://lists.fedoraproject.org/pipermail/package-announce/2016-February/178066.html","http://lists.opensuse.org/opensuse-security-announce/2016-04/msg00053.html","http://lists.opensuse.org/opensuse-updates/2016-02/msg00043.html","http://rhn.redhat.com/errata/RHSA-2016-0296.html","http://www.debian.org/security/2016/dsa-3464","http://www.openwall.com/lists/oss-security/2016/01/25/14","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/activemodel/CVE-2016-0753.yml","https://groups.google.com/forum/#!topic/rubyonrails-security/6jQVC1geukQ","https://web.archive.org/web/20160405205300/http://www.securitytracker.com/id/1034816","https://web.archive.org/web/20200228000230/http://www.securityfocus.com/bid/82247","https://web.archive.org/web/20210613054843/https://groups.google.com/forum/message/raw?msg=ruby-security-ann/6jQVC1geukQ/3Iy0GU1ZEgAJ","https://github.com/advisories/GHSA-543v-gj2c-r3ch"],"source_kind":"github","identifiers":["GHSA-543v-gj2c-r3ch","CVE-2016-0753"],"repository_url":null,"blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"4.2.5.1","vulnerable_version_range":"\u003e= 4.2.0, \u003c= 4.2.5.0"},{"first_patched_version":"4.1.14.1","vulnerable_version_range":"\u003e= 4.1.0, \u003c= 4.1.14.0"}],"ecosystem":"rubygems","package_name":"activemodel"}],"created_at":"2022-12-21T16:12:59.141Z","updated_at":"2025-04-20T01:16:09.916Z","epss_percentage":0.01845,"epss_percentile":0.81989},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXY1NDMtZ3FoaC02Z3d3","url":"https://github.com/advisories/GHSA-v543-gqhh-6gww","title":"Duplicate Advisory: Moderate severity vulnerability that affects activemodel","description":"## Duplicate advisory\nThis advisory has been withdrawn because it is a duplicate of [GHSA-543v-gj2c-r3ch](https://github.com/advisories/GHSA-543v-gj2c-r3ch). This link is maintained to preserve external references.\n\n## Original Description\nActive Model in Ruby on Rails 4.1.x before 4.1.14.1, 4.2.x before 4.2.5.1, and 5.x before 5.0.0.beta1.1 supports the use of instance-level writers for class accessors, which allows remote attackers to bypass intended validation steps via crafted parameters.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2018-09-17T21:55:43.000Z","withdrawn_at":"2020-06-17T15:15:09.000Z","classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2016-0753","https://github.com/advisories/GHSA-v543-gqhh-6gww"],"source_kind":"github","identifiers":["GHSA-v543-gqhh-6gww"],"repository_url":null,"blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"4.2.5.1","vulnerable_version_range":"\u003e= 4.2, \u003c= 4.2.5.0"},{"first_patched_version":"4.1.14.1","vulnerable_version_range":"\u003e= 4.1.0, \u003c= 4.1.14.0"}],"ecosystem":"rubygems","package_name":"activemodel"}],"created_at":"2022-12-21T16:12:41.278Z","updated_at":"2023-01-31T20:39:24.000Z","epss_percentage":null,"epss_percentile":null}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/activemodel","docker_dependents_count":1402,"docker_downloads_count":839802627,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/activemodel","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/activemodel/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activemodel/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activemodel/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activemodel/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/activemodel/related_packages","maintainers":[{"uuid":"43492","login":"jhawthorn","name":null,"email":null,"url":null,"packages_count":136,"html_url":"https://rubygems.org/profiles/jhawthorn","role":null,"created_at":"2022-11-07T12:36:08.714Z","updated_at":"2022-11-07T12:36:08.714Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jhawthorn/packages"},{"uuid":"207","login":"tenderlove","name":null,"email":null,"url":null,"packages_count":183,"html_url":"https://rubygems.org/profiles/tenderlove","role":null,"created_at":"2022-11-07T12:36:08.740Z","updated_at":"2022-11-07T12:36:08.740Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tenderlove/packages"},{"uuid":"54617","login":"kamipo","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://rubygems.org/profiles/kamipo","role":null,"created_at":"2022-11-07T12:36:08.707Z","updated_at":"2022-11-07T12:36:08.707Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/kamipo/packages"},{"uuid":"46413","login":"byroot","name":null,"email":null,"url":null,"packages_count":104,"html_url":"https://rubygems.org/profiles/byroot","role":null,"created_at":"2022-11-07T12:36:08.720Z","updated_at":"2022-11-07T12:36:08.720Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/byroot/packages"},{"uuid":"1550","login":"webster132","name":null,"email":null,"url":null,"packages_count":95,"html_url":"https://rubygems.org/profiles/webster132","role":null,"created_at":"2022-11-07T12:36:08.733Z","updated_at":"2022-11-07T12:36:08.733Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/webster132/packages"},{"uuid":"43998","login":"guilleiguaran","name":null,"email":null,"url":null,"packages_count":85,"html_url":"https://rubygems.org/profiles/guilleiguaran","role":null,"created_at":"2022-11-07T12:36:08.768Z","updated_at":"2022-11-07T12:36:08.768Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/guilleiguaran/packages"},{"uuid":"32977","login":"fxn","name":null,"email":null,"url":null,"packages_count":61,"html_url":"https://rubygems.org/profiles/fxn","role":null,"created_at":"2022-11-07T12:36:08.727Z","updated_at":"2022-11-07T12:36:08.727Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/fxn/packages"},{"uuid":"429","login":"cantoniodasilva","name":null,"email":null,"url":null,"packages_count":67,"html_url":"https://rubygems.org/profiles/cantoniodasilva","role":null,"created_at":"2022-11-07T12:36:08.755Z","updated_at":"2022-11-07T12:36:08.755Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/cantoniodasilva/packages"},{"uuid":"47349","login":"rafaelfranca","name":null,"email":null,"url":null,"packages_count":120,"html_url":"https://rubygems.org/profiles/rafaelfranca","role":null,"created_at":"2022-11-07T12:36:08.761Z","updated_at":"2022-11-07T12:36:08.761Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/rafaelfranca/packages"},{"uuid":"337","login":"jeremydaer","name":null,"email":null,"url":null,"packages_count":81,"html_url":"https://rubygems.org/profiles/jeremydaer","role":null,"created_at":"2022-11-07T12:36:08.748Z","updated_at":"2022-11-07T12:36:08.748Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jeremydaer/packages"},{"uuid":"528","login":"matthewd","name":null,"email":null,"url":null,"packages_count":66,"html_url":"https://rubygems.org/profiles/matthewd","role":null,"created_at":"2022-11-07T12:36:08.780Z","updated_at":"2022-11-07T12:36:08.780Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/matthewd/packages"},{"uuid":"96878","login":"eileencodes","name":null,"email":null,"url":null,"packages_count":51,"html_url":"https://rubygems.org/profiles/eileencodes","role":null,"created_at":"2022-11-07T12:36:08.785Z","updated_at":"2022-11-07T12:36:08.785Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/eileencodes/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":67,"unique_repositories_count_past_30_days":3,"recent_issues":[{"uuid":"4168827877","node_id":"PR_kwDOGhhTbc7Oilse","number":42,"state":"closed","title":"Bump activemodel from 8.0.4.1 to 8.1.3","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-07T09:33:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T08:48:50.000Z","updated_at":"2026-04-07T09:33:19.000Z","time_to_close":693860,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.0.4.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.0.4.1 to 8.1.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdward Woodcock\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\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\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5a3d7d903aba1219f394259c2d9c02949b1b5cd7\"\u003e\u003ccode\u003e5a3d7d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56943\"\u003e#56943\u003c/a\u003e from yahonda/ruby-16321\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/034ca73253a001be8cce523812559012ac341fb8\"\u003e\u003ccode\u003e034ca73\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56867\"\u003e#56867\u003c/a\u003e from hammadxcm/fix-ruby4-delegator-inspect-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6c23f3bd4e252619010bb13ab2570faa5000ed55\"\u003e\u003ccode\u003e6c23f3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56768\"\u003e#56768\u003c/a\u003e from RemoteCTO/fix/integer-type-marshal-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4.1...v8.1.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=activemodel\u0026package-manager=bundler\u0026previous-version=8.0.4.1\u0026new-version=8.1.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 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/citizensadvice/ruby-gem-strong_attributes/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/citizensadvice%2Fruby-gem-strong_attributes/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"},{"uuid":"4135090950","node_id":"PR_kwDOAeBT_c7NVYY2","number":178,"state":"open","title":"[bundler] Bump the rails group with 4 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-25T12:33:45.000Z","updated_at":"2026-03-25T12:34:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[bundler] Bump","group_name":"rails","update_count":4,"packages":[{"name":"activemodel","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 4 updates: [activemodel](https://github.com/rails/rails), [activesupport](https://github.com/rails/rails), [actionpack](https://github.com/rails/rails) and [actionview](https://github.com/rails/rails).\n\nUpdates `activemodel` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdward Woodcock\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5a3d7d903aba1219f394259c2d9c02949b1b5cd7\"\u003e\u003ccode\u003e5a3d7d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56943\"\u003e#56943\u003c/a\u003e from yahonda/ruby-16321\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/034ca73253a001be8cce523812559012ac341fb8\"\u003e\u003ccode\u003e034ca73\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56867\"\u003e#56867\u003c/a\u003e from hammadxcm/fix-ruby4-delegator-inspect-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6c23f3bd4e252619010bb13ab2570faa5000ed55\"\u003e\u003ccode\u003e6c23f3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56768\"\u003e#56768\u003c/a\u003e from RemoteCTO/fix/integer-type-marshal-compat\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\n  inflect.acronym \u0026quot;USD\u0026quot;\n  inflect.acronym \u0026quot;USDC\u0026quot;\nend\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c315744f2001bdd5cba32d43274adca50b71e289\"\u003e\u003ccode\u003ec315744\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56889\"\u003e#56889\u003c/a\u003e from alpaca-tc/support-spring-on-test-environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2ac86a8a9e32fff6bfaacd199957ba4ace0a2256\"\u003e\u003ccode\u003e2ac86a8\u003c/code\u003e\u003c/a\u003e Revert benchmark.rb to a silent shim (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56832\"\u003e#56832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8e8c95511610c6316084ccd9bc098acfd5e163b8\"\u003e\u003ccode\u003e8e8c955\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56785\"\u003e#56785\u003c/a\u003e from drsharp/dan/fix-json-encoder-bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/38e8df6a5a3244e5a239e33c3a08ed0c52791b73\"\u003e\u003ccode\u003e38e8df6\u003c/code\u003e\u003c/a\u003e Fix activesupport/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5266eee6c69972b629cbcdeed8ad34d5410de14\"\u003e\u003ccode\u003ef5266ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56679\"\u003e#56679\u003c/a\u003e from Saidbek/fix-overlapping-acronyms-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8080d2d6bbbc8d534d2ba57623b8bcf90f7e0caf\"\u003e\u003ccode\u003e8080d2d\u003c/code\u003e\u003c/a\u003e Fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/594357c4bc3ee1aae1b9413715f99407352e7c19\"\u003e\u003ccode\u003e594357c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56652\"\u003e#56652\u003c/a\u003e from zzak/re-56588\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/055902a00e777d6ed5be51c73181d54aa1251e0a\"\u003e\u003ccode\u003e055902a\u003c/code\u003e\u003c/a\u003e Handle Ruby 4.1 stabby lambda in Proc#source_location start_column\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/10c6e0eb362d4cd437ea092deb86e67f0d243dfc\"\u003e\u003ccode\u003e10c6e0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56750\"\u003e#56750\u003c/a\u003e from nicolasva/fix/UnknownHttpMethod\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cce61db5a22f94e8e820b3d2bf3d96cf0db9412a\"\u003e\u003ccode\u003ecce61db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56820\"\u003e#56820\u003c/a\u003e from ybiquitous/improve-apidoc-for-ActionDispatch_I...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix encoding errors for string locals containing non-ASCII characters.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eKataoka Katsuki\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix collection caching to only forward \u003ccode\u003eexpires_in\u003c/code\u003e argument if explicitly set.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePieter Visser\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e598b9427876ba44bd62c48390e6568476b3f8f0\"\u003e\u003ccode\u003ee598b94\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56906\"\u003e#56906\u003c/a\u003e from kataokatsuki/fix-strict-locals-non-ascii-encoding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c2ea79c21161de7eb271b2789fbed21dde504071\"\u003e\u003ccode\u003ec2ea79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56891\"\u003e#56891\u003c/a\u003e from pietervisser/fix-collection-caching-to-preserv...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003c!-- CURSOR_SUMMARY --\u003e\n---\n\n\u003e [!NOTE]\n\u003e **Low Risk**\n\u003e Lockfile-only dependency updates to Rails patch releases and `json` patch version; main risk is unexpected upstream behavior changes in framework internals.\n\u003e \n\u003e **Overview**\n\u003e Updates `Gemfile.lock` to bump the Rails framework gems (`actionpack`, `actionview`, `activemodel`, `activesupport`) from `8.1.2.1` to `8.1.3`, including refreshed checksums.\n\u003e \n\u003e Also bumps the `json` gem from `2.19.2` to `2.19.3`.\n\u003e \n\u003e \u003csup\u003eWritten by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 3ac7be5462b12fd672a340cddd579bbe16ff2ae5. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).\u003c/sup\u003e\n\u003c!-- /CURSOR_SUMMARY --\u003e","html_url":"https://github.com/guideline-tech/subroutine/pull/178","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/guideline-tech%2Fsubroutine/issues/178","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/178/packages"},{"uuid":"4130635026","node_id":"PR_kwDOAHOAqs7NIn70","number":38840,"state":"open","title":"DEPS: Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-24T21:03:20.000Z","updated_at":"2026-03-24T21:03:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [actionpack](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [actionview](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activemodel](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activerecord](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activesupport](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [railties](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activejob](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n\n\nUpdates `actionmailer` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/actionmailer/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `actionpack` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/actionpack/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `actionview` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/actionview/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activemodel` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activerecord` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activerecord/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activesupport` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activesupport/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `railties` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/railties/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activejob` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activejob/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)","html_url":"https://github.com/discourse/discourse/pull/38840","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/discourse%2Fdiscourse/issues/38840","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38840/packages"},{"uuid":"3865620029","node_id":"PR_kwDOLpPq886_3ZBc","number":107,"state":"closed","title":"Bump the bundler group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-01T02:08:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-28T14:03:54.000Z","updated_at":"2026-04-01T02:08:02.000Z","time_to_close":5400246,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":9,"packages":[{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"rubocop-govuk","old_version":"5.1.20","new_version":"5.2.0","repository_url":"https://github.com/alphagov/rubocop-govuk"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"webmock","old_version":"3.26.0","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"json-schema","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/voxpupuli/json-schema"},{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [rubocop-govuk](https://github.com/alphagov/rubocop-govuk) | `5.1.20` | `5.2.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.26.0` | `3.26.1` |\n| [json-schema](https://github.com/voxpupuli/json-schema) | `6.0.0` | `6.1.0` |\n| [activemodel](https://github.com/rails/rails) | `8.1.1` | `8.1.2` |\n\n\nUpdates `debug` from 1.11.0 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecommand\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eb path: path_pattern\u003c/code\u003e is accepted in \u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003ehttps://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix\n\u003cul\u003e\n\u003cli\u003ecatch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1163\"\u003eruby/debug#1163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eKernel.__callee__\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1164\"\u003eruby/debug#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFileUtils is needed by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1168\"\u003eruby/debug#1168\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ecatch up Ruby 4.0\n\u003cul\u003e\n\u003cli\u003eUpdate imemo_mask to match ruby's by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebacktrace changes \u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003ehttps://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eremote\n\u003cul\u003e\n\u003cli\u003efix(DAP): Return unverified breakpoints instead of unsuccessful response by \u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003emisc\n\u003cul\u003e\n\u003cli\u003eomit on older version by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1167\"\u003eruby/debug#1167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/ruby/debug/compare/v1.11.0...v1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/bad4d38f8330219b62f2b253d59146f5a71fd39a\"\u003e\u003ccode\u003ebad4d38\u003c/code\u003e\u003c/a\u003e v1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/88d762c8c9b157e3a2627ac3de0df1d5cb8dace5\"\u003e\u003ccode\u003e88d762c\u003c/code\u003e\u003c/a\u003e FileUtils is needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/553373a59f655177dabb2cef952ad1fae1d55fa4\"\u003e\u003ccode\u003e553373a\u003c/code\u003e\u003c/a\u003e omit on older version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/c1c1c8e2533096e82d2888170f18d7cc990407fd\"\u003e\u003ccode\u003ec1c1c8e\u003c/code\u003e\u003c/a\u003e use \u003ccode\u003eKernel.__callee__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003e\u003ccode\u003e24f95d6\u003c/code\u003e\u003c/a\u003e catch up 4.0.0 backtrace change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/bc97d3387deb4357419e9ebc6c40f809d1858527\"\u003e\u003ccode\u003ebc97d33\u003c/code\u003e\u003c/a\u003e add a test for \u003ccode\u003eb path: ...\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003e\u003ccode\u003e1139d78\u003c/code\u003e\u003c/a\u003e support \u003ccode\u003eb path: path_expr\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/06342cd77a11af814c91726f7e5bc3f1974be9df\"\u003e\u003ccode\u003e06342cd\u003c/code\u003e\u003c/a\u003e catch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/2791573fd24aef2091cbb30aa8750f3117781752\"\u003e\u003ccode\u003e2791573\u003c/code\u003e\u003c/a\u003e fix(DAP): Return unverified breakpoints instead of unsuccessful response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/14c8a546242a5e88ed8f47607629ffbef7d3315d\"\u003e\u003ccode\u003e14c8a54\u003c/code\u003e\u003c/a\u003e Update imemo_mask to match ruby's\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pry` from 0.15.2 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/releases\"\u003epry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.16.0\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pry/pry/pull/2343\"\u003epry/pry#2343\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ehttps://github.com/pry/pry/compare/v0.15.2...v0.16.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/blob/master/CHANGELOG.md\"\u003epry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/pry/pry/blob/master/v0.16.0\"\u003ehttps://github.com/pry/pry/blob/master/v0.16.0\u003c/a\u003e (December 26, 2025)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/5a267df08ad6a69dcb890733a2765b47585439c8\"\u003e\u003ccode\u003e5a267df\u003c/code\u003e\u003c/a\u003e v0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/538b15043c66e18ff98d1948b7fd1c22a73b042b\"\u003e\u003ccode\u003e538b150\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/0a7ab20e34feb3f7952c47392b2a8030c5f161ce\"\u003e\u003ccode\u003e0a7ab20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2361\"\u003e#2361\u003c/a\u003e from andrehjr/remove-outdated-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/8dcb2c82fffdb846b961f5d1e555dba3e9450ab5\"\u003e\u003ccode\u003e8dcb2c8\u003c/code\u003e\u003c/a\u003e Remove pinned method_source version for Ruby \u0026lt; 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/fc9969bca186a252b1a43d85b663f4352bc8b6ec\"\u003e\u003ccode\u003efc9969b\u003c/code\u003e\u003c/a\u003e Remove psych pinned version from Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/23b3ed6b737d190f95abaf30478a749c6b8d9b95\"\u003e\u003ccode\u003e23b3ed6\u003c/code\u003e\u003c/a\u003e Remove hardcoded require for rubocop \u0026gt; 2.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/e9ac449c1d7a3607a87d15d6be19d7a6be3645ad\"\u003e\u003ccode\u003ee9ac449\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2349\"\u003e#2349\u003c/a\u003e from andrehjr/no-readline-installed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/679249bc189c3bd7fb187dc174a08a3ff88ec1da\"\u003e\u003ccode\u003e679249b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2359\"\u003e#2359\u003c/a\u003e from andrehjr/remove-experiental-autoresize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/17d5954f7ea2ebddb38a9af9f1987d2997d0e62b\"\u003e\u003ccode\u003e17d5954\u003c/code\u003e\u003c/a\u003e Remove experimental Pry.auto_resize!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/090822bcabcedba392ceaea5b4549d04c2cab7dd\"\u003e\u003ccode\u003e090822b\u003c/code\u003e\u003c/a\u003e Pry will only support Ruby 2.6+ form now on\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-govuk` from 5.1.20 to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alphagov/rubocop-govuk/blob/main/CHANGELOG.md\"\u003erubocop-govuk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/2c68c963afbae8ac53a1a3d06dd81569f1bfea1e\"\u003e\u003ccode\u003e2c68c96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/578\"\u003e#578\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/63e1db23a57ada1a64aef85f9d47cef898753d0f\"\u003e\u003ccode\u003e63e1db2\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.284.0 to 1.286.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/cb59fb73abfb010ea000ed53dcc84a3e20c28974\"\u003e\u003ccode\u003ecb59fb7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/576\"\u003e#576\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/49aa424143311b7c0471c6def1842dede89a2e14\"\u003e\u003ccode\u003e49aa424\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.282.0 to 1.284.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/58ff3290bf5c267d0228d0910fa0bc92a405ec81\"\u003e\u003ccode\u003e58ff329\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/574\"\u003e#574\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/cff09c07313096b5fe5c4af7a17b37031757efbe\"\u003e\u003ccode\u003ecff09c0\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.280.0 to 1.282.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/a6d2aedf0262e633076d23b47069957f843f6e52\"\u003e\u003ccode\u003ea6d2aed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/570\"\u003e#570\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/f0adfc8ef16421da2a0e9eb27d9477e342c9f7ca\"\u003e\u003ccode\u003ef0adfc8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/571\"\u003e#571\u003c/a\u003e from alphagov/dependabot/bundler/rubocop-rspec-eq-3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/23f0fb8c33c52e91f043cf89d9f6a4935d1ae71b\"\u003e\u003ccode\u003e23f0fb8\u003c/code\u003e\u003c/a\u003e Update rubocop-rspec requirement from = 3.8.0 to = 3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/d85fe6167552b150e9d89ffeb5d1d8265754c986\"\u003e\u003ccode\u003ed85fe61\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.279.0 to 1.280.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alphagov/rubocop-govuk/compare/v5.1.20...v5.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-performance` from 1.26.0 to 1.26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-performance/releases\"\u003erubocop-performance's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop Performance v1.26.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/517\"\u003e#517\u003c/a\u003e: Fix false positives for \u003ccode\u003ePerformance/RedundantStringChars\u003c/code\u003e when using \u003ccode\u003estr.chars[0, 2]\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/520\"\u003e#520\u003c/a\u003e: Disable \u003ccode\u003ePerformance/BigDecimalWithNumericArgument\u003c/code\u003e by default. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-performance/blob/master/CHANGELOG.md\"\u003erubocop-performance's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.26.1 (2025-10-18)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/517\"\u003e#517\u003c/a\u003e: Fix false positives for \u003ccode\u003ePerformance/RedundantStringChars\u003c/code\u003e when using \u003ccode\u003estr.chars[0, 2]\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/520\"\u003e#520\u003c/a\u003e: Disable \u003ccode\u003ePerformance/BigDecimalWithNumericArgument\u003c/code\u003e by default. ([\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/4783c90f850b7d5c4f139ffcec299d76a9211d3a\"\u003e\u003ccode\u003e4783c90\u003c/code\u003e\u003c/a\u003e Cut 1.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/d3f18064f440cd827b4396ce6c8016f439ba38d9\"\u003e\u003ccode\u003ed3f1806\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/a63df04247c81ce5829016bf035688415e623b2f\"\u003e\u003ccode\u003ea63df04\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/521\"\u003e#521\u003c/a\u003e from Earlopain/disable-bigdecimal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/7a5499fadf3f63a3e328a1f9904fba8022a625b0\"\u003e\u003ccode\u003e7a5499f\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/520\"\u003e#520\u003c/a\u003e] Disable \u003ccode\u003ePerformance/BigDecimalWithNumericArgument\u003c/code\u003e by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/03a607173ad2f11acb355fa9a339bdaa807b97a4\"\u003e\u003ccode\u003e03a6071\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/518\"\u003e#518\u003c/a\u003e from koic/fix_false_positives_for_performance_redunda...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/a1ef194bf4064f5b5f09842f90698532fb688d1d\"\u003e\u003ccode\u003ea1ef194\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/517\"\u003e#517\u003c/a\u003e] Fix false positives for \u003ccode\u003ePerformance/RedundantStringChars\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/6e1afeb8b19b48fd0b6f255bada2a002c2dee426\"\u003e\u003ccode\u003e6e1afeb\u003c/code\u003e\u003c/a\u003e Tweak bug report template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/60ff474251651f7669666cd3b31a73d481c3e0d8\"\u003e\u003ccode\u003e60ff474\u003c/code\u003e\u003c/a\u003e Suppress RuboCop's offense\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/955429a9097425b5114abc67a814eb4f2a393913\"\u003e\u003ccode\u003e955429a\u003c/code\u003e\u003c/a\u003e Switch back docs version to master\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rubocop/rubocop-performance/compare/v1.26.0...v1.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webmock` from 3.26.0 to 3.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/blob/master/CHANGELOG.md\"\u003ewebmock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.26.1\u003c/h1\u003e\n\u003cp\u003eFix compatibility with recent async-http versions\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eThanks to [Mikhail Doronin](https://github.com/misdoro)\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/bblimke/webmock/commit/56cb661b6aa2e711bcf3eb1e3a921a35727e7972\"\u003e\u003ccode\u003e56cb661\u003c/code\u003e\u003c/a\u003e Version 3.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/ea4cea3f01c7ec9019b7eae27a94f0f101e2ed26\"\u003e\u003ccode\u003eea4cea3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1109\"\u003e#1109\u003c/a\u003e from misdoro/duplicate_headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/c05fe472629da6ea6fc0ca065ce3bcafbfc56229\"\u003e\u003ccode\u003ec05fe47\u003c/code\u003e\u003c/a\u003e Split SAMPLE_REQUEST_HEADERS and SAMPLE_RESPONSE_HEADERS to be more realistic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/5f46ecabc3f4324ddde7ac4a948cc44145202828\"\u003e\u003ccode\u003e5f46eca\u003c/code\u003e\u003c/a\u003e Fix specs with recent Async-http versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/aa747ba5328a5fba500a16e54d3e1848106e1b0b\"\u003e\u003ccode\u003eaa747ba\u003c/code\u003e\u003c/a\u003e Run CI on pushes to all branches\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bblimke/webmock/compare/3.26.0...v3.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `i18n` from 1.14.7 to 1.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-i18n/i18n/releases\"\u003ei18n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.8\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unused \u003ccode\u003ecgi\u003c/code\u003e require for Ruby 3.5 compatibility by \u003ca href=\"https://github.com/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/713\"\u003eruby-i18n/i18n#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicitly require \u003ccode\u003epathname\u003c/code\u003e by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/708\"\u003eruby-i18n/i18n#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Add Ruby 3.4 to CI Matrix by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/722\"\u003eruby-i18n/i18n#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: I18n.locale reset in Fiber context by using Thread#thread_variable by \u003ca href=\"https://github.com/lee266\"\u003e\u003ccode\u003e@​lee266\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/724\"\u003eruby-i18n/i18n#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use actions/checkout@v5 by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/721\"\u003eruby-i18n/i18n#721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compatibility with \u003ccode\u003e--enable-frozen-string-literal\u003c/code\u003e 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-i18n/i18n/pull/726\"\u003eruby-i18n/i18n#726\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/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/713\"\u003eruby-i18n/i18n#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/722\"\u003eruby-i18n/i18n#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lee266\"\u003e\u003ccode\u003e@​lee266\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/724\"\u003eruby-i18n/i18n#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/726\"\u003eruby-i18n/i18n#726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/f2fb6a5766dee835082eb74ee83f52e0a6479573\"\u003e\u003ccode\u003ef2fb6a5\u003c/code\u003e\u003c/a\u003e Bump to 1.14.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/ef622532786dabf0c525a5c03ea258a9247702ba\"\u003e\u003ccode\u003eef62253\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/726\"\u003e#726\u003c/a\u003e from byroot/fstr-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/002201342c44d31e8b51da3696ba9e7ac1278038\"\u003e\u003ccode\u003e0022013\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into fstr-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/dee96b6bace0fa76b1f655f224a2a8148a11a92c\"\u003e\u003ccode\u003edee96b6\u003c/code\u003e\u003c/a\u003e Remove testing for EOL Rubies 3.1 + 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/c6873f934bc0ad86b8651f4ed22c9fce347c9752\"\u003e\u003ccode\u003ec6873f9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'olleolleolle/patch-1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/2134338ee8c4657bb18326cdb850cf2810a9aadc\"\u003e\u003ccode\u003e2134338\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/724\"\u003e#724\u003c/a\u003e from lee266/fix/i18n-locale-thread-variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/3f9ae644a554ada9e93d5943624f2d0e390c93ba\"\u003e\u003ccode\u003e3f9ae64\u003c/code\u003e\u003c/a\u003e Fix compatibility with \u003ccode\u003e--enable-frozen-string-literal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d64a88da60545bfbbd5c08ee970bb5c2262cf193\"\u003e\u003ccode\u003ed64a88d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/722\"\u003e#722\u003c/a\u003e from taketo1113/ci-ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/0e5484f68d5745effa1f7a8625984e7f56089cb3\"\u003e\u003ccode\u003e0e5484f\u003c/code\u003e\u003c/a\u003e CI: Fix rails version specification in gemfiles to run with the specified min...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/960ab2b6289baecef433faaf35feebf49ece2779\"\u003e\u003ccode\u003e960ab2b\u003c/code\u003e\u003c/a\u003e CI: Add ruby 3.4 to CI Matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json-schema` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/voxpupuli/json-schema/releases\"\u003ejson-schema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features 🎉\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eminitest: Allow 6.x by \u003ca href=\"https://github.com/bastelfreak\"\u003e\u003ccode\u003e@​bastelfreak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/558\"\u003evoxpupuli/json-schema#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebigdecimal: Allow 4.x by \u003ca href=\"https://github.com/bastelfreak\"\u003e\u003ccode\u003e@​bastelfreak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/557\"\u003evoxpupuli/json-schema#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evoxpupuli-rubocop: Update 4.2.0-\u0026gt;5.1.0 by \u003ca href=\"https://github.com/bastelfreak\"\u003e\u003ccode\u003e@​bastelfreak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/559\"\u003evoxpupuli/json-schema#559\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.1.0\"\u003ehttps://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.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/voxpupuli/json-schema/blob/master/CHANGELOG.md\"\u003ejson-schema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/tree/v6.1.0\"\u003ev6.1.0\u003c/a\u003e (2025-12-21)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.1.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eImplemented enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003evoxpupuli-rubocop: Update 4.2.0-\u0026gt;5.1.0 \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/559\"\u003e#559\u003c/a\u003e (\u003ca href=\"https://github.com/bastelfreak\"\u003ebastelfreak\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eminitest: Allow 6.x \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/558\"\u003e#558\u003c/a\u003e (\u003ca href=\"https://github.com/bastelfreak\"\u003ebastelfreak\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebigdecimal: Allow 4.x \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/557\"\u003e#557\u003c/a\u003e (\u003ca href=\"https://github.com/bastelfreak\"\u003ebastelfreak\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/voxpupuli/json-schema/commit/233ce0541ea9bd3144df21959018097d32cc749b\"\u003e\u003ccode\u003e233ce05\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/560\"\u003e#560\u003c/a\u003e from bastelfreak/rel610\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/5b831307f5fb496d0952b3d688dcf77b28bea95e\"\u003e\u003ccode\u003e5b83130\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/54a97e9b9884a64c73b1a41dc5750d14a6a24c53\"\u003e\u003ccode\u003e54a97e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/559\"\u003e#559\u003c/a\u003e from bastelfreak/vpr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/ccf25072884ac807b54100fd629f26bfb1dc8f90\"\u003e\u003ccode\u003eccf2507\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/557\"\u003e#557\u003c/a\u003e from bastelfreak/bigd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/13a5e52e3c33d880003a2ad65f3174a0795e3a3f\"\u003e\u003ccode\u003e13a5e52\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/558\"\u003e#558\u003c/a\u003e from bastelfreak/minitest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/659c4cf83772867b9a37a47b251c065f4f31a937\"\u003e\u003ccode\u003e659c4cf\u003c/code\u003e\u003c/a\u003e rubocop: autofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/82a393e3dd8d3feba756dd718b6778218671e2bd\"\u003e\u003ccode\u003e82a393e\u003c/code\u003e\u003c/a\u003e voxpupuli-rubocop: Update 4.2.0-\u0026gt;5.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/8d6257d2d324f5ad202bb803cc5e24d566688bad\"\u003e\u003ccode\u003e8d6257d\u003c/code\u003e\u003c/a\u003e minitest: Allow 6.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/9f52b34a54a9063aace89edeb3caf1e96acee851\"\u003e\u003ccode\u003e9f52b34\u003c/code\u003e\u003c/a\u003e bigdecimal: Allow 4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/45b88569582f296a600c702ddc2640f14d4b13a8\"\u003e\u003ccode\u003e45b8856\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/555\"\u003e#555\u003c/a\u003e from voxpupuli/dependabot/github_actions/actions/uplo...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c86465f65278d2a6200424d2853fc848a0e01356\"\u003e\u003ccode\u003ec86465f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56353\"\u003e#56353\u003c/a\u003e from rails/rmf-delegation-basic-object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fce726b75e5e2f09511cafe2142df35c7bf96921\"\u003e\u003ccode\u003efce726b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56344\"\u003e#56344\u003c/a\u003e from Saidbek/fix-inflections-fallback-to-en-locale\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/efd9bd99503c4e553aceeba7739e8f20be3ed321\"\u003e\u003ccode\u003eefd9bd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56324\"\u003e#56324\u003c/a\u003e from jeremyevans/activesupport-uri-require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/81dca9cc388b7426cfcd39e34e3bc57fd287b74b\"\u003e\u003ccode\u003e81dca9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56285\"\u003e#56285\u003c/a\u003e from markokajzer/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a5c1af3b94b41f352d4f0d649375f92bfef18b74\"\u003e\u003ccode\u003ea5c1af3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56294\"\u003e#56294\u003c/a\u003e from fatkodima/fix-mem_cache_store-newer-connection...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/923f8e915e3b738a07be750d3344880df5673103\"\u003e\u003ccode\u003e923f8e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56292\"\u003e#56292\u003c/a\u003e from fatkodima/fix-redis_cache_store-newer-connecti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.","html_url":"https://github.com/ministryofjustice/laa-crime-forms-common/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-crime-forms-common/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"},{"uuid":"3797863414","node_id":"PR_kwDOBBJCIM68YOFj","number":287,"state":"closed","title":"Bump the dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-13T18:03:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T18:03:20.000Z","updated_at":"2026-01-13T18:03:47.000Z","time_to_close":345625,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":15,"packages":[{"name":"railties","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"},{"name":"rails","old_version":"8.1.1","new_version":"8.1.2"},{"name":"rubocop-rspec","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"actioncable","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionmailbox","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionmailer","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionpack","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actiontext","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionview","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activejob","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activerecord","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activestorage","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activesupport","old_version":"8.1.1","new_version":"8.1.2"},{"name":"thor","old_version":"1.4.0","new_version":"1.5.0"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 2 updates in the / directory: [railties](https://github.com/rails/rails) and [rubocop-rspec](https://github.com/rubocop/rubocop-rspec).\n\nUpdates `railties` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSkip all system test files on app generation.\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\u003eFix \u003ccode\u003edb:system:change\u003c/code\u003e to correctly update Dockerfile base packages.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJosiah Smith\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix devcontainer volume mount when app name differs from folder name.\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\u003eFixed the \u003ccode\u003erails notes\u003c/code\u003e command to properly extract notes in CSS files.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDavid White\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed the default Dockerfile to properly include the \u003ccode\u003evendor/\u003c/code\u003e directory during \u003ccode\u003ebundle install\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eZhong Sheng\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2bebf4fe0cbddebd3c3d3c373ee99af0bae5f040\"\u003e\u003ccode\u003e2bebf4f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56488\"\u003e#56488\u003c/a\u003e from zzak/re-56365\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/abd3a1b758e69df4af4b881aa07c424f9a4fc0e0\"\u003e\u003ccode\u003eabd3a1b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56416\"\u003e#56416\u003c/a\u003e from byroot/railties-ci-bin-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/660af7197e62d0ee8300992e311c7eeb16172205\"\u003e\u003ccode\u003e660af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56412\"\u003e#56412\u003c/a\u003e from davidrhyswhite/fix-css-note-comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/18529e3eb07be69113c951532e773543593bbd8b\"\u003e\u003ccode\u003e18529e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56365\"\u003e#56365\u003c/a\u003e from jeromedalbert/include-prerelease-string-in-rub...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8effe8e09a62e721afdb181c401f2514a53e0095\"\u003e\u003ccode\u003e8effe8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56323\"\u003e#56323\u003c/a\u003e from jeromedalbert/check-yml-no-double-lines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/695ac6d83e14d85c131dc4bbad04e9d9cd22676c\"\u003e\u003ccode\u003e695ac6d\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/01263f18e8cd1f9443fe50940682b89ad862450e\"\u003e\u003ccode\u003e01263f1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56512\"\u003e#56512\u003c/a\u003e from byroot/remove-minitest-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d2509f864aed30800b9e6d305831a62c825033a5\"\u003e\u003ccode\u003ed2509f8\u003c/code\u003e\u003c/a\u003e Allow backburner warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c48fd1c1e0a66217e03fe227197dd7b8ff0fc3c\"\u003e\u003ccode\u003e8c48fd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56535\"\u003e#56535\u003c/a\u003e from eglitobias/8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-rspec` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/releases\"\u003erubocop-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop RSpec v3.9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). (\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. (\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). (\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. (\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md\"\u003erubocop-rspec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0 (2026-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). ([\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. ([\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). ([\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. ([\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/f7aecf0580cda23bd5b25c3cfddddefabb6228bc\"\u003e\u003ccode\u003ef7aecf0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2151\"\u003e#2151\u003c/a\u003e from rubocop/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/893a25b941233616ee055201917bcb25781ce522\"\u003e\u003ccode\u003e893a25b\u003c/code\u003e\u003c/a\u003e Bump version to 3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/91ad43dfa70d99b8d9637526a00e7cb69ace1af1\"\u003e\u003ccode\u003e91ad43d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2150\"\u003e#2150\u003c/a\u003e from kevinrobell-st/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/802b3863b24c1d55c9efcb40912bcfd36b9eb075\"\u003e\u003ccode\u003e802b386\u003c/code\u003e\u003c/a\u003e Fix CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/a03e0c7ea939b279b2df7f9bd6ad001d47524f64\"\u003e\u003ccode\u003ea03e0c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2149\"\u003e#2149\u003c/a\u003e from rubocop/ci-test-ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/68f25d9d79d280ae1859c876638b2ac3a1f51d57\"\u003e\u003ccode\u003e68f25d9\u003c/code\u003e\u003c/a\u003e Temporarily add irb to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b9e50b86916704e039ab60966684943ad82780bb\"\u003e\u003ccode\u003eb9e50b8\u003c/code\u003e\u003c/a\u003e CI: Test with Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b63bcd80ceba07294f5507ebd4692a54a9ebeb09\"\u003e\u003ccode\u003eb63bcd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2148\"\u003e#2148\u003c/a\u003e from sucicfilip/fix-described-class-inside-eval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/278245a100f00a923bab3e2e0acac5cd5d7b7b46\"\u003e\u003ccode\u003e278245a\u003c/code\u003e\u003c/a\u003e Fix RSpec/DescribedClass to ignore *_eval and *_exec blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/ca18f5e7e9abc08bfd826c6e1b66963b48db5d71\"\u003e\u003ccode\u003eca18f5e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2144\"\u003e#2144\u003c/a\u003e from rubocop/dont-use-ruby-version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rspec/compare/v3.8.0...v3.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dc94813e8151d0b56ec6c48b4db861cc7a666a8e\"\u003e\u003ccode\u003edc94813\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56050\"\u003e#56050\u003c/a\u003e from jclusso/fix-stylesheet-tag-nonce-mailer\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.action_controller.live_streaming_excluded_keys\u003c/code\u003e to control execution state sharing in ActionController::Live.\u003c/p\u003e\n\u003cp\u003eWhen using ActionController::Live, actions are executed in a separate thread that shares\nstate from the parent thread. This new configuration allows applications to opt-out specific\nstate keys that should not be shared.\u003c/p\u003e\n\u003cp\u003eThis is useful when streaming inside a \u003ccode\u003econnected_to\u003c/code\u003e block, where you may want\nthe streaming thread to use its own database connection context.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# config/application.rb\nconfig.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBy default, all keys are shared.\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\u003eFix \u003ccode\u003eIpSpoofAttackError\u003c/code\u003e message to include \u003ccode\u003eForwarded\u003c/code\u003e header content.\u003c/p\u003e\n\u003cp\u003eWithout it, the error message may be misleading.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df98a0d4b820d9c85a466976860c8295d7304acc\"\u003e\u003ccode\u003edf98a0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56440\"\u003e#56440\u003c/a\u003e from zzak/ac-live-streaming-keys-typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/662609d35301c42973e0b183d1294c61bb060390\"\u003e\u003ccode\u003e662609d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56252\"\u003e#56252\u003c/a\u003e from callmesangio/fix-testing-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/81dca9cc388b7426cfcd39e34e3bc57fd287b74b\"\u003e\u003ccode\u003e81dca9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56285\"\u003e#56285\u003c/a\u003e from markokajzer/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c98c994f5994a0aae2b258c41732d9e0e4339f5b\"\u003e\u003ccode\u003ec98c994\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56256\"\u003e#56256\u003c/a\u003e from zzak/re-56186\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4388688077b6406e9d71fd622f98677a83a2c2d0\"\u003e\u003ccode\u003e4388688\u003c/code\u003e\u003c/a\u003e Fix redirect_test leaking subscription state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/13589db95b8380411baeea21dfdd2cc8e7843231\"\u003e\u003ccode\u003e13589db\u003c/code\u003e\u003c/a\u003e Fix dependency on Rails constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/27e709a7b623e376e12ff197ffc9ca13d8d7be20\"\u003e\u003ccode\u003e27e709a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56059\"\u003e#56059\u003c/a\u003e from Shopify/hm-zpvonttrlztqnryl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003efile_field\u003c/code\u003e to join mime types with a comma when provided as Array\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003efile_field(:article, :image, accept: ['image/png', 'image/gif', 'image/jpeg'])\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow behaves likes:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003efile_field(:article, :image, accept: 'image/png,image/gif,image/jpeg')\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eBogdan Gusiev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix strict locals parsing to handle multiline definitions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003econtent_security_policy_nonce\u003c/code\u003e error in mailers when using \u003ccode\u003econtent_security_policy_nonce_auto\u003c/code\u003e setting.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003econtent_security_policy_nonce helper\u003c/code\u003e is provided by \u003ccode\u003eActionController::ContentSecurityPolicy\u003c/code\u003e, and it relies on \u003ccode\u003erequest.content_security_policy_nonc\u003c/code\u003ee. Mailers lack both the module and the request object.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJarrett Lusso\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/27aa94fb4430b8dd9464081ad9b5ca083452570c\"\u003e\u003ccode\u003e27aa94f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56389\"\u003e#56389\u003c/a\u003e from bogdan/semantic-file-input-accept\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7cf18e084ccc631bcc96b20981fb599b806268ac\"\u003e\u003ccode\u003e7cf18e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56316\"\u003e#56316\u003c/a\u003e from shivabhusal/support-closing_parenthesis-in-nex...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/160db66368584b3c6938d9b1860e865d7dd7c1b6\"\u003e\u003ccode\u003e160db66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56270\"\u003e#56270\u003c/a\u003e from Saidbek/fix-multiline-strict-locals-parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/386004ebd0b84b6e31a2a34b56660a65bf0c4997\"\u003e\u003ccode\u003e386004e\u003c/code\u003e\u003c/a\u003e Add CHANGELOG entry for \u003ca href=\"https://redirect.github.com/rails/rails/issues/56050\"\u003e#56050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dc94813e8151d0b56ec6c48b4db861cc7a666a8e\"\u003e\u003ccode\u003edc94813\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56050\"\u003e#56050\u003c/a\u003e from jclusso/fix-stylesheet-tag-nonce-mailer\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activejob/CHANGELOG.md\"\u003eactivejob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveJob.perform_all_later\u003c/code\u003e to respect \u003ccode\u003ejob_class.enqueue_after_transaction_commit\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eperform_all_later\u003c/code\u003e would enqueue all jobs immediately, even if\nthey had \u003ccode\u003eenqueue_after_transaction_commit = true\u003c/code\u003e. Now it correctly defers\njobs with this setting until after transaction commits, matching the behavior\nof \u003ccode\u003eperform_later\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOuYangJinTing\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix using custom serializers with \u003ccode\u003eActiveJob::Arguments.serialize\u003c/code\u003e when\n\u003ccode\u003eActiveJob::Base\u003c/code\u003e hasn't been loaded.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f33ca37f57b456a8c3741373ae091a86a8a29589\"\u003e\u003ccode\u003ef33ca37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56507\"\u003e#56507\u003c/a\u003e from tiramizoo/rm-sucker_punch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63a0e6cbaf0227eb972fb165c6b9338ae7ca4d38\"\u003e\u003ccode\u003e63a0e6c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56264\"\u003e#56264\u003c/a\u003e from byroot/fix/activejob/perform_all_later-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c8155a611979cc620eb252769dd3fc428c706bed\"\u003e\u003ccode\u003ec8155a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56093\"\u003e#56093\u003c/a\u003e from skipkayhil/hm-rynrvruzqlkttuqt\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix merging relations with arel equality predicates with null relations.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 schema dump for non-autoincrement integer primary keys.\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eschema.rb\u003c/code\u003e should incorrectly restore that table with an auto incrementing\nprimary key.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChris Hasiński\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix PostgreSQL \u003ccode\u003eschema_search_path\u003c/code\u003e not being reapplied after \u003ccode\u003ereset!\u003c/code\u003e or \u003ccode\u003ereconnect!\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eschema_search_path\u003c/code\u003e configured in \u003ccode\u003edatabase.yml\u003c/code\u003e is now correctly\nreapplied instead of falling back to PostgreSQL defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTobias Egli\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRestore the ability of enum to be foats.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eenum :rating, { low: 0.0, medium: 0.5, high: 1.0 },\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn Rails 8.1.0, enum values are eagerly validated, and floats weren't expected.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure batched preloaded associations accounts for klass when grouping to avoid issues with STI.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e, \u003cem\u003eStjepan Hadjic\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveRecord::SoleRecordExceeded#record\u003c/code\u003e to return the relation.\u003c/p\u003e\n\u003cp\u003eThis was the case until Rails 7.2, but starting from 8.0 it\nstarted mistakenly returning the model class.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove PostgreSQLAdapter resilience to Timeout.timeout.\u003c/p\u003e\n\u003cp\u003eBetter handle asynchronous exceptions being thrown inside\nthe \u003ccode\u003ereconnect!\u003c/code\u003e method.\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/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/13952d56e90bcba5cfa1076a7a0b806ae9564324\"\u003e\u003ccode\u003e13952d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56447\"\u003e#56447\u003c/a\u003e from Saidbek/fix-enum-float-values-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/642baed88cfdd761f8adf68452defb5573e90dd7\"\u003e\u003ccode\u003e642baed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56482\"\u003e#56482\u003c/a\u003e from fatkodima/fix-merge-arel-equality-and-null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/49a1f7253d910638a2885629cc049d38db878491\"\u003e\u003ccode\u003e49a1f72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56415\"\u003e#56415\u003c/a\u003e from zzak/re-56047\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1b2a755fdcd13e0cdf12f06822b124209c700d35\"\u003e\u003ccode\u003e1b2a755\u003c/code\u003e\u003c/a\u003e Fix CI rerun command for active record tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/186d51ed7a78e8fb0f0069d5b3af77b507867ce2\"\u003e\u003ccode\u003e186d51e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56304\"\u003e#56304\u003c/a\u003e from fatkodima/fix-dumping-views-indexes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7acf8b301708166cc148c12a832d059d96492a23\"\u003e\u003ccode\u003e7acf8b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56287\"\u003e#56287\u003c/a\u003e from byroot/fix-sole-error-record\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivestorage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activestorage/CHANGELOG.md\"\u003eactivestorage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRestore ADC when signing URLs with IAM for GCS\u003c/p\u003e\n\u003cp\u003eADC was previously used for automatic authorization when signing URLs with IAM.\nNow it is again, but the auth client is memoized so that new credentials are only\nrequested when the current ones expire. Other auth methods can now be used\ninstead by setting the authorization on \u003ccode\u003eActiveStorage::Service::GCSService#iam_client\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveStorage::Blob.service.iam_client.authorization = Google::Auth::ImpersonatedServiceAccountCredentials.new(options)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is safer than setting \u003ccode\u003eGoogle::Apis::RequestOptions.default.authorization\u003c/code\u003e\nbecause it only applies to Active Storage and does not affect other Google API\nclients.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJustin Malčić\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/350c13c0702bf1854e060b253f40ff42e1b5c5d6\"\u003e\u003ccode\u003e350c13c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56125\"\u003e#56125\u003c/a\u003e from zzak/re-56069\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c86465f65278d2a6200424d2853fc848a0e01356\"\u003e\u003ccode\u003ec86465f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56353\"\u003e#56353\u003c/a\u003e from rails/rmf-delegation-basic-object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fce726b75e5e2f09511cafe2142df35c7bf96921\"\u003e\u003ccode\u003efce726b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56344\"\u003e#56344\u003c/a\u003e from Saidbek/fix-inflections-fallback-to-en-locale\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/efd9bd99503c4e553aceeba7739e8f20be3ed321\"\u003e\u003ccode\u003eefd9bd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56324\"\u003e#56324\u003c/a\u003e from jeremyevans/activesupport-uri-require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/81dca9cc388b7426cfcd39e34e3bc57fd287b74b\"\u003e\u003ccode\u003e81dca9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56285\"\u003e#56285\u003c/a\u003e from markokajzer/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a5c1af3b94b41f352d4f0d649375f92bfef18b74\"\u003e\u003ccode\u003ea5c1af3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56294\"\u003e#56294\u003c/a\u003e from fatkodima/fix-mem_cache_store-newer-connection...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/923f8e915e3b738a07be750d3344880df5673103\"\u003e\u003ccode\u003e923f8e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56292\"\u003e#56292\u003c/a\u003e from fatkodima/fix-redis_cache_store-newer-connecti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `thor` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/thor/releases\"\u003ethor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd specs and linter documentation by \u003ca href=\"https://github.com/hlascelles\"\u003e\u003ccode\u003e@​hlascelles\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/907\"\u003erails/thor#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tree command by \u003ca href=\"https://github.com/hlascelles\"\u003e\u003ccode\u003e@​hlascelles\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/906\"\u003erails/thor#906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support \u003ccode\u003einsert_into_file\u003c/code\u003e erroring if the file is not changed, and add \u003ccode\u003einsert_into_file\u003c/code\u003e by \u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/908\"\u003erails/thor#908\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport THOR_MERGE values with arguments by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/910\"\u003erails/thor#910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHidden commands should not make an invocation ambiguous by \u003ca href=\"https://github.com/deivid-rodriguez\"\u003e\u003ccode\u003e@​deivid-rodriguez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/911\"\u003erails/thor#911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet frozen_string_literal: true in colors.rb by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/913\"\u003erails/thor#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix encoding error when running a merge tool by \u003ca href=\"https://github.com/moritzschepp\"\u003e\u003ccode\u003e@​moritzschepp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/916\"\u003erails/thor#916\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/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/thor/pull/913\"\u003erails/thor#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/rails/thor/pull/912\"\u003erails/thor#912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moritzschepp\"\u003e\u003ccode\u003e@​moritzschepp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/thor/pull/916\"\u003erails/thor#916\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/thor/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/rails/thor/compare/v1.4.0...v1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/6a680f2f929cc24d61b81197e113066aa18c8fbb\"\u003e\u003ccode\u003e6a680f2\u003c/code\u003e\u003c/a\u003e Prepare for 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/615b0c29a411302104905cf8d81af02ca0cd4765\"\u003e\u003ccode\u003e615b0c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/919\"\u003e#919\u003c/a\u003e from rails/rmf-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/f16a2dbf503c422da309c3f2bfccbf751ca61ddb\"\u003e\u003ccode\u003ef16a2db\u003c/code\u003e\u003c/a\u003e Unlock bundler development dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/7b99536daff00deea31787e2afe7dce6fefec602\"\u003e\u003ccode\u003e7b99536\u003c/code\u003e\u003c/a\u003e Test with Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/2a1eecb4e8b6aff1aa2941308fb2199fdb61ebe6\"\u003e\u003ccode\u003e2a1eecb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/918\"\u003e#918\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/ed9ffca4e99868b3e20239125a4885dd18ba04ad\"\u003e\u003ccode\u003eed9ffca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/916\"\u003e#916\u003c/a\u003e from moritzschepp/ec-encoding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/5b85a330ba73c5c7be4f72ca949841c707feca54\"\u003e\u003ccode\u003e5b85a33\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/2e2b684b6e29497fa9299600d21cd3dc98cd34af\"\u003e\u003ccode\u003e2e2b684\u003c/code\u003e\u003c/a\u003e fix encoding error when running a merge tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/b2d98fea78fd993b936fc434a3ad722e73ad6bc5\"\u003e\u003ccode\u003eb2d98fe\u003c/code\u003e\u003c/a\u003e Remove whatisthor.com references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/17a3be95f40c255f12612c1491bccea4ca4a363f\"\u003e\u003ccode\u003e17a3be9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/912\"\u003e#912\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/thor/compare/v1.4.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/moneybird/mail_auto_link_obfuscation/pull/287","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fmail_auto_link_obfuscation/issues/287","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/287/packages"},{"uuid":"3795868061","node_id":"PR_kwDOHK8R5868RnF3","number":803,"state":"closed","title":"Bump activemodel from 8.1.1 to 8.1.2","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-09T09:43:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T07:55:16.000Z","updated_at":"2026-01-09T09:43:32.000Z","time_to_close":6494,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.1.1 to 8.1.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=8.1.1\u0026new-version=8.1.2)](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/ecosyste-ms/home/pull/803","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Fhome/issues/803","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/803/packages"},{"uuid":"3795423454","node_id":"PR_kwDOE3bgZM68QLub","number":8046,"state":"closed","title":"Bump activemodel from 8.1.1 to 8.1.2","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-09T04:30:18.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T04:24:08.000Z","updated_at":"2026-01-09T04:30:19.000Z","time_to_close":370,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.1.1 to 8.1.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=8.1.1\u0026new-version=8.1.2)](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/davidrunger/david_runger/pull/8046","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidrunger%2Fdavid_runger/issues/8046","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8046/packages"},{"uuid":"3795212797","node_id":"PR_kwDOJJDTMc68PioS","number":867,"state":"closed","title":"Bump activemodel from 8.1.1 to 8.1.2","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-09T09:04:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T02:27:44.000Z","updated_at":"2026-01-09T09:05:00.000Z","time_to_close":23835,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.1.1 to 8.1.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=8.1.1\u0026new-version=8.1.2)](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/ecosyste-ms/docker/pull/867","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Fdocker/issues/867","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/867/packages"},{"uuid":"3753008114","node_id":"PR_kwDOO58gL866GZAm","number":79,"state":"open","title":"deps(deps): bump the production-dependencies group with 54 updates","user":"dependabot[bot]","labels":["type: maintenance","status: needs-review","size: sm","dependencies","automated","bot: dependabot","lang: ruby"],"assignees":["patrick204nqh"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-22T09:26:53.000Z","updated_at":"2025-12-22T10:14:36.865Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"production-dependencies","update_count":54,"packages":[{"name":"irb","old_version":"1.15.2","new_version":"1.16.0","repository_url":"https://github.com/ruby/irb"},{"name":"rails","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"},{"name":"bundler-audit","old_version":"0.9.2","new_version":"0.9.3","repository_url":"https://github.com/rubysec/bundler-audit"},{"name":"rubocop","old_version":"1.80.1","new_version":"1.82.0","repository_url":"https://github.com/rubocop/rubocop"},{"name":"actioncable","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"benchmark","old_version":"0.4.1","new_version":"0.5.0","repository_url":"https://github.com/ruby/benchmark"},{"name":"bigdecimal","old_version":"3.2.2","new_version":"4.0.1","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"cgi","old_version":"0.5.0","new_version":"0.5.1","repository_url":"https://github.com/ruby/cgi"},{"name":"concurrent-ruby","old_version":"1.3.5","new_version":"1.3.6","repository_url":"https://github.com/ruby-concurrency/concurrent-ruby"},{"name":"connection_pool","old_version":"2.5.4","new_version":"2.5.5","repository_url":"https://github.com/mperham/connection_pool"},{"name":"date","old_version":"3.4.1","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"i18n","old_version":"1.14.7","new_version":"1.14.8","repository_url":"https://github.com/ruby-i18n/i18n"},{"name":"io-console","old_version":"0.8.1","new_version":"0.8.2","repository_url":"https://github.com/ruby/io-console"},{"name":"json","old_version":"2.13.2","new_version":"2.18.0","repository_url":"https://github.com/ruby/json"},{"name":"loofah","old_version":"2.24.1","new_version":"2.25.0","repository_url":"https://github.com/flavorjones/loofah"},{"name":"mail","old_version":"2.8.1","new_version":"2.9.0","repository_url":"https://github.com/mikel/mail"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"minitest","old_version":"5.25.5","new_version":"5.27.0","repository_url":"https://github.com/minitest/minitest"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.13","repository_url":"https://github.com/ruby/net-imap"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"prism","old_version":"1.4.0","new_version":"1.7.0","repository_url":"https://github.com/ruby/prism"},{"name":"psych","old_version":"5.2.6","new_version":"5.3.1","repository_url":"https://github.com/ruby/psych"},{"name":"rack","old_version":"3.1.16","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"rackup","old_version":"2.2.1","new_version":"2.3.1","repository_url":"https://github.com/rack/rackup"},{"name":"railties","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"rdoc","old_version":"6.14.2","new_version":"7.0.1","repository_url":"https://github.com/ruby/rdoc"},{"name":"regexp_parser","old_version":"2.11.2","new_version":"2.11.3","repository_url":"https://github.com/ammar/regexp_parser"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"rspec-core","old_version":"3.13.5","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-mocks","old_version":"3.13.5","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-support","old_version":"3.13.5","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"rubocop-ast","old_version":"1.46.0","new_version":"1.48.0","repository_url":"https://github.com/rubocop/rubocop-ast"},{"name":"stringio","old_version":"3.1.7","new_version":"3.2.0","repository_url":"https://github.com/ruby/stringio"},{"name":"timeout","old_version":"0.4.3","new_version":"0.6.0","repository_url":"https://github.com/ruby/timeout"},{"name":"unicode-display_width","old_version":"3.1.5","new_version":"3.2.0","repository_url":"https://github.com/janlelis/unicode-display_width"},{"name":"unicode-emoji","old_version":"4.0.4","new_version":"4.2.0","repository_url":"https://github.com/janlelis/unicode-emoji"}],"path":null,"ecosystem":"rubygems"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the production-dependencies group with 54 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.16.0` |\n| [rails](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n| [bundler-audit](https://github.com/rubysec/bundler-audit) | `0.9.2` | `0.9.3` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.1` | `1.82.0` |\n| [actioncable](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionmailbox](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionmailer](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionpack](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actiontext](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionview](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activejob](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activemodel](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activerecord](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activestorage](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activesupport](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [benchmark](https://github.com/ruby/benchmark) | `0.4.1` | `0.5.0` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.2` | `4.0.1` |\n| [cgi](https://github.com/ruby/cgi) | `0.5.0` | `0.5.1` |\n| [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) | `1.3.5` | `1.3.6` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.4` | `2.5.5` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.1` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [i18n](https://github.com/ruby-i18n/i18n) | `1.14.7` | `1.14.8` |\n| [io-console](https://github.com/ruby/io-console) | `0.8.1` | `0.8.2` |\n| [json](https://github.com/ruby/json) | `2.13.2` | `2.18.0` |\n| [loofah](https://github.com/flavorjones/loofah) | `2.24.1` | `2.25.0` |\n| [mail](https://github.com/mikel/mail) | `2.8.1` | `2.9.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [minitest](https://github.com/minitest/minitest) | `5.25.5` | `5.27.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.13` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [prism](https://github.com/ruby/prism) | `1.4.0` | `1.7.0` |\n| [psych](https://github.com/ruby/psych) | `5.2.6` | `5.3.1` |\n| [rack](https://github.com/rack/rack) | `3.1.16` | `3.2.4` |\n| [rackup](https://github.com/rack/rackup) | `2.2.1` | `2.3.1` |\n| [railties](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `7.0.1` |\n| [regexp_parser](https://github.com/ammar/regexp_parser) | `2.11.2` | `2.11.3` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [rspec-core](https://github.com/rspec/rspec) | `3.13.5` | `3.13.6` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.5` | `3.13.7` |\n| [rspec-support](https://github.com/rspec/rspec) | `3.13.5` | `3.13.6` |\n| [rubocop-ast](https://github.com/rubocop/rubocop-ast) | `1.46.0` | `1.48.0` |\n| [stringio](https://github.com/ruby/stringio) | `3.1.7` | `3.2.0` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.6.0` |\n| [unicode-display_width](https://github.com/janlelis/unicode-display_width) | `3.1.5` | `3.2.0` |\n| [unicode-emoji](https://github.com/janlelis/unicode-emoji) | `4.0.4` | `4.2.0` |\n\nUpdates `irb` from 1.15.2 to 1.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--context-mode 5\u003c/code\u003e: evaluates inside Ruby::Box by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1142\"\u003eruby/irb#1142\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid creating method objects unnecessarily when distinguishing between commands and statements. by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1138\"\u003eruby/irb#1138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow-source should not raise error even if line_no is wrong by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1145\"\u003eruby/irb#1145\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePin power_assert to v2 for Ruby 2.7 (v3 requires 3.1+) by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1135\"\u003eruby/irb#1135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot; Pin power_assert to v2 for Ruby 2.7 (v3 requires 3.1+)\u0026quot; by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1136\"\u003eruby/irb#1136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1137\"\u003eruby/irb#1137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange platform mswin to nil by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1139\"\u003eruby/irb#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate test to check for UTF16LE/BE by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1132\"\u003eruby/irb#1132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect usage for -w. It turns ON warnings, not OFF. by \u003ca href=\"https://github.com/zenspider\"\u003e\u003ccode\u003e@​zenspider\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1141\"\u003eruby/irb#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1143\"\u003eruby/irb#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5.0.1 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1144\"\u003eruby/irb#1144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate rc-files documentation by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1113\"\u003eruby/irb#1113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1147\"\u003eruby/irb#1147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 6.0.0 to 6.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1146\"\u003eruby/irb#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecall Thread.pass just after Thread.stop 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/irb/pull/1148\"\u003eruby/irb#1148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.3 to 2.14.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1149\"\u003eruby/irb#1149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 1.16.0 by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1150\"\u003eruby/irb#1150\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/ruby/irb/pull/1141\"\u003eruby/irb#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1148\"\u003eruby/irb#1148\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.3...v1.16.0\"\u003ehttps://github.com/ruby/irb/compare/v1.15.3...v1.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove prompt generating performance by caching prompt parts(%m, %M) by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1127\"\u003eruby/irb#1127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not save consecutive duplicate commands to history by \u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle keyword local variables correctly by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1085\"\u003eruby/irb#1085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil error on debugger prompt by \u003ca href=\"https://github.com/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix methods defined with invalid encoding are not displayed in completion by \u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix show_source command when obj.method is overrided by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1111\"\u003eruby/irb#1111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset IOGate.set_winch_handler when dancing ruby easter-egg terminates by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1124\"\u003eruby/irb#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix UTF-16 autocompletion by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix link by \u003ca href=\"https://github.com/BurdetteLamar\"\u003e\u003ccode\u003e@​BurdetteLamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1112\"\u003eruby/irb#1112\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid intermediate array from split by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1093\"\u003eruby/irb#1093\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/10ed4a777ba80457aa8075b36f3c904787c3fbde\"\u003e\u003ccode\u003e10ed4a7\u003c/code\u003e\u003c/a\u003e Bump version to 1.16.0 (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1150\"\u003e#1150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/6d3306bbdb75686dd555be3e759f0580ed613cca\"\u003e\u003ccode\u003e6d3306b\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/a4d7be961a6dd62c3c0e85e6338b12f6f5e1f469\"\u003e\u003ccode\u003ea4d7be9\u003c/code\u003e\u003c/a\u003e call Thread.pass just after Thread.stop (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/1b3bcc3d0be728f6a055c642f920882a948d002c\"\u003e\u003ccode\u003e1b3bcc3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/3b04bb3b8c86f833fa0e7838924a6c20af565538\"\u003e\u003ccode\u003e3b04bb3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/e204f8536feebd512ea162e698b0f9ea3c8a2325\"\u003e\u003ccode\u003ee204f85\u003c/code\u003e\u003c/a\u003e Update rc-files documentation (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1113\"\u003e#1113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/847d1ca9d189c6902a7f7beccc9132ce28b626b2\"\u003e\u003ccode\u003e847d1ca\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--context-mode 5\u003c/code\u003e: evaluates inside Ruby::Box (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1142\"\u003e#1142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/6d7ff966b377b559c210258cf3f5f36c2f76e98b\"\u003e\u003ccode\u003e6d7ff96\u003c/code\u003e\u003c/a\u003e Show-source should not raise error even if line_no is wrong (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/feeb7be6795271f51e5c3d75f45eacdb491a34fa\"\u003e\u003ccode\u003efeeb7be\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/0aad10b1b4622e8f764e3b9ec80f3f8c10049921\"\u003e\u003ccode\u003e0aad10b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fd7d30ea583def238a0d9c52150ae1aa4b88c007\"\u003e\u003ccode\u003efd7d30e\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/40e5415d3f35878f47a521779f291284428aaff5\"\u003e\u003ccode\u003e40e5415\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3245de17c04c21abdf3efc76a3bf21dc0d773033\"\u003e\u003ccode\u003e3245de1\u003c/code\u003e\u003c/a\u003e Add sigstore-cli gem to the releaser toolset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/35ad36a398b44d10817ae13ec61f68af30c47efe\"\u003e\u003ccode\u003e35ad36a\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/3690a3ab882476c5229c04c5ae993ba6fb469fc4\"\u003e\u003ccode\u003e3690a3a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55966\"\u003e#55966\u003c/a\u003e from alexanderadam/doc/remove_subclasses_documentat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/33f90433c535abc650b7de1e99fa3f5c1bd5313c\"\u003e\u003ccode\u003e33f9043\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ebd0cfc6750db6fe3909e8e2c4cfeabb195ead32\"\u003e\u003ccode\u003eebd0cfc\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/c4d7af0d6639d834c33296886befd6ee6d805038\"\u003e\u003ccode\u003ec4d7af0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55948\"\u003e#55948\u003c/a\u003e from zzak/debug-rails-new-docker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ed5ecc8bc9dac099188c454e813c96b2da133b8\"\u003e\u003ccode\u003e1ed5ecc\u003c/code\u003e\u003c/a\u003e Use NPM trusted publishing for our NPM packages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.0 to 13.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/f0001c3eeada8220f2976170876c75d21ed0626f\"\u003e\u003ccode\u003ef0001c3\u003c/code\u003e\u003c/a\u003e v13.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a644c808b98692cab776734ab92397df5e2de48b\"\u003e\u003ccode\u003ea644c80\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/483\"\u003e#483\u003c/a\u003e from luke-gru/fix_test_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2465ea541d6d721e3e03cd4a75594928032a8731\"\u003e\u003ccode\u003e2465ea5\u003c/code\u003e\u003c/a\u003e silence warnings during execution of rake tasks in Rakefile (ex: rake test)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/df25fb13f015c0f5ff8e7e46e71c28df33ebf34b\"\u003e\u003ccode\u003edf25fb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/610\"\u003e#610\u003c/a\u003e from pvdb/fix_testhelper_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/ec12ac969b708ba2488f02c164b8581f3f828922\"\u003e\u003ccode\u003eec12ac9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/635\"\u003e#635\u003c/a\u003e from nevans/deconstruct_keys-for-nil-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4664a69fcac064c1f727c8fc99f366958fa3a08b\"\u003e\u003ccode\u003e4664a69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/666\"\u003e#666\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/7a0bf15a81e7d3508e33de4d9398ae640bb50d68\"\u003e\u003ccode\u003e7a0bf15\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.265.0 to 1.266.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3ed7892ad1bc15aed7dbb4c02038d8088fad5f6\"\u003e\u003ccode\u003eb3ed789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/665\"\u003e#665\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/1e7ef52f75be42cbe611e14d8efd7bcd62472a86\"\u003e\u003ccode\u003e1e7ef52\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.263.0 to 1.265.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/77225e17c0675d5d2adc40e267291ebffa0c38e0\"\u003e\u003ccode\u003e77225e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/664\"\u003e#664\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.0...v13.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rspec` from 3.13.1 to 3.13.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rspec/rspec/commit/ce5fe4f6521eb957f02e088a1c4c4f778a5c825e\"\u003e\u003ccode\u003ece5fe4f\u003c/code\u003e\u003c/a\u003e rspec-v3.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rspec/rspec/commit/1cb85173086166471482da39db32ba816b326ca6\"\u003e\u003ccode\u003e1cb8517\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/270\"\u003e#270\u003c/a\u003e from bquorning/fix-rspec-source_code_uri\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rspec/rspec/compare/rspec-v3.13.1...rspec-v3.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bundler-audit` from 0.9.2 to 0.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubysec/bundler-audit/releases\"\u003ebundler-audit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Ruby 3.4, 3.5, and 4.0.\u003c/li\u003e\n\u003cli\u003eAdded support for Bundler 4.x.\u003c/li\u003e\n\u003cli\u003eFixed typos in API documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCLI\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that the \u003ccode\u003ebundler-audit check\u003c/code\u003e command honors the \u003ccode\u003eBUNDLER_AUDIT_DB\u003c/code\u003e environment variable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubysec/bundler-audit/blob/master/ChangeLog.md\"\u003ebundler-audit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.9.3 / 2025-11-28\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Ruby 3.4, 3.5, and 4.0.\u003c/li\u003e\n\u003cli\u003eAdded support for Bundler 4.x.\u003c/li\u003e\n\u003cli\u003eFixed typos in API documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCLI\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that the \u003ccode\u003ebundler-audit check\u003c/code\u003e command honors the\n\u003ccode\u003eBUNDLER_AUDIT_DB\u003c/code\u003e environment variable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/f8b06ebbefdd223e6eb21b9b258d75e6cfa9442a\"\u003e\u003ccode\u003ef8b06eb\u003c/code\u003e\u003c/a\u003e Updated the ChangeLog for 0.9.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/e4fb10a23229445b55fd0cbd2357b7e688519b1d\"\u003e\u003ccode\u003ee4fb10a\u003c/code\u003e\u003c/a\u003e Version bump to 0.9.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/34cd522d0a6c2e1957604d6f6c7239a9726b1b64\"\u003e\u003ccode\u003e34cd522\u003c/code\u003e\u003c/a\u003e Added Ruby 4.0 to the CI matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/22da9d769d3d98e7fa401764d2689e60dcf71efa\"\u003e\u003ccode\u003e22da9d7\u003c/code\u003e\u003c/a\u003e Added Ruby 3.5 to the CI matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/0c2afaf48aea1b852bce5a877c1d6ec866a6c1d4\"\u003e\u003ccode\u003e0c2afaf\u003c/code\u003e\u003c/a\u003e Require rubygems-tasks ~\u0026gt; 0.3 for Ruby 3.5 and 4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/309d20356a7ea435d0f92982b6fcb2a4bd57db66\"\u003e\u003ccode\u003e309d203\u003c/code\u003e\u003c/a\u003e Allow using bundler 4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/d40dc751d0e789791751d6b62a1006daf8c150c4\"\u003e\u003ccode\u003ed40dc75\u003c/code\u003e\u003c/a\u003e Remove syntax highlighting from example output.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/91a912f69ce7df580731bc79aea64c7699b470b7\"\u003e\u003ccode\u003e91a912f\u003c/code\u003e\u003c/a\u003e Be consistent and only use markdown code fences.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/fc1bc0aa2cb0ea6a075daf39dd6cc02a3234266d\"\u003e\u003ccode\u003efc1bc0a\u003c/code\u003e\u003c/a\u003e Fixed typo in \u003ccode\u003e@return\u003c/code\u003e tag.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/276e0652d075686d66ca626705d4d475be697242\"\u003e\u003ccode\u003e276e065\u003c/code\u003e\u003c/a\u003e Update RubyGems in GitHub Actions CI (\u003ca href=\"https://redirect.github.com/rubysec/bundler-audit/issues/406\"\u003e#406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubysec/bundler-audit/compare/v0.9.2...v0.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop` from 1.80.1 to 1.82.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.82.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14655\"\u003e#14655\u003c/a\u003e: Add \u003ccode\u003eAllowRBSInlineAnnotation\u003c/code\u003e option to \u003ccode\u003eLayout/LineLength\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14569\"\u003e#14569\u003c/a\u003e: Add \u003ccode\u003eIncludedMacroPatterns\u003c/code\u003e configuration option to \u003ccode\u003eStyle/MethodCallWithArgsParentheses\u003c/code\u003e for pattern-based macro method enforcement. (\u003ca href=\"https://github.com/mmenanno\"\u003e\u003ccode\u003e@​mmenanno\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14670\"\u003e#14670\u003c/a\u003e: Add new cop \u003ccode\u003eStyle/ModuleMemberExistenceCheck\u003c/code\u003e. (\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14644\"\u003e#14644\u003c/a\u003e: Support \u003ccode\u003eTargetRubyVersion 4.0\u003c/code\u003e (experimental). (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14649\"\u003e#14649\u003c/a\u003e: Fix an error for \u003ccode\u003eLint/LiteralAsCondition\u003c/code\u003e when there are literals in multiple branches. (\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14678\"\u003e#14678\u003c/a\u003e: Fix an error when running deprecated \u003ccode\u003erake rubocop:auto_correct\u003c/code\u003e task. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14650\"\u003e#14650\u003c/a\u003e: Fix wrong autocorrect for \u003ccode\u003eLint/RedundantSplatExpansion\u003c/code\u003e when splatting a single literal. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14703\"\u003e#14703\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e when using self class definition. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14706\"\u003e#14706\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/NoReturnInBeginEndBlocks\u003c/code\u003e when assigning instance variable, class variable, global variable, or constant. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14715\"\u003e#14715\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when a guard clause follows a multiline heredoc in a parenthesized method call. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14667\"\u003e#14667\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a safe navigation method call is aligned. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14688\"\u003e#14688\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a numbered block or \u003ccode\u003eit\u003c/code\u003e block method call is aligned. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14699\"\u003e#14699\u003c/a\u003e: Fix false positives for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when the receiver is used outside the singleton method definition scope. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14663\"\u003e#14663\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/EndlessMethod\u003c/code\u003e when multiline or xstring heredoc is used in method body. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10173\"\u003e#10173\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e when \u003ccode\u003eEnforcedStyleForMultiline\u003c/code\u003e is set to \u003ccode\u003econsistent_comma\u003c/code\u003e and a multiline braced hash argument appears after another argument. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14680\"\u003e#14680\u003c/a\u003e: Handle all \u003ccode\u003eOptionParser\u003c/code\u003e errors when running \u003ccode\u003erubocop\u003c/code\u003e with input that causes an error. (\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14658\"\u003e#14658\u003c/a\u003e: Fix incorrect behavior when \u003ccode\u003eLayout/LineLength\u003c/code\u003e is disabled. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14704\"\u003e#14704\u003c/a\u003e: Fix incorrect Position character value in LSP. (\u003ca href=\"https://github.com/tmtm\"\u003e\u003ccode\u003e@​tmtm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14619\"\u003e#14619\u003c/a\u003e: Store remote configuration caches in cache root. ([\u003ca href=\"https://github.com/Jack12816\"\u003e\u003ccode\u003e@​Jack12816\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14476\"\u003e#14476\u003c/a\u003e: Fix \u003ccode\u003eStyle/ClassAndModuleChildren\u003c/code\u003e to skip compact style definitions inside another class or module when \u003ccode\u003eEnforcedStyle: nested\u003c/code\u003e. ([\u003ca href=\"https://github.com/rscq\"\u003e\u003ccode\u003e@​rscq\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14281\"\u003e#14281\u003c/a\u003e: Update \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e with \u003ccode\u003eEnforcedStyleAlignWith: variable\u003c/code\u003e to handle conditionals inside \u003ccode\u003ebegin\u003c/code\u003e nodes properly. (\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14662\"\u003e#14662\u003c/a\u003e: Add autocorrection for \u003ccode\u003eLint/UselessOr\u003c/code\u003e. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14668\"\u003e#14668\u003c/a\u003e: Exclude \u003ccode\u003eSeverity\u003c/code\u003e from configuration parameters. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14684\"\u003e#14684\u003c/a\u003e: Make \u003ccode\u003eStyle/CaseEquality\u003c/code\u003e allow regexp case equality where the receiver is a regexp literal. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14645\"\u003e#14645\u003c/a\u003e: Change \u003ccode\u003eLint/CircularArgumentReference\u003c/code\u003e to detect offenses within long assignment chains. (\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14642\"\u003e#14642\u003c/a\u003e: Make \u003ccode\u003eGemspec/RubyVersionGlobalsUsage\u003c/code\u003e aware of \u003ccode\u003eRuby::VERSION\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14695\"\u003e#14695\u003c/a\u003e: Make \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e aware of \u003ccode\u003e# rbs_inline\u003c/code\u003e magic comment. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10147\"\u003e#10147\u003c/a\u003e: Make \u003ccode\u003eLint/ElseLayout\u003c/code\u003e allow a single-line \u003ccode\u003eelse\u003c/code\u003e body in \u003ccode\u003ethen\u003c/code\u003e single-line conditional. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14661\"\u003e#14661\u003c/a\u003e: Make \u003ccode\u003eLint/RedundantRequireStatement\u003c/code\u003e aware of \u003ccode\u003epathname\u003c/code\u003e when analyzing Ruby 4.0. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14698\"\u003e#14698\u003c/a\u003e: Make \u003ccode\u003eLint/UnreachableCode\u003c/code\u003e aware of singleton method redefinition. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14677\"\u003e#14677\u003c/a\u003e: Make \u003ccode\u003eStyle/RedundantArgument\u003c/code\u003e aware of \u003ccode\u003eto_i\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14660\"\u003e#14660\u003c/a\u003e: Rename \u003ccode\u003eIgnoreCopDirectives\u003c/code\u003e to \u003ccode\u003eAllowCopDirectives\u003c/code\u003e in \u003ccode\u003eLayout/LineLength\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e: Revert \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e, which added support for LSP positionEncoding 'utf-8' and 'utf-32' due to critical performance regression reports. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md\"\u003erubocop's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.82.0 (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14655\"\u003e#14655\u003c/a\u003e: Add \u003ccode\u003eAllowRBSInlineAnnotation\u003c/code\u003e option to \u003ccode\u003eLayout/LineLength\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14569\"\u003e#14569\u003c/a\u003e: Add \u003ccode\u003eIncludedMacroPatterns\u003c/code\u003e configuration option to \u003ccode\u003eStyle/MethodCallWithArgsParentheses\u003c/code\u003e for pattern-based macro method enforcement. ([\u003ca href=\"https://github.com/mmenanno\"\u003e\u003ccode\u003e@​mmenanno\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14670\"\u003e#14670\u003c/a\u003e: Add new cop \u003ccode\u003eStyle/ModuleMemberExistenceCheck\u003c/code\u003e. ([\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14644\"\u003e#14644\u003c/a\u003e: Support \u003ccode\u003eTargetRubyVersion 4.0\u003c/code\u003e (experimental). ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14649\"\u003e#14649\u003c/a\u003e: Fix an error for \u003ccode\u003eLint/LiteralAsCondition\u003c/code\u003e when there are literals in multiple branches. ([\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14678\"\u003e#14678\u003c/a\u003e: Fix an error when running deprecated \u003ccode\u003erake rubocop:auto_correct\u003c/code\u003e task. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14650\"\u003e#14650\u003c/a\u003e: Fix wrong autocorrect for \u003ccode\u003eLint/RedundantSplatExpansion\u003c/code\u003e when splatting a single literal. ([\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14703\"\u003e#14703\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e when using self class definition. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14706\"\u003e#14706\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/NoReturnInBeginEndBlocks\u003c/code\u003e when assigning instance variable, class variable, global variable, or constant. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14715\"\u003e#14715\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when a guard clause follows a multiline heredoc in a parenthesized method call. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14667\"\u003e#14667\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a safe navigation method call is aligned. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14688\"\u003e#14688\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a numbered block or \u003ccode\u003eit\u003c/code\u003e block method call is aligned. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14699\"\u003e#14699\u003c/a\u003e: Fix false positives for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when the receiver is used outside the singleton method definition scope. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14663\"\u003e#14663\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/EndlessMethod\u003c/code\u003e when multiline or xstring heredoc is used in method body. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10173\"\u003e#10173\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e when \u003ccode\u003eEnforcedStyleForMultiline\u003c/code\u003e is set to \u003ccode\u003econsistent_comma\u003c/code\u003e and a multiline braced hash argument appears after another argument. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14680\"\u003e#14680\u003c/a\u003e: Handle all \u003ccode\u003eOptionParser\u003c/code\u003e errors when running \u003ccode\u003erubocop\u003c/code\u003e with input that causes an error. ([\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14658\"\u003e#14658\u003c/a\u003e: Fix incorrect behavior when \u003ccode\u003eLayout/LineLength\u003c/code\u003e is disabled. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14704\"\u003e#14704\u003c/a\u003e: Fix incorrect Position character value in LSP. ([\u003ca href=\"https://github.com/tmtm\"\u003e\u003ccode\u003e@​tmtm\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14619\"\u003e#14619\u003c/a\u003e: Store remote configuration caches in cache root. ([\u003ca href=\"https://github.com/Jack12816\"\u003e\u003ccode\u003e@​Jack12816\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14476\"\u003e#14476\u003c/a\u003e: Fix \u003ccode\u003eStyle/ClassAndModuleChildren\u003c/code\u003e to skip compact style definitions inside another class or module when \u003ccode\u003eEnforcedStyle: nested\u003c/code\u003e. ([\u003ca href=\"https://github.com/rscq\"\u003e\u003ccode\u003e@​rscq\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14281\"\u003e#14281\u003c/a\u003e: Update \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e with \u003ccode\u003eEnforcedStyleAlignWith: variable\u003c/code\u003e to handle conditionals inside \u003ccode\u003ebegin\u003c/code\u003e nodes properly. ([\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14662\"\u003e#14662\u003c/a\u003e: Add autocorrection for \u003ccode\u003eLint/UselessOr\u003c/code\u003e. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14668\"\u003e#14668\u003c/a\u003e: Exclude \u003ccode\u003eSeverity\u003c/code\u003e from configuration parameters. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14684\"\u003e#14684\u003c/a\u003e: Make \u003ccode\u003eStyle/CaseEquality\u003c/code\u003e allow regexp case equality where the receiver is a regexp literal. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14645\"\u003e#14645\u003c/a\u003e: Change \u003ccode\u003eLint/CircularArgumentReference\u003c/code\u003e to detect offenses within long assignment chains. ([\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14642\"\u003e#14642\u003c/a\u003e: Make \u003ccode\u003eGemspec/RubyVersionGlobalsUsage\u003c/code\u003e aware of \u003ccode\u003eRuby::VERSION\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14695\"\u003e#14695\u003c/a\u003e: Make \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e aware of \u003ccode\u003e# rbs_inline\u003c/code\u003e magic comment. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10147\"\u003e#10147\u003c/a\u003e: Make \u003ccode\u003eLint/ElseLayout\u003c/code\u003e allow a single-line \u003ccode\u003eelse\u003c/code\u003e body in \u003ccode\u003ethen\u003c/code\u003e single-line conditional. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14661\"\u003e#14661\u003c/a\u003e: Make \u003ccode\u003eLint/RedundantRequireStatement\u003c/code\u003e aware of \u003ccode\u003epathname\u003c/code\u003e when analyzing Ruby 4.0. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14698\"\u003e#14698\u003c/a\u003e: Make \u003ccode\u003eLint/UnreachableCode\u003c/code\u003e aware of singleton method redefinition. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14677\"\u003e#14677\u003c/a\u003e: Make \u003ccode\u003eStyle/RedundantArgument\u003c/code\u003e aware of \u003ccode\u003eto_i\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14660\"\u003e#14660\u003c/a\u003e: Rename \u003ccode\u003eIgnoreCopDirectives\u003c/code\u003e to \u003ccode\u003eAllowCopDirectives\u003c/code\u003e in \u003ccode\u003eLayout/LineLength\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e: Revert \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e, which added support for LSP positionEncoding 'utf-8' and 'utf-32' due to critical performance regression reports. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.81.7 (2025-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14597\"\u003e#14597\u003c/a\u003e: Fix an infinite loop error for \u003ccode\u003eLayout/HashAlignment\u003c/code\u003e when \u003ccode\u003eEnforcedStyle: with_fixed_indentation\u003c/code\u003e is specified for \u003ccode\u003eLayout/ArgumentAlignment\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14621\"\u003e#14621\u003c/a\u003e: Fix an error for \u003ccode\u003eNaming/PredicateMethod\u003c/code\u003e when using an \u003ccode\u003ein\u003c/code\u003e pattern with empty parentheses body. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\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/rubocop/rubocop/commit/384aa2b4ed79bad806e0f884e1039dab56d3cfbf\"\u003e\u003ccode\u003e384aa2b\u003c/code\u003e\u003c/a\u003e Cut 1.82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/f8a84fa41beb247504ffc2c78dd1b49f1480a7db\"\u003e\u003ccode\u003ef8a84fa\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/f8b40bc5f4a7998276fe6ff650d9cf55d8dfbb7d\"\u003e\u003ccode\u003ef8b40bc\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/13854\"\u003e#13854\u003c/a\u003e (Old issue)] add push/pop logic for handle local enable/disable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/70f76b1ea0ae0eed8c8014f68f8667b7bd00349c\"\u003e\u003ccode\u003e70f76b1\u003c/code\u003e\u003c/a\u003e Add new cop Style/ModuleMemberExistenceCheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/acbdbda132566818747f375b75111fc20340febe\"\u003e\u003ccode\u003eacbdbda\u003c/code\u003e\u003c/a\u003e Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/9cc142e04f19802c4ce92ab33f18dd680601f895\"\u003e\u003ccode\u003e9cc142e\u003c/code\u003e\u003c/a\u003e Fix incorrect Position character value in LSP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/5e07aa1001b41acc4594f81c2ebcf5de9be4dcfd\"\u003e\u003ccode\u003e5e07aa1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14712\"\u003e#14712\u003c/a\u003e from moznion/fix_escaped_single_quote\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/8f5b029fea2dc94fa75f2d8820058d29f0c7c8e7\"\u003e\u003ccode\u003e8f5b029\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14711\"\u003e#14711\u003c/a\u003e] Fix broken auto-correction in \u003ccode\u003eStyle/RedundantRegexpArgument\u003c/code\u003e rule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/bcfdf5fadecf8126893fe2fb89f2634e7fe987c9\"\u003e\u003ccode\u003ebcfdf5f\u003c/code\u003e\u003c/a\u003e Add some specs for \u003ccode\u003eStyle/RedundantCondition\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/2c9071d5764d728ad11e821dd338fe33371b5ca3\"\u003e\u003ccode\u003e2c9071d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14707\"\u003e#14707\u003c/a\u003e from koic/fix_false_negatives_for_lint_no_return_in...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.80.1...v1.82.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/97a940b21dc3f1ad53bc2cee4b2dafcf31d6ea8a\"\u003e\u003ccode\u003e97a940b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55812\"\u003e#55812\u003c/a\u003e from yahonda/bump-microsoftedge-version-to-latest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/02f0a4a07c31146c8339b0035882e5920ab487d2\"\u003e\u003ccode\u003e02f0a4a\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4157aaffc767cfe45a9539b79c290a5137b4ea6b\"\u003e\u003ccode\u003e4157aaf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55359\"\u003e#55359\u003c/a\u003e from byroot/actioncable-redis-5.4.1-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/05bd95c36b04572f577eb06e1c96dfe6106da161\"\u003e\u003ccode\u003e05bd95c\u003c/code\u003e\u003c/a\u003e Appease rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d19ccb2908cef464151fbe42003113379673fbf4\"\u003e\u003ccode\u003ed19ccb2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55201\"\u003e#55201\u003c/a\u003e from OuYangJinTing/fix/actioncable/channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1d8b402cd608462cfc0abd4d53ddab40f7a65af4\"\u003e\u003ccode\u003e1d8b402\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55013\"\u003e#55013\u003c/a\u003e from yahonda/update_safari_at_saucelabs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a40b1973731784c7fb24fdb7068acabe12a472d2\"\u003e\u003ccode\u003ea40b197\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54531\"\u003e#54531\u003c/a\u003e from byroot/action-cable-upgrade-safari\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b5a9a37ecafd4add60e1677ca3c248b020909c6d\"\u003e\u003ccode\u003eb5a9a37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55809\"\u003e#55809\u003c/a\u003e from zzak/8-0-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3de277f5fb09b0f46f4b62b3f85c6c9a463ef58f\"\u003e\u003ccode\u003e3de277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53383\"\u003e#53383\u003c/a\u003e from Earlopain/rack-3.2-deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/02f0a4a07c31146c8339b0035882e5920ab487d2\"\u003e\u003ccode\u003e02f0a4a\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4f459cff2831d8beffb3114db99bd41f6202a5d6\"\u003e\u003ccode\u003e4f459cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54702\"\u003e#54702\u003c/a\u003e from fatkodima/fix-action_mailer-default_options-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1aa5cfef91923a6e41c1cd11f132797ed482fb8e\"\u003e\u003ccode\u003e1aa5cfe\u003c/code\u003e\u003c/a\u003e Use monospace formatting [ci-skip]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/40e5415d3f35878f47a521779f291284428aaff5\"\u003e\u003ccode\u003e40e5415\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ebd0cfc6750db6fe3909e8e2c4cfeabb195ead32\"\u003e\u003ccode\u003eebd0cfc\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/a0dee36d388c6fd2c2aa817566aedb59c6c1f9a7\"\u003e\u003ccode\u003ea0dee36\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50390\"\u003e#50390\u003c/a\u003e from seanpdoyle/issue-50345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b5a9a37ecafd4add60e1677ca3c248b020909c6d\"\u003e\u003ccode\u003eb5a9a37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55809\"\u003e#55809\u003c/a\u003e from zzak/8-0-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a510a3d216bbde3800a3019c4d9de595e058954b\"\u003e\u003ccode\u003ea510a3d\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a5750f6d20b471fd5749ebf61108a3dedb8698a1\"\u003e\u003ccode\u003ea5750f6\u003c/code\u003e\u003c/a\u003e Fix TransitionTable#as_json compatibility with json 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/237f57301613e68bb2c9ac4115eb7004d6b4c557\"\u003e\u003ccode\u003e237f573\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55668\"\u003e#55668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48e35d9a038d341db7de28b4a5da93d1f814c91d\"\u003e\u003ccode\u003e48e35d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55675\"\u003e#55675\u003c/a\u003e from skipkayhil/hm-ouuplulxpznztlyp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a41d35b7d1d7e2cdfe2152ecc3ca6b82d93692a\"\u003e\u003ccode\u003e0a41d35\u003c/code\u003e\u003c/a\u003e Action Pack: Allow rack 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d327a48668dc81c34590cbe79754d2ce84ed9ae6\"\u003e\u003ccode\u003ed327a48\u003c/code\u003e\u003c/a\u003e Remove RDoc artifacts [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2fa7e4130b89a34440e21c2b63534d9a2f98416\"\u003e\u003ccode\u003eb2fa7e4\u003c/code\u003e\u003c/a\u003e Fix RDoc links for ActionText::RichText#embeds [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handli...\n\n_Description has been truncated_","html_url":"https://github.com/patrick204nqh/dbwatcher/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrick204nqh%2Fdbwatcher/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"},{"uuid":"3679712128","node_id":"PR_kwDOB0hQ2c62Ry2p","number":8343,"state":"closed","title":"Bump the gem-dependencies group with 12 updates","user":"dependabot[bot]","labels":["dependencies","do not merge","ruby"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2025-12-01T15:22:41.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T07:47:51.000Z","updated_at":"2025-12-01T15:22:43.000Z","time_to_close":27290,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gem-dependencies","update_count":12,"packages":[{"name":"activerecord-postgis-adapter","old_version":"11.0.0","new_version":"11.1.1","repository_url":"https://github.com/rgeo/activerecord-postgis-adapter"},{"name":"activerecord","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"view_component","old_version":"3.23.2","new_version":"4.1.1","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"railties","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the gem-dependencies group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activerecord-postgis-adapter](https://github.com/rgeo/activerecord-postgis-adapter) | `11.0.0` | `11.1.1` |\n| [activerecord](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activesupport](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activemodel](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.1.1` |\n| [railties](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [actionpack](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activestorage](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activejob](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [actiontext](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n\nUpdates `activerecord-postgis-adapter` from 11.0.0 to 11.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/blob/master/History.md\"\u003eactiverecord-postgis-adapter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e11.1.1 / 2025-11-27\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003eOID::Spatial#wkt_parser\u003c/code\u003e (oleksii-leonov)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e11.1.0 / 2025-11-26\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eActiveRecord 8.1 support \u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/436\"\u003e#436\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/rgeo/activerecord-postgis-adapter/commit/ed2e3d5e7c469a272639c00c7f01557aae77447b\"\u003e\u003ccode\u003eed2e3d5\u003c/code\u003e\u003c/a\u003e bump to 11.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/4c9a1fa4c32acce8c93602babf32e012fe1b48e1\"\u003e\u003ccode\u003e4c9a1fa\u003c/code\u003e\u003c/a\u003e fix: missing \u003ca href=\"https://github.com/srid\"\u003e\u003ccode\u003e@​srid\u003c/code\u003e\u003c/a\u003e instance variable in v11.1 causes breaking change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/12197e374d4f40918efce2245df46284d36623bc\"\u003e\u003ccode\u003e12197e3\u003c/code\u003e\u003c/a\u003e fix(ci): add correct id to step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/2a794d2013ba817e9f2480702779e9dfe8c6421c\"\u003e\u003ccode\u003e2a794d2\u003c/code\u003e\u003c/a\u003e bump to 11.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/542dcd0114ab780193ffcb9538a9a7ee22b9e684\"\u003e\u003ccode\u003e542dcd0\u003c/code\u003e\u003c/a\u003e feat: Compatibility with rails 8.1 (\u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/436\"\u003e#436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/5d380dad7ab1edbd8331ef9aa9077c2a91d66ee8\"\u003e\u003ccode\u003e5d380da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/428\"\u003e#428\u003c/a\u003e from vfonic/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/a78df3eb879f9d84efbaba37140a470429d52c30\"\u003e\u003ccode\u003ea78df3e\u003c/code\u003e\u003c/a\u003e Covert version requirements into a table\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/2cb0e7de231cef8591489fab84ab3f97a65052b8\"\u003e\u003ccode\u003e2cb0e7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/427\"\u003e#427\u003c/a\u003e from julienanne/fix-readme-activerecord-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/b1a89f456b25d78ef8a2c89c635ecdd3f40d3e89\"\u003e\u003ccode\u003eb1a89f4\u003c/code\u003e\u003c/a\u003e Fix README ActiveRecord 8.0 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/compare/v11.0.0...v11.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.4 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.4...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.4 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.4...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.4 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.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Consultport to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSebastian Nepote\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded Reinvented Hospitality to the list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTorgil Zechel\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\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/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Consultport to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSebastian Nepote\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded Reinvented Hospitality to the list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTorgil Zechel\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeclare \u003ccode\u003eactionview\u003c/code\u003e as a \u003ccode\u003eview_component\u003c/code\u003e gem dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMichal Cichra\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/3743d2bc34e648936fea42a762e5a3844b1f2180\"\u003e\u003ccode\u003e3743d2b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2499\"\u003e#2499\u003c/a\u003e from ViewComponent/release-4-1-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/ee56651d12d4f4af9ee0692560b093fb433d8a48\"\u003e\u003ccode\u003eee56651\u003c/code\u003e\u003c/a\u003e Bump VC in gemfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f6d0502b2ebfebeb9641a2fc28fbb1dcbeea91ee\"\u003e\u003ccode\u003ef6d0502\u003c/code\u003e\u003c/a\u003e release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/cb2240b6d55a7d4b5bb1d401844d5e07f69089bf\"\u003e\u003ccode\u003ecb2240b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2493\"\u003e#2493\u003c/a\u003e from ViewComponent/dependabot/bundler/tailwindcss-ra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/7ba75dfbeed30519a8bfb552983209838b8cc06f\"\u003e\u003ccode\u003e7ba75df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2495\"\u003e#2495\u003c/a\u003e from ViewComponent/dependabot/bundler/minitest-5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/44cdafe537ee822e5af574d1df1da9ed9e370c74\"\u003e\u003ccode\u003e44cdafe\u003c/code\u003e\u003c/a\u003e Bump minitest from 5.26.0 to 5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/417339528cce33d182d3a2f99bb04a01514ec2cd\"\u003e\u003ccode\u003e4173395\u003c/code\u003e\u003c/a\u003e Bump tailwindcss-rails from 4.3.0 to 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4dbbaa310ecfdb495e3212e881d40df1b040b83b\"\u003e\u003ccode\u003e4dbbaa3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2492\"\u003e#2492\u003c/a\u003e from snepote/feat/adds_consultport_company_using_vie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b26c936b3fbacc2432cb35508cbb3474001ca007\"\u003e\u003ccode\u003eb26c936\u003c/code\u003e\u003c/a\u003e Add Consultport to \u0026quot;Who uses ViewComponent?\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2222403d78913ff57e3cc70bd2bd860e2e81230\"\u003e\u003ccode\u003ee222240\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2488\"\u003e#2488\u003c/a\u003e from ViewComponent/dependabot/bundler/selenium-webdr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.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.4 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.4...v8.1.1\"\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.4 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.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.0.4 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\"\u003eactivestorage'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/activestorage/CHANGELOG.md\"\u003eactivestorage'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 structured events for Active Storage:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_upload\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_download\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_streaming_download\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.preview\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_delete\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_delete_prefixed\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_exist\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_url\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_mirror\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\u003eAllow analyzers and variant transformer to be fully configurable\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# ActiveStorage.analyzers can be set to an empty array:\nconfig.active_storage.analyzers = []\n# =\u0026gt; ActiveStorage.analyzers = []\n\u003ch1\u003eor use custom analyzer:\u003c/h1\u003e\n\u003cp\u003econfig.active_storage.analyzers = [ CustomAnalyzer ]\u003c/p\u003e\n\u003ch1\u003e=\u0026gt; ActiveStorage.analyzers = [ CustomAnalyzer ]\u003c/h1\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf no configuration is provided, it will use the default analyzers.\u003c/p\u003e\n\u003cp\u003eYou can also disable variant processor to remove warnings on startup about missing gems.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003econfig.active_storage.variant_processor = :disabled\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e, \u003cem\u003eAlexandre Ruban\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003e:azure\u003c/code\u003e storage service.\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 unnecessary calls to the GCP metadata server.\u003c/p\u003e\n\u003cp\u003eCalling Google::Auth.get_application_default triggers an explicit call to\nthe metadata server - given it was being called for significant number of\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/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/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/82a024d206aa873c70124073d66f5f5753b0afe6\"\u003e\u003ccode\u003e82a024d\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\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/3001e186c197d633091146220607f307d4f3dd44\"\u003e\u003ccode\u003e3001e18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55904\"\u003e#55904\u003c/a\u003e from rails/rm-event-subscriber\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4a753c2f79a9c41ec3ab5551724599193da180e5\"\u003e\u003ccode\u003e4a753c2\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54040\"\u003e#54040\u003c/a\u003e from mrpasquini/md5_config\u0026quot;\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/ac296a1b27fd5c7c87f3a8230cab51ec6b45ca80\"\u003e\u003ccode\u003eac296a1\u003c/code\u003e\u003c/a\u003e Skip analyze job if ruby-vips or mini_magick gem are missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2ef3103c8d79eae9ccb4ab32691fd072ea932537\"\u003e\u003ccode\u003e2ef3103\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54666\"\u003e#54666\u003c/a\u003e from tnir/tn-eslint-9.21.0-with-flat-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.0.4 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\"\u003eactivejob'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/activejob/CHANGELOG.md\"\u003eactivejob'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\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\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Active Job:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.enqueued\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.bulk_enqueued\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.started\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.completed\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.retry_scheduled\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.retry_stopped\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.discarded\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.interrupt\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.resume\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.step_skipped\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.step_started\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.step\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eAdrianna Chang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate built-in \u003ccode\u003esidekiq\u003c/code\u003e adapter.\u003c/p\u003e\n\u003cp\u003eIf you're using this adapter, upgrade to \u003ccode\u003esidekiq\u003c/code\u003e 7.3.3 or later to use the \u003ccode\u003esidekiq\u003c/code\u003e gem's adapter.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated internal \u003ccode\u003eSuckerPunch\u003c/code\u003e adapter in favor of the adapter included with the \u003ccode\u003esucker_punch\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 support to set \u003ccode\u003eActiveJob::Base.enqueue_after_transaction_commit\u003c/code\u003e to \u003ccode\u003e:never\u003c/code\u003e, \u003ccode\u003e:always\u003c/code\u003e and \u003ccode\u003e:default\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\u003eRails.application.config.active_job.enqueue_after_transaction_commit\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\u003e\u003ccode\u003eActiveJob::Serializers::ObjectSerializers#klass\u003c/code\u003e method is now public.\u003c/p\u003e\n\u003cp\u003eCustom Active Job serializers must have a public \u003ccode\u003e#klass\u003c/code\u003e method too.\nThe returned class will be index allowing for faster serialization.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/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/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/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/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/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/f7e7080eba1e6cb6802994e65ddb5e71127d9f0b\"\u003e\u003ccode\u003ef7e7080\u003c/code\u003e\u003c/a\u003e Move implementation fully into #index_serializers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.0.4 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003eDe-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eImplement \u003ccode\u003e@rails/actiontext/index.js\u003c/code\u003e with a \u003ccode\u003edirect-upload:progress\u003c/code\u003e event\nlisteners and \u003ccode\u003ePromise\u003c/code\u003e resolution.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCapture block content for form helper methods\u003c/p\u003e\n\u003cpre lang=\"erb\"\u003e\u003ccode\u003e\u0026lt;%= rich_textarea_tag :content, nil do %\u0026gt;\n  \u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;content\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\n\u003cp\u003e\u0026lt;%= rich_textarea :message, :content, input: \u0026quot;trix_input_1\u0026quot; do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\u003c/p\u003e\n\u003cp\u003e\u0026lt;%= form_with model: Message.new do |form| %\u0026gt;\n\u0026lt;%= form.rich_textarea :content do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;form action=\u0026quot;/messages\u0026quot; accept-charset=\u0026quot;UTF-8\u0026quot; method=\u0026quot;post\u0026quot;\u0026gt;\u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;message_content_trix_input_message\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\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\u003cli\u003e\n\u003cp\u003eGeneralize \u003ccode\u003e:rich_text_area\u003c/code\u003e Capybara selector\u003c/p\u003e\n\u003cp\u003ePrepare for more Action Text-capable WYSIWYG editors by making\n\u003ccode\u003e:rich_text_area\u003c/code\u003e rely on the presence of \u003ccode\u003e[role=\u0026quot;textbox\u0026quot;]\u003c/code\u003e and\n\u003ccode\u003e[contenteditable]\u003c/code\u003e HTML attributes rather than a \u003ccode\u003e\u0026lt;trix-editor\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eForward \u003ccode\u003efill_in_rich_text_area\u003c/code\u003e options to Capybara\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003efill_in_rich_textarea \u0026quot;Rich text editor\u0026quot;, id: \u0026quot;trix_editor_1\u0026quot;, with: \u0026quot;Hello world!\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/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/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/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/8c624be05a5660772cbb6305862c3921b2f5788f\"\u003e\u003ccode\u003e8c624be\u003c/code\u003e\u003c/a\u003e De-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9825b1ba8bda30635c4a1eddbb4c9794d1ba8a3b\"\u003e\u003ccode\u003e9825b1b\u003c/code\u003e\u003c/a\u003e Action Text: change tag helpers to accept optional blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd49fa3e8058d4d37112abcf5eb6d85a9bfa4137\"\u003e\u003ccode\u003ecd49fa3\u003c/code\u003e\u003c/a\u003e Fix label \u003ccode\u003efor\u003c/code\u003e attribute missing form namespace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a20ee82fb14a955f55e49ae9db76779b250b3d9a\"\u003e\u003ccode\u003ea20ee82\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eimage_processing\u003c/code\u003e to the gemfile by default for active_storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a5faeaf71745b05d937b579a4da5bd90e0b6b58\"\u003e\u003ccode\u003e0a5faea\u003c/code\u003e\u003c/a\u003e Prevent stack overflow in ActionText PlaintextConversion (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55025\"\u003e#55025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.0.4 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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 structured events for Action Mailer:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.delivered\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.processed\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\u003eAdd \u003ccode\u003edeliver_all_later\u003c/code\u003e to enqueue multiple emails at once.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003euser_emails = User.all.map { |user| Notifier.welcome(user) }\nActionMailer.deliver_all_later(user_emails)\n\u003ch1\u003euse a custom queue\u003c/h1\u003e\n\u003cp\u003eActionMailer.deliver_all_later(user_emails, queue: :my_queue)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThis can greatly reduce the number of round-trips to the queue datastore.\nFor queue adapters that do not implement the \u003ccode\u003eenqueue_all\u003c/code\u003e method, we\nfall back to enqueuing email jobs indvidually.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/actionmailer/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/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/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/d2518fa2c974bfa97c378c9250c1256f83dff0de\"\u003e\u003ccode\u003ed2518fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55748\"\u003e#55748\u003c/a\u003e from Shopify/event_with_debug_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1e776998ed4ac8a415c1173ad55157f14368d939\"\u003e\u003ccode\u003e1e77699\u003c/code\u003e\u003c/a\u003e Make all framework log subscribers API private\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78857a394515c74e77db81da75f41f74d474b8e1\"\u003e\u003ccode\u003e78857a3\u003c/code\u003e\u003c/a\u003e Introduce with_debug_event_reporting to enable event reporter debug mode\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199...\n\n_Description has been truncated_","html_url":"https://github.com/DFE-Digital/teaching-vacancies/pull/8343","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DFE-Digital%2Fteaching-vacancies/issues/8343","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8343/packages"},{"uuid":"3656462798","node_id":"PR_kwDOQZFI-s61Eqk8","number":109,"state":"open","title":"Build(deps): Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-23T21:05:43.000Z","updated_at":"2025-11-23T21:06:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n\n\nUpdates `actionmailer` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionmailer/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionpack` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionview` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activemodel` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activerecord` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activesupport` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `railties` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/railties/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activejob` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activejob/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)","html_url":"https://github.com/greptile-bench/discourse/pull/109","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greptile-bench%2Fdiscourse/issues/109","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/109/packages"},{"uuid":"3655621345","node_id":"PR_kwDOK9Qsts61B-Nl","number":290,"state":"closed","title":"chore(deps): bump activemodel from 7.1.5.1 to 7.1.6","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-23T07:54:08.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-23T07:49:35.000Z","updated_at":"2025-11-23T07:54:09.000Z","time_to_close":273,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"activemodel","old_version":"7.1.5.1","new_version":"7.1.6","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 7.1.5.1 to 7.1.6.\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\u003e7.1.6\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\u003e\n\u003cp\u003eGracefully handle \u003ccode\u003eTimeout.timeout\u003c/code\u003e firing during connection configuration.\u003c/p\u003e\n\u003cp\u003eUse of \u003ccode\u003eTimeout.timeout\u003c/code\u003e could result in improperly initialized database connection.\u003c/p\u003e\n\u003cp\u003eThis could lead to a partially configured connection being used, resulting in various exceptions,\nthe most common being with the PostgreSQLAdapter raising \u003ccode\u003eundefined method \u003c/code\u003ekey?' for nil\u003ccode\u003eor\u003c/code\u003eTypeError: wrong argument type nil (expected PG::TypeMap)`.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix error handling during connection configuration.\u003c/p\u003e\n\u003cp\u003eActive Record wasn't properly handling errors during the connection configuration phase.\nThis could lead to a partially configured connection being used, resulting in various exceptions,\nthe most common being with the PostgreSQLAdapter raising \u003ccode\u003eundefined method \u003c/code\u003ekey?' for nil\u003ccode\u003eor\u003c/code\u003eTypeError: wrong argument type nil (expected PG::TypeMap)`.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix prepared statements on mysql2 adapter.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix a race condition in \u003ccode\u003eActiveRecord::Base#method_missing\u003c/code\u003e when lazily defining attributes.\u003c/p\u003e\n\u003cp\u003eIf multiple thread were concurrently triggering attribute definition on the same model,\nit could result in a \u003ccode\u003eNoMethodError\u003c/code\u003e being raised.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\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/ffcbf6f205363f8c2fb3e9834bc86690dd59f1cb\"\u003e\u003ccode\u003effcbf6f\u003c/code\u003e\u003c/a\u003e Preparing for 7.1.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/de7d2894feb0248c958d3afcb9d8d2cbe43ed569\"\u003e\u003ccode\u003ede7d289\u003c/code\u003e\u003c/a\u003e Merge branch '7-1-sec' into 7-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ddb56de25997491b57868d3a119b6aa3cd31ad4b\"\u003e\u003ccode\u003eddb56de\u003c/code\u003e\u003c/a\u003e Preparing for 7.1.5.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a9a1a33b1ab2be55616d246385d4e42db3fc7f0\"\u003e\u003ccode\u003e0a9a1a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55085\"\u003e#55085\u003c/a\u003e from Earlopain/namespaced\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.1.5.1...v7.1.6\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=7.1.5.1\u0026new-version=7.1.6)](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/okonomi/slkecho/pull/290","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/okonomi%2Fslkecho/issues/290","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/290/packages"},{"uuid":"3649929463","node_id":"PR_kwDOQZFI-s60vBdH","number":69,"state":"open","title":"Build(deps): Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-21T02:19:23.000Z","updated_at":"2025-11-21T02:42:29.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n\n\nUpdates `actionmailer` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionmailer/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionpack` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionview` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activemodel` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activerecord` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activesupport` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `railties` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/railties/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activejob` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activejob/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)","html_url":"https://github.com/greptile-bench/discourse/pull/69","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greptile-bench%2Fdiscourse/issues/69","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/69/packages"},{"uuid":"3644333880","node_id":"PR_kwDOQZFI-s60cIUD","number":13,"state":"open","title":"Build(deps): Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-19T20:34:25.000Z","updated_at":"2025-11-19T23:02:06.949Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n\nUpdates `actionmailer` from 8.0.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5f3b209016e0abb738d26accb6d97861f239fd63\"\u003e\u003ccode\u003e5f3b209\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2ec3115505bd1ea62fdc0f81057ecbb11f94830c\"\u003e\u003ccode\u003e2ec3115\u003c/code\u003e\u003c/a\u003e Fix CHANGELOG\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/648192531f46da609b37f417d34f49af183b3e45\"\u003e\u003ccode\u003e6481925\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/243e606288bc6b13edf0d5c91ebbd90ab36bc430\"\u003e\u003ccode\u003e243e606\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50390\"\u003e#50390\u003c/a\u003e from seanpdoyle/issue-50345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ab8e833991e493f57f03c10ee2a8a7fda218faae\"\u003e\u003ccode\u003eab8e833\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55820\"\u003e#55820\u003c/a\u003e from callmesangio/docs-fix-integrationtest-example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/847072c4f1276c069925e09391ad0cd3008b0d86\"\u003e\u003ccode\u003e847072c\u003c/code\u003e\u003c/a\u003e Fix TransitionTable#as_json compatibility with json 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a195ea9b4cb1997b3a01c53c0783ee05d4e514e8\"\u003e\u003ccode\u003ea195ea9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55668\"\u003e#55668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/87e495d0349869e05e1ec3736f93ca3b126d6a17\"\u003e\u003ccode\u003e87e495d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55675\"\u003e#55675\u003c/a\u003e from skipkayhil/hm-ouuplulxpznztlyp\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/95bee6a4c8132b4caf53e073f7b01ce5cdeed4a6\"\u003e\u003ccode\u003e95bee6a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55738\"\u003e#55738\u003c/a\u003e from skipkayhil/hm-nkxzsnnrqqlyrotw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6409b24dd20ee4076ec3dbefba9edc3376bf13f1\"\u003e\u003ccode\u003e6409b24\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55719\"\u003e#55719\u003c/a\u003e from skipkayhil/hm-fix-label-for-namespace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6394bfbfcea64b104b4167701aa55a783a6c730a\"\u003e\u003ccode\u003e6394bfb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55725\"\u003e#55725\u003c/a\u003e from byroot/js-include-type-module-sym\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/93fcfc12e0ac23593dd3b8a2ec247ec3c2f3545c\"\u003e\u003ccode\u003e93fcfc1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55587\"\u003e#55587\u003c/a\u003e from marcoroth/erubi-typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cab75f5f05d20fb74be8fa35fba362b016277e3\"\u003e\u003ccode\u003e1cab75f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55677\"\u003e#55677\u003c/a\u003e from alexkuebo/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5a0c11ba6e8b4e41f11e99d6c37c3df2990525c\"\u003e\u003ccode\u003ef5a0c11\u003c/code\u003e\u003c/a\u003e Use comment for example return values [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5f3b209016e0abb738d26accb6d97861f239fd63\"\u003e\u003ccode\u003e5f3b209\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bbb624bbf34fa42381d391af7caf0cf5c18c8f6e\"\u003e\u003ccode\u003ebbb624b\u003c/code\u003e\u003c/a\u003e Link using rdoc-ref instead of rdoc-label [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cb12148f72837b74ba63f3fba0b891b50e49f6bb\"\u003e\u003ccode\u003ecb12148\u003c/code\u003e\u003c/a\u003e Use headings for args documentation [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/739827f563b021d224a465b446ccb53598fcd38d\"\u003e\u003ccode\u003e739827f\u003c/code\u003e\u003c/a\u003e Improve Active Model changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2b971fde3baf7a51799670870eb14b34ca6bb21f\"\u003e\u003ccode\u003e2b971fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55232\"\u003e#55232\u003c/a\u003e from \u003ca href=\"https://redirect.github.com/callmesangio/fix-/issues/55225\"\u003ecallmesangio/fix-gh-55225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\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/52347e0467445b350f482838da5bb503c155eb72\"\u003e\u003ccode\u003e52347e0\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/d2826215f9c9c1fe2f1c91e292171a042be1e9c5\"\u003e\u003ccode\u003ed282621\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\u003e\u003ca href=\"https://github.com/rails/rails/commit/511dbf2665746e54240c07b93b0d0ddc184873f9\"\u003e\u003ccode\u003e511dbf2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55907\"\u003e#55907\u003c/a\u003e from ruyrocha/fix/sqlite3-data-loss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bf9219d62aed746260e853cebe98503c8c27cdd5\"\u003e\u003ccode\u003ebf9219d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55918\"\u003e#55918\u003c/a\u003e from baarde/with-bound-sql-literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/865bc776d039645bd4b7f2c826ab4e0aaadf51b6\"\u003e\u003ccode\u003e865bc77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55332\"\u003e#55332\u003c/a\u003e from zzak/re-54882\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dee79c4a74723ce8016b2e96e3d6d5723f673aa6\"\u003e\u003ccode\u003edee79c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55778\"\u003e#55778\u003c/a\u003e from ianterrell/ianterrell/fix-autosave-changed-via...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c7a8a8208221c3f01bc841a8f7015ea00e86427\"\u003e\u003ccode\u003e3c7a8a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55864\"\u003e#55864\u003c/a\u003e from RicardoTrindade/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/00e1dfa973ce121d767c299a02d05b028caf8b5c\"\u003e\u003ccode\u003e00e1dfa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55840\"\u003e#55840\u003c/a\u003e from zzak/asup-xml-mini-bigdecimal-float-precision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3148ba1cfc8482c7e9115bbc68a84bf62543c46\"\u003e\u003ccode\u003ef3148ba\u003c/code\u003e\u003c/a\u003e [ci skip] Fix \u003ccode\u003etransform_keys!\u003c/code\u003e example in 8.0.3 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2e0b72cc3bd5afdc663ddbf35246dde880024e2e\"\u003e\u003ccode\u003e2e0b72c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55808\"\u003e#55808\u003c/a\u003e from olivier-thatch/fix-enum-sole\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6aab6c8a1cd9c87e9cab9dddeeae119a4df65a11\"\u003e\u003ccode\u003e6aab6c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55794\"\u003e#55794\u003c/a\u003e from rails/fix-55513\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/edeeb0eeedce6e97c4186e75103c4d979da058f9\"\u003e\u003ccode\u003eedeeb0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55786\"\u003e#55786\u003c/a\u003e from rails/fix-55776\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4f7d5ff8d7726420edc1cf7ab25cdb58015f9fa6\"\u003e\u003ccode\u003e4f7d5ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55882\"\u003e#55882\u003c/a\u003e from rails/rm-fix-devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8f480ada67198f9e2f9d0f12e3ada4a735987cf5\"\u003e\u003ccode\u003e8f480ad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55746\"\u003e#55746\u003c/a\u003e from rails/rm-fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ff0d09392c6958128a1ed23ce589e0b894fc0e5\"\u003e\u003ccode\u003e0ff0d09\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55724\"\u003e#55724\u003c/a\u003e from fatkodima/preserve-locale-eml-preview\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a195ea9b4cb1997b3a01c53c0783ee05d4e514e8\"\u003e\u003ccode\u003ea195ea9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55668\"\u003e#55668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f7ec132e320cbd074678aaa9a6a0d140bac7bb0b\"\u003e\u003ccode\u003ef7ec132\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55495\"\u003e#55495\u003c/a\u003e from joaquintomas2003/authentication_test_files_gen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/09d468bf17991d591d91ffd25294ecfb6d42b75f\"\u003e\u003ccode\u003e09d468b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55227\"\u003e#55227\u003c/a\u003e from fabricerenard12/55215_name_error_health_contro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4aa38935138b8684a881a6d8d9ae0bc5411e75ee\"\u003e\u003ccode\u003e4aa3893\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55622\"\u003e#55622\u003c/a\u003e from zzak/8-0-54031\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.0.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/52432156016361d7636487586dc6360bf49e8db3\"\u003e\u003ccode\u003e5243215\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55682\"\u003e#55682\u003c/a\u003e from npezza93/bug-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fd6ae05dc80496740e8ff839bad14d24e6d5882e\"\u003e\u003ccode\u003efd6ae05\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55661\"\u003e#55661\u003c/a\u003e from npezza93/job-date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae73ec66f9d5a99815c66b26eb050716109dda6d\"\u003e\u003ccode\u003eae73ec6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55568\"\u003e#55568\u003c/a\u003e from zzak/sidekiq-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5f3b209016e0abb738d26accb6d97861f239fd63\"\u003e\u003ccode\u003e5f3b209\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e4049d3e84d4ce06a8bb49ce029f33dcd75a5f2d\"\u003e\u003ccode\u003ee4049d3\u003c/code\u003e\u003c/a\u003e Add missing punctuation [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/69f3f88ab30fbeb312c0968313b5f097997870ba\"\u003e\u003ccode\u003e69f3f88\u003c/code\u003e\u003c/a\u003e Fully qualify ActiveJob::Arguments for auto-link [ci-skip]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/greptile-bench/discourse/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greptile-bench%2Fdiscourse/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"3622249291","node_id":"PR_kwDOABNy5s6zSC7I","number":245,"state":"closed","title":"Bump the dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-25T18:02:52.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-13T18:04:25.000Z","updated_at":"2025-11-25T18:02:54.000Z","time_to_close":1036707,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":26,"packages":[{"name":"activemodel","old_version":"8.1.0","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"json","old_version":"2.15.1","new_version":"2.16.0","repository_url":"https://github.com/ruby/json"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activemodel](https://github.com/rails/rails) | `8.1.0` | `8.1.1` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [json](https://github.com/ruby/json) | `2.15.1` | `2.16.0` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n\n\nUpdates `activemodel` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.0 to 13.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/f0001c3eeada8220f2976170876c75d21ed0626f\"\u003e\u003ccode\u003ef0001c3\u003c/code\u003e\u003c/a\u003e v13.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a644c808b98692cab776734ab92397df5e2de48b\"\u003e\u003ccode\u003ea644c80\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/483\"\u003e#483\u003c/a\u003e from luke-gru/fix_test_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2465ea541d6d721e3e03cd4a75594928032a8731\"\u003e\u003ccode\u003e2465ea5\u003c/code\u003e\u003c/a\u003e silence warnings during execution of rake tasks in Rakefile (ex: rake test)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/df25fb13f015c0f5ff8e7e46e71c28df33ebf34b\"\u003e\u003ccode\u003edf25fb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/610\"\u003e#610\u003c/a\u003e from pvdb/fix_testhelper_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/ec12ac969b708ba2488f02c164b8581f3f828922\"\u003e\u003ccode\u003eec12ac9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/635\"\u003e#635\u003c/a\u003e from nevans/deconstruct_keys-for-nil-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4664a69fcac064c1f727c8fc99f366958fa3a08b\"\u003e\u003ccode\u003e4664a69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/666\"\u003e#666\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/7a0bf15a81e7d3508e33de4d9398ae640bb50d68\"\u003e\u003ccode\u003e7a0bf15\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.265.0 to 1.266.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3ed7892ad1bc15aed7dbb4c02038d8088fad5f6\"\u003e\u003ccode\u003eb3ed789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/665\"\u003e#665\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/1e7ef52f75be42cbe611e14d8efd7bcd62472a86\"\u003e\u003ccode\u003e1e7ef52\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.263.0 to 1.265.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/77225e17c0675d5d2adc40e267291ebffa0c38e0\"\u003e\u003ccode\u003e77225e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/664\"\u003e#664\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.0...v13.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.0 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.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.15.1 to 2.16.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.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.2...v2.16.0\"\u003ehttps://github.com/ruby/json/compare/v2.15.2...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.15.2\"\u003ehttps://github.com/ruby/json/compare/v2.15.1...v2.15.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e2025-11-07 (2.16.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-10-25 (2.15.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\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/ruby/json/commit/5a12067f8878d94739d70e0085b91c88fd9e31d6\"\u003e\u003ccode\u003e5a12067\u003c/code\u003e\u003c/a\u003e Release 2.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e9fbc8937f21041962146201c97f9e65a7ce5af2\"\u003e\u003ccode\u003ee9fbc89\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/826cb2a4f4a384562ad809af1d1dcb4a2f0e4f5c\"\u003e\u003ccode\u003e826cb2a\u003c/code\u003e\u003c/a\u003e Get rid of JSON.deep_const_get (private API)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/fce1c7e84a72d03fe5824f0b1197195189397b68\"\u003e\u003ccode\u003efce1c7e\u003c/code\u003e\u003c/a\u003e Tentative fix for RHEL8 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/a67d1a1af481693304dfa894901f8a8b186c1221\"\u003e\u003ccode\u003ea67d1a1\u003c/code\u003e\u003c/a\u003e Micro-optimize \u003ccode\u003erstring_cache_fetch\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ddad00b7469c04f58fd29779ba84bf75a8283515\"\u003e\u003ccode\u003eddad00b\u003c/code\u003e\u003c/a\u003e Extract \u003ccode\u003eJSON_CPU_LITTLE_ENDIAN_64BITS\u003c/code\u003e definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3bc1787bd413953bbfad237d06082a0c905ef945\"\u003e\u003ccode\u003e3bc1787\u003c/code\u003e\u003c/a\u003e ext/json/ext/json.h: Add missing newline at end of file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/591510392a6d5f794470b45576ca006f58a74f6d\"\u003e\u003ccode\u003e5915103\u003c/code\u003e\u003c/a\u003e Fix duplicate 'inline' declaration specifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/043880f6abd966d515b223df2a401fc5f48feb40\"\u003e\u003ccode\u003e043880f\u003c/code\u003e\u003c/a\u003e parser.c: Always inline \u003ccode\u003ejson_eat_whitespace\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/21284ea6490e8c2fb077d90c17f587c2479edaee\"\u003e\u003ccode\u003e21284ea\u003c/code\u003e\u003c/a\u003e parser.c: use \u003ccode\u003erb_str_to_interned_str\u003c/code\u003e over \u003ccode\u003erb_funcall\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.0 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\"\u003eactioncable'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/actioncable/CHANGELOG.md\"\u003eactioncable'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.1.0 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\"\u003eactionmailbox'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/actionmailbox/CHANGELOG.md\"\u003eactionmailbox'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.1.0 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.1.0 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.0 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\"\u003eactivejob'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/activejob/CHANGELOG.md\"\u003eactivejob'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\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\u003c/blockquote\u003e\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/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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.1.0 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\"\u003eactivestorage'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/activestorage/CHANGELOG.md\"\u003eactivestorage'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.4.1 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify description of this library by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix broken rdoc-ref to the calendar page by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TruffleRuby in CI by \u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose dangling else in braces and fix -Wmisleading-indentation by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/117\"\u003eruby/date#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd license files (COPYING, BSDL) to gem files by \u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewindows-2019 will be EOL at end of June, 2025 by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/124\"\u003eruby/date#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias value to take in 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/ruby/date/pull/127\"\u003eruby/date#127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved workaround for assert_ractor by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/128\"\u003eruby/date#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress warnings by gcc-13 with \u003ccode\u003e-Og\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/129\"\u003eruby/date#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to FL_EXIVAR 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/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Date#hash for large years by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check for fixnum lower bound in m_ajd by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/131\"\u003eruby/date#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress maybe-uninitialized warning by gcc-13 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/139\"\u003eruby/date#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not repeat conversions to string by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/140\"\u003eruby/date#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/141\"\u003eruby/date#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/142\"\u003eruby/date#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/143\"\u003eruby/date#143\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/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ehttps://github.com/ruby/date/compare/v3.4.1...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/c941d1a8a88ead5633679d13618217aa83a455a0\"\u003e\u003ccode\u003ec941d1a\u003c/code\u003e\u003c/a\u003e Need to compile before release-gem for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/d535f7e85fbb8841e0b1cd363b4497b195ebe110\"\u003e\u003ccode\u003ed535f7e\u003c/code\u003e\u003c/a\u003e v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b703fcb45036c59436af9d684558ce5cf1dc75f6\"\u003e\u003ccode\u003eb703fcb\u003c/code\u003e\u003c/a\u003e Update the latest versions of actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/af863b54f33c40be90fe8cc841202ec53b27a43e\"\u003e\u003ccode\u003eaf863b5\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/date/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/545066ca28b2a6536e6d58a4e2bdb0653ec82caa\"\u003e\u003ccode\u003e545066c\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/4f7b6c9b421eacd74c1f34ddd482f3b7f002d316\"\u003e\u003ccode\u003e4f7b6c9\u003c/code\u003e\u003c/a\u003e Test for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/159e1ebb7fcd7d06d699d51f713637ee9c3cf406\"\u003e\u003ccode\u003e159e1eb\u003c/code\u003e\u003c/a\u003e Do not repeat conversions to string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/5d48e5d1b8c65ce5551565cbca5f735e96d6275c\"\u003e\u003ccode\u003e5d48e5d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/138\"\u003e#138\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/0c8e5a68450e8421604e852e5f2630f59511933a\"\u003e\u003ccode\u003e0c8e5a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/139\"\u003e#139\u003c/a\u003e from nobu/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/afaa4a997b45c8318b66a7b7ab30848793c01d99\"\u003e\u003ccode\u003eafaa4a9\u003c/code\u003e\u003c/a\u003e Suppress maybe-uninitialized warning by gcc-13\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `irb` from 1.15.2 to 1.15.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove prompt generating performance by caching prompt parts(%m, %M) by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1127\"\u003eruby/irb#1127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not save consecutive duplicate commands to history by \u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle keyword local variables correctly by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1085\"\u003eruby/irb#1085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil error on debugger prompt by \u003ca href=\"https://github.com/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix methods defined with invalid encoding are not displayed in completion by \u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix show_source command when obj.method is overrided by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1111\"\u003eruby/irb#1111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset IOGate.set_winch_handler when dancing ruby easter-egg terminates by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1124\"\u003eruby/irb#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix UTF-16 autocompletion by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix link by \u003ca href=\"https://github.com/BurdetteLamar\"\u003e\u003ccode\u003e@​BurdetteLamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1112\"\u003eruby/irb#1112\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid intermediate array from split by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1093\"\u003eruby/irb#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace gsub with rstrip by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1095\"\u003eruby/irb#1095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer filter_map and map+grep instead of map+compact and select+map by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1094\"\u003eruby/irb#1094\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnabled trusted publisher for rubygems.org by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1100\"\u003eruby/irb#1100\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typos and wording on sigint section of docs by \u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.0 to 2.12.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1105\"\u003eruby/irb#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.1 to 2.12.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1108\"\u003eruby/irb#1108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1109\"\u003eruby/irb#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGemfile: add github dependency on rbs by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1117\"\u003eruby/irb#1117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1116\"\u003eruby/irb#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1119\"\u003eruby/irb#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1121\"\u003eruby/irb#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Include document files in the generated gem file by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1098\"\u003eruby/irb#1098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump integration test's timeout on CI to 30s by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1122\"\u003eruby/irb#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix prompt cache flaky test by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1130\"\u003eruby/irb#1130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1131\"\u003eruby/irb#1131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEaster-egg Use endless range instead of step by \u003ca href=\"https://github.com/RicardoTrindade\"\u003e\u003ccode\u003e@​RicardoTrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1123\"\u003eruby/irb#1123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 1.15.3 by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1134\"\u003eruby/irb#1134\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/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ehttps://github.com/ruby/irb/compare/v1.15.2...v1.15.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/7ea448915f88502212d6b12b3a4839e7f057e45b\"\u003e\u003ccode\u003e7ea4489\u003c/code\u003e\u003c/a\u003e Bump version to 1.15.3 (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c7e3227adc984fb4cdd1b9008a4a89984a343c35\"\u003e\u003ccode\u003ec7e3227\u003c/code\u003e\u003c/a\u003e Do not save consecutive duplicate commands to history (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1120\"\u003e#1120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/f71180028812698e393be1ce56eef103b14dd3b3\"\u003e\u003ccode\u003ef711800\u003c/code\u003e\u003c/a\u003e Use endless range instead of step (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1123\"\u003e#1123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/18d152b8e9fe545ccbba3bdc83b0a5fb5904ae6c\"\u003e\u003ccode\u003e18d152b\u003c/code\u003e\u003c/a\u003e Fix UTF-16 autocompletion (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1129\"\u003e#1129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/e45bb6ba9c6dd2ab42a686fe16ed2fe6e0ab4a0a\"\u003e\u003ccode\u003ee45bb6b\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/50db8f873abab9319dfa9a82f94ca2170030501f\"\u003e\u003ccode\u003e50db8f8\u003c/code\u003e\u003c/a\u003e Fix prompt cache flaky test (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c95ee7819b26af8a1754e13f252f8edfa683ade8\"\u003e\u003ccode\u003ec95ee78\u003c/code\u003e\u003c/a\u003e Improve prompt generating performance by caching prompt parts(%m, %M) (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/3893f1877617742b3470a6ddec2502d9db088431\"\u003e\u003ccode\u003e3893f18\u003c/code\u003e\u003c/a\u003e Reset IOGate.set_winch_handler when dancing ruby easter-egg terminates (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1124\"\u003e#1124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/d43c3d764ae439706aa1b26a3ec299cc45eaed5b\"\u003e\u003ccode\u003ed43c3d7\u003c/code\u003e\u003c/a\u003e Bump integration test's timeout on CI to 30s (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c4cae4806c4df15a27358f3465930483a1aeb00b\"\u003e\u003ccode\u003ec4cae48\u003c/code\u003e\u003c/a\u003e [DOC] Include document files in the generated gem file (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 5.26.0 to 5.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minitest/minitest/blob/master/History.rdoc\"\u003eminitest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.26.1 / 2025-11-08\u003c/p\u003e\n\u003cp\u003eThe Ocean Shores, Slightly Less Tipsy Edition!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e3 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd links to API doco in README.\u003c/li\u003e\n\u003cli\u003eAdd missing require thread.\u003c/li\u003e\n\u003cli\u003eBumped ruby version to include 4.0 (trunk). (hsbt)\n(see also 5.14.2)\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/minitest/minitest/commit/15265da64bd93cbed6c1eecb4a85c88329297e37\"\u003e\u003ccode\u003e15265da\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/7b2e090b5bac2466177dc1b56deff2ec1cae4c0e\"\u003e\u003ccode\u003e7b2e090\u003c/code\u003e\u003c/a\u003e - Bumped ruby version to include 4.0 (trunk). (hsbt)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c54c262511b53df6a8d34e3fdcf6b3e542400bab\"\u003e\u003ccode\u003ec54c262\u003c/code\u003e\u003c/a\u003e Ryan! STAHP! Stop trying to \u0026quot;optimize\u0026quot; this.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/690d38a20713e4d0e449cf7de87de7d9fcb01456\"\u003e\u003ccode\u003e690d38a\u003c/code\u003e\u003c/a\u003e - Add links to API doco in README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/d80a4fd5a4bb4c127da84b7632a654cf47afe598\"\u003e\u003ccode\u003ed80a4fd\u003c/code\u003e\u003c/a\u003e Comment end of larger classes w/ name to help navigation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/8d4cf64186692242ea516a39b11f3adc8666ee2d\"\u003e\u003ccode\u003e8d4cf64\u003c/code\u003e\u003c/a\u003e Fix formatting of design_rationale.rb, update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/0db7aacae99d713e9aec789da699efa8c6349bbd\"\u003e\u003ccode\u003e0db7aac\u003c/code\u003e\u003c/a\u003e tweak assertion count to be consistent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/2f0848aba13e013a5ba18530d56079010007026e\"\u003e\u003ccode\u003e2f0848a\u003c/code\u003e\u003c/a\u003e - Add missing require thread.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v5.26.0...v5.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nio4r` from 2.7.4 to 2.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/socketry/nio4r/blob/main/releases.md\"\u003enio4r's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eReleases\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/8d49449f3818cdfed9b46eb6587620fdebb6be6b\"\u003e\u003ccode\u003e8d49449\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/d3105796bd3e487001505daee8fca92b7105a8e5\"\u003e\u003ccode\u003ed310579\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etea.yaml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/ca7686294052c46288ac0c47c3be348c6441ed29\"\u003e\u003ccode\u003eca76862\u003c/code\u003e\u003c/a\u003e Fix for \u003ccode\u003eOpenSSL::SSL::SSLContext\u003c/code\u003e \u003ccode\u003eset_minmax_proto_version\u003c/code\u003e removal. (\u003ca href=\"https://redirect.github.com/socketry/nio4r/issues/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/315b1f62d038e2287f4dc852638fdf19a03cae87\"\u003e\u003ccode\u003e315b1f6\u003c/code\u003e\u003c/a\u003e Update releases.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/socketry/nio4r/compare/v2.7.4...v2.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.2.3 to 3.2.4\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\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\u003c/blockquote\u003e\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/4c24539777db8833d78f881680cd245878cfba31\"\u003e\u003ccode\u003e4c24539\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/3ba5e4f22f55abac21037bb137e56e5c8e36b673\"\u003e\u003ccode\u003e3ba5e4f\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\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 6.15.0 to 6.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.15.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Herb linter and fix HTML and ERB linting issues by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1434\"\u003eruby/rdoc#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove search result by prioritizing exact matches by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1433\"\u003eruby/rdoc#1433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AGENTS.md and CLAUDE.md to the project by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1439\"\u003eruby/rdoc#1439\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRescue RuboCop rake tasks require error by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1431\"\u003eruby/rdoc#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1437\"\u003eruby/rdoc#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1436\"\u003eruby/rdoc#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 6.15.1 by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1441\"\u003eruby/rdoc#1441\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/rdoc/compare/v6.15.0...v6.15.1\"\u003ehttps://github.com/ruby/rdoc/compare/v6.15.0...v6.15.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/386baadd2d32a92980ea57a652f398c20a286b30\"\u003e\u003ccode\u003e386baad\u003c/code\u003e\u003c/a\u003e Bump version to 6.15.1 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/16ae9e83abdee2d066ffc16d58c901d43cbede8b\"\u003e\u003ccode\u003e16ae9e8\u003c/code\u003e\u003c/a\u003e Improve search result by prioritizing exact matches (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/0c163304b0a0969993d9f112edc08ae15912b63f\"\u003e\u003ccode\u003e0c16330\u003c/code\u003e\u003c/a\u003e Add AGENTS.md and CLAUDE.md to the project (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1439\"\u003e#1439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/c03a250e50a0a8bcdf72e65e30e946e025...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/245","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/245","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/245/packages"},{"uuid":"3609183616","node_id":"PR_kwDOABNy5s6ymAgx","number":243,"state":"closed","title":"Bump the dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-12T18:03:00.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-10T18:22:32.000Z","updated_at":"2025-11-12T18:03:02.000Z","time_to_close":171628,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":26,"packages":[{"name":"activemodel","old_version":"8.1.0","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"json","old_version":"2.15.1","new_version":"2.16.0","repository_url":"https://github.com/ruby/json"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"erb","old_version":"5.1.1","new_version":"5.1.3","repository_url":"https://github.com/ruby/erb"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activemodel](https://github.com/rails/rails) | `8.1.0` | `8.1.1` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [json](https://github.com/ruby/json) | `2.15.1` | `2.16.0` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [erb](https://github.com/ruby/erb) | `5.1.1` | `5.1.3` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n\n\nUpdates `activemodel` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.0 to 13.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/f0001c3eeada8220f2976170876c75d21ed0626f\"\u003e\u003ccode\u003ef0001c3\u003c/code\u003e\u003c/a\u003e v13.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a644c808b98692cab776734ab92397df5e2de48b\"\u003e\u003ccode\u003ea644c80\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/483\"\u003e#483\u003c/a\u003e from luke-gru/fix_test_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2465ea541d6d721e3e03cd4a75594928032a8731\"\u003e\u003ccode\u003e2465ea5\u003c/code\u003e\u003c/a\u003e silence warnings during execution of rake tasks in Rakefile (ex: rake test)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/df25fb13f015c0f5ff8e7e46e71c28df33ebf34b\"\u003e\u003ccode\u003edf25fb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/610\"\u003e#610\u003c/a\u003e from pvdb/fix_testhelper_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/ec12ac969b708ba2488f02c164b8581f3f828922\"\u003e\u003ccode\u003eec12ac9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/635\"\u003e#635\u003c/a\u003e from nevans/deconstruct_keys-for-nil-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4664a69fcac064c1f727c8fc99f366958fa3a08b\"\u003e\u003ccode\u003e4664a69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/666\"\u003e#666\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/7a0bf15a81e7d3508e33de4d9398ae640bb50d68\"\u003e\u003ccode\u003e7a0bf15\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.265.0 to 1.266.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3ed7892ad1bc15aed7dbb4c02038d8088fad5f6\"\u003e\u003ccode\u003eb3ed789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/665\"\u003e#665\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/1e7ef52f75be42cbe611e14d8efd7bcd62472a86\"\u003e\u003ccode\u003e1e7ef52\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.263.0 to 1.265.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/77225e17c0675d5d2adc40e267291ebffa0c38e0\"\u003e\u003ccode\u003e77225e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/664\"\u003e#664\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.0...v13.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.0 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.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.15.1 to 2.16.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.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.2...v2.16.0\"\u003ehttps://github.com/ruby/json/compare/v2.15.2...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.15.2\"\u003ehttps://github.com/ruby/json/compare/v2.15.1...v2.15.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e2025-11-07 (2.16.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-10-25 (2.15.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\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/ruby/json/commit/5a12067f8878d94739d70e0085b91c88fd9e31d6\"\u003e\u003ccode\u003e5a12067\u003c/code\u003e\u003c/a\u003e Release 2.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e9fbc8937f21041962146201c97f9e65a7ce5af2\"\u003e\u003ccode\u003ee9fbc89\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/826cb2a4f4a384562ad809af1d1dcb4a2f0e4f5c\"\u003e\u003ccode\u003e826cb2a\u003c/code\u003e\u003c/a\u003e Get rid of JSON.deep_const_get (private API)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/fce1c7e84a72d03fe5824f0b1197195189397b68\"\u003e\u003ccode\u003efce1c7e\u003c/code\u003e\u003c/a\u003e Tentative fix for RHEL8 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/a67d1a1af481693304dfa894901f8a8b186c1221\"\u003e\u003ccode\u003ea67d1a1\u003c/code\u003e\u003c/a\u003e Micro-optimize \u003ccode\u003erstring_cache_fetch\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ddad00b7469c04f58fd29779ba84bf75a8283515\"\u003e\u003ccode\u003eddad00b\u003c/code\u003e\u003c/a\u003e Extract \u003ccode\u003eJSON_CPU_LITTLE_ENDIAN_64BITS\u003c/code\u003e definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3bc1787bd413953bbfad237d06082a0c905ef945\"\u003e\u003ccode\u003e3bc1787\u003c/code\u003e\u003c/a\u003e ext/json/ext/json.h: Add missing newline at end of file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/591510392a6d5f794470b45576ca006f58a74f6d\"\u003e\u003ccode\u003e5915103\u003c/code\u003e\u003c/a\u003e Fix duplicate 'inline' declaration specifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/043880f6abd966d515b223df2a401fc5f48feb40\"\u003e\u003ccode\u003e043880f\u003c/code\u003e\u003c/a\u003e parser.c: Always inline \u003ccode\u003ejson_eat_whitespace\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/21284ea6490e8c2fb077d90c17f587c2479edaee\"\u003e\u003ccode\u003e21284ea\u003c/code\u003e\u003c/a\u003e parser.c: use \u003ccode\u003erb_str_to_interned_str\u003c/code\u003e over \u003ccode\u003erb_funcall\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.0 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\"\u003eactioncable'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/actioncable/CHANGELOG.md\"\u003eactioncable'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.1.0 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\"\u003eactionmailbox'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/actionmailbox/CHANGELOG.md\"\u003eactionmailbox'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.1.0 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.1.0 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.0 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\"\u003eactivejob'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/activejob/CHANGELOG.md\"\u003eactivejob'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\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\u003c/blockquote\u003e\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/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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.1.0 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\"\u003eactivestorage'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/activestorage/CHANGELOG.md\"\u003eactivestorage'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.4.1 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify description of this library by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix broken rdoc-ref to the calendar page by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TruffleRuby in CI by \u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose dangling else in braces and fix -Wmisleading-indentation by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/117\"\u003eruby/date#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd license files (COPYING, BSDL) to gem files by \u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewindows-2019 will be EOL at end of June, 2025 by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/124\"\u003eruby/date#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias value to take in 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/ruby/date/pull/127\"\u003eruby/date#127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved workaround for assert_ractor by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/128\"\u003eruby/date#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress warnings by gcc-13 with \u003ccode\u003e-Og\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/129\"\u003eruby/date#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to FL_EXIVAR 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/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Date#hash for large years by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check for fixnum lower bound in m_ajd by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/131\"\u003eruby/date#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress maybe-uninitialized warning by gcc-13 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/139\"\u003eruby/date#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not repeat conversions to string by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/140\"\u003eruby/date#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/141\"\u003eruby/date#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/142\"\u003eruby/date#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/143\"\u003eruby/date#143\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/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ehttps://github.com/ruby/date/compare/v3.4.1...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/c941d1a8a88ead5633679d13618217aa83a455a0\"\u003e\u003ccode\u003ec941d1a\u003c/code\u003e\u003c/a\u003e Need to compile before release-gem for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/d535f7e85fbb8841e0b1cd363b4497b195ebe110\"\u003e\u003ccode\u003ed535f7e\u003c/code\u003e\u003c/a\u003e v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b703fcb45036c59436af9d684558ce5cf1dc75f6\"\u003e\u003ccode\u003eb703fcb\u003c/code\u003e\u003c/a\u003e Update the latest versions of actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/af863b54f33c40be90fe8cc841202ec53b27a43e\"\u003e\u003ccode\u003eaf863b5\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/date/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/545066ca28b2a6536e6d58a4e2bdb0653ec82caa\"\u003e\u003ccode\u003e545066c\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/4f7b6c9b421eacd74c1f34ddd482f3b7f002d316\"\u003e\u003ccode\u003e4f7b6c9\u003c/code\u003e\u003c/a\u003e Test for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/159e1ebb7fcd7d06d699d51f713637ee9c3cf406\"\u003e\u003ccode\u003e159e1eb\u003c/code\u003e\u003c/a\u003e Do not repeat conversions to string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/5d48e5d1b8c65ce5551565cbca5f735e96d6275c\"\u003e\u003ccode\u003e5d48e5d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/138\"\u003e#138\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/0c8e5a68450e8421604e852e5f2630f59511933a\"\u003e\u003ccode\u003e0c8e5a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/139\"\u003e#139\u003c/a\u003e from nobu/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/afaa4a997b45c8318b66a7b7ab30848793c01d99\"\u003e\u003ccode\u003eafaa4a9\u003c/code\u003e\u003c/a\u003e Suppress maybe-uninitialized warning by gcc-13\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 5.1.1 to 5.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/releases\"\u003eerb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.3\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.2...v5.1.3\"\u003ehttps://github.com/ruby/erb/compare/v5.1.2...v5.1.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor html_escape by \u003ca href=\"https://github.com/noteflakes\"\u003e\u003ccode\u003e@​noteflakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/88\"\u003eruby/erb#88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata by \u003ca href=\"https://github.com/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.2\"\u003ehttps://github.com/ruby/erb/compare/v5.1.1...v5.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease v5.1.2 with trusted publishing for JRuby\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/ruby/erb/commit/e8d382a83e899d21621e50fd27ade67ade1c1be5\"\u003e\u003ccode\u003ee8d382a\u003c/code\u003e\u003c/a\u003e Version 5.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ae5bc380b9adf6ca0fbbf7f4f67d8695541dd646\"\u003e\u003ccode\u003eae5bc38\u003c/code\u003e\u003c/a\u003e Publish a gem for JRuby as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/daa0e8712f41ba088b9af63cffd2328aefe6548b\"\u003e\u003ccode\u003edaa0e87\u003c/code\u003e\u003c/a\u003e Version 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/fa6a2c9f07ca47a614d7dcf6ecb71d2dc39287af\"\u003e\u003ccode\u003efa6a2c9\u003c/code\u003e\u003c/a\u003e Add a workflow for trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/85a4f10332a6b25b7b807a67447bb9bbfc00f3c3\"\u003e\u003ccode\u003e85a4f10\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/89\"\u003e#89\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/c231ced3f4c1b6e1b2a41215a45d4df54f44cb10\"\u003e\u003ccode\u003ec231ced\u003c/code\u003e\u003c/a\u003e html_escape: refactor redundant if (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/88\"\u003e#88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `irb` from 1.15.2 to 1.15.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove prompt generating performance by caching prompt parts(%m, %M) by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1127\"\u003eruby/irb#1127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not save consecutive duplicate commands to history by \u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle keyword local variables correctly by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1085\"\u003eruby/irb#1085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil error on debugger prompt by \u003ca href=\"https://github.com/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix methods defined with invalid encoding are not displayed in completion by \u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix show_source command when obj.method is overrided by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1111\"\u003eruby/irb#1111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset IOGate.set_winch_handler when dancing ruby easter-egg terminates by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1124\"\u003eruby/irb#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix UTF-16 autocompletion by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix link by \u003ca href=\"https://github.com/BurdetteLamar\"\u003e\u003ccode\u003e@​BurdetteLamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1112\"\u003eruby/irb#1112\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid intermediate array from split by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1093\"\u003eruby/irb#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace gsub with rstrip by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1095\"\u003eruby/irb#1095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer filter_map and map+grep instead of map+compact and select+map by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1094\"\u003eruby/irb#1094\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnabled trusted publisher for rubygems.org by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1100\"\u003eruby/irb#1100\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typos and wording on sigint section of docs by \u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.0 to 2.12.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1105\"\u003eruby/irb#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.1 to 2.12.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1108\"\u003eruby/irb#1108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1109\"\u003eruby/irb#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGemfile: add github dependency on rbs by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1117\"\u003eruby/irb#1117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1116\"\u003eruby/irb#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1119\"\u003eruby/irb#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1121\"\u003eruby/irb#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Include document files in the generated gem file by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1098\"\u003eruby/irb#1098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump integration test's timeout on CI to 30s by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1122\"\u003eruby/irb#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix prompt cache flaky test by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1130\"\u003eruby/irb#1130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1131\"\u003eruby/irb#1131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEaster-egg Use endless range instead of step by \u003ca href=\"https://github.com/RicardoTrindade\"\u003e\u003ccode\u003e@​RicardoTrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1123\"\u003eruby/irb#1123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 1.15.3 by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1134\"\u003eruby/irb#1134\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/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ehttps://github.com/ruby/irb/compare/v1.15.2...v1.15.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/7ea448915f88502212d6b12b3a4839e7f057e45b\"\u003e\u003ccode\u003e7ea4489\u003c/code\u003e\u003c/a\u003e Bump version to 1.15.3 (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c7e3227adc984fb4cdd1b9008a4a89984a343c35\"\u003e\u003ccode\u003ec7e3227\u003c/code\u003e\u003c/a\u003e Do not save consecutive duplicate commands to history (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1120\"\u003e#1120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/f71180028812698e393be1ce56eef103b14dd3b3\"\u003e\u003ccode\u003ef711800\u003c/code\u003e\u003c/a\u003e Use endless range instead of step (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1123\"\u003e#1123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/18d152b8e9fe545ccbba3bdc83b0a5fb5904ae6c\"\u003e\u003ccode\u003e18d152b\u003c/code\u003e\u003c/a\u003e Fix UTF-16 autocompletion (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1129\"\u003e#1129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/e45bb6ba9c6dd2ab42a686fe16ed2fe6e0ab4a0a\"\u003e\u003ccode\u003ee45bb6b\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/50db8f873abab9319dfa9a82f94ca2170030501f\"\u003e\u003ccode\u003e50db8f8\u003c/code\u003e\u003c/a\u003e Fix prompt cache flaky test (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c95ee7819b26af8a1754e13f252f8edfa683ade8\"\u003e\u003ccode\u003ec95ee78\u003c/code\u003e\u003c/a\u003e Improve prompt generating performance by caching prompt parts(%m, %M) (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/3893f1877617742b3470a6ddec2502d9db088431\"\u003e\u003ccode\u003e3893f18\u003c/code\u003e\u003c/a\u003e Reset IOGate.set_winch_handler when dancing ruby easter-egg terminates (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1124\"\u003e#1124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/d43c3d764ae439706aa1b26a3ec299cc45eaed5b\"\u003e\u003ccode\u003ed43c3d7\u003c/code\u003e\u003c/a\u003e Bump integration test's timeout on CI to 30s (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c4cae4806c4df15a27358f3465930483a1aeb00b\"\u003e\u003ccode\u003ec4cae48\u003c/code\u003e\u003c/a\u003e [DOC] Include document files in the generated gem file (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 5.26.0 to 5.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minitest/minitest/blob/master/History.rdoc\"\u003eminitest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.26.1 / 2025-11-08\u003c/p\u003e\n\u003cp\u003eThe Ocean Shores, Slightly Less Tipsy Edition!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e3 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd links to API doco in README.\u003c/li\u003e\n\u003cli\u003eAdd missing require thread.\u003c/li\u003e\n\u003cli\u003eBumped ruby version to include 4.0 (trunk). (hsbt)\n(see also 5.14.2)\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/minitest/minitest/commit/15265da64bd93cbed6c1eecb4a85c88329297e37\"\u003e\u003ccode\u003e15265da\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/7b2e090b5bac2466177dc1b56deff2ec1cae4c0e\"\u003e\u003ccode\u003e7b2e090\u003c/code\u003e\u003c/a\u003e - Bumped ruby version to include 4.0 (trunk). (hsbt)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c54c262511b53df6a8d34e3fdcf6b3e542400bab\"\u003e\u003ccode\u003ec54c262\u003c/code\u003e\u003c/a\u003e Ryan! STAHP! Stop trying to \u0026quot;optimize\u0026quot; this.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/690d38a20713e4d0e449cf7de87de7d9fcb01456\"\u003e\u003ccode\u003e690d38a\u003c/code\u003e\u003c/a\u003e - Add links to API doco in README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/d80a4fd5a4bb4c127da84b7632a654cf47afe598\"\u003e\u003ccode\u003ed80a4fd\u003c/code\u003e\u003c/a\u003e Comment end of larger classes w/ name to help navigation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/8d4cf64186692242ea516a39b11f3adc8666ee2d\"\u003e\u003ccode\u003e8d4cf64\u003c/code\u003e\u003c/a\u003e Fix formatting of design_rationale.rb, update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/0db7aacae99d713e9aec789da699efa8c6349bbd\"\u003e\u003ccode\u003e0db7aac\u003c/code\u003e\u003c/a\u003e tweak assertion count to be consistent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/2f0848aba13e013a5ba18530d56079010007026e\"\u003e\u003ccode\u003e2f0848a\u003c/code\u003e\u003c/a\u003e - Add missing require thread.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v5.26.0...v5.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nio4r` from 2.7.4 to 2.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/socketry/nio4r/blob/main/releases.md\"\u003enio4r's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eReleases\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/8d49449f3818cdfed9b46eb6587620fdebb6be6b\"\u003e\u003ccode\u003e8d49449\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/d3105796bd3e487001505daee8fca92b7105a8e5\"\u003e\u003ccode\u003ed310579\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etea.yaml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/ca7686294052c46288ac0c47c3be348c6441ed29\"\u003e\u003ccode\u003eca76862\u003c/code\u003e\u003c/a\u003e Fix for \u003ccode\u003eOpenSSL::SSL::SSLContext\u003c/code\u003e \u003ccode\u003eset_minmax_proto_version\u003c/code\u003e removal. (\u003ca href=\"https://redirect.github.com/socketry/nio4r/issues/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/315b1f62d038e2287f4dc852638fdf19a03cae87\"\u003e\u003ccode\u003e315b1f6\u003c/code\u003e\u003c/a\u003e Update releases.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/socketry/nio4r/compare/v2.7.4...v2.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.2.3 to 3.2.4\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\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\u003c/blockquote\u003e\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/4c24539777db8833d78f881680cd245878cfba31\"\u003e\u003ccode\u003e4c24539\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/3ba5e4f22f55abac21037bb137e56e5c8e36b673\"\u003e\u003ccode\u003e3ba5e4f\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\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff i...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/243","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/243","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/243/packages"},{"uuid":"3588391639","node_id":"PR_kwDOCJQbzs6xg9s9","number":8125,"state":"open","title":"build(deps): bump the bundler group with 37 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-04T23:03:29.000Z","updated_at":"2025-11-04T23:04:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"bundler","update_count":37,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-ruby","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sidekiq","old_version":"8.0.8","new_version":"8.0.9","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"grover","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/Studiosity/grover"},{"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":"govuk-components","old_version":"5.11.3","new_version":"5.13.0","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"view_component","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"webmock","old_version":"3.26.0","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"actioncable","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"aws-partitions","old_version":"1.1178.0","new_version":"1.1180.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.235.0","new_version":"3.236.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.115.0","new_version":"1.116.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"net-http","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/ruby/net-http"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"railties","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rdoc","old_version":"6.15.0","new_version":"6.15.1","repository_url":"https://github.com/ruby/rdoc"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"rubyzip","old_version":"3.2.1","new_version":"3.2.2","repository_url":"https://github.com/rubyzip/rubyzip"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"},{"name":"uri","old_version":"1.0.4","new_version":"1.1.1","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 37 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `6.0.0` | `6.1.0` |\n| [sentry-ruby](https://github.com/getsentry/sentry-ruby) | `6.0.0` | `6.1.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `6.0.0` | `6.1.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.8` | `8.0.9` |\n| [grover](https://github.com/Studiosity/grover) | `1.2.3` | `1.2.4` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `5.13.0` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `5.13.0` |\n| [view_component](https://github.com/viewcomponent/view_component) | `4.0.2` | `4.1.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.26.0` | `3.26.1` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [actioncable](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionmailbox](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionpack](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actiontext](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionview](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activejob](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activemodel](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activerecord](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activestorage](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activesupport](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1178.0` | `1.1180.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.235.0` | `3.236.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.115.0` | `1.116.0` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [net-http](https://github.com/ruby/net-http) | `0.6.0` | `0.7.0` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [railties](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.15.0` | `6.15.1` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [rubyzip](https://github.com/rubyzip/rubyzip) | `3.2.1` | `3.2.2` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n| [uri](https://github.com/ruby/uri) | `1.0.4` | `1.1.1` |\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 6.0.0 to 6.1.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.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\u003c/blockquote\u003e\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/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/22d3ad48a58fe89ab871ef74d166de1edd041166\"\u003e\u003ccode\u003e22d3ad4\u003c/code\u003e\u003c/a\u003e chore(rails): refactor and fix test app setup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2762\"\u003e#2762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1680da68589ab58f9027e4f8f85780e61e8414d\"\u003e\u003ccode\u003ea1680da\u003c/code\u003e\u003c/a\u003e Guard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/997ef4ed014e6fa5ac9ab0cb019c5c747f9d0480\"\u003e\u003ccode\u003e997ef4e\u003c/code\u003e\u003c/a\u003e chore(rails): 8.1 in test setup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2764\"\u003e#2764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/d643fcd510be9fa467d993e81e62d90751b81b36\"\u003e\u003ccode\u003ed643fcd\u003c/code\u003e\u003c/a\u003e feat(rails): add binds to ActiveRecord logs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/582aeb9a242c000d2068942570fc0acb56f9baa8\"\u003e\u003ccode\u003e582aeb9\u003c/code\u003e\u003c/a\u003e chore(rails): remove 5.0 leftovers (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2760\"\u003e#2760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/6.0.0...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-ruby` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.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\u003c/blockquote\u003e\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/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/6.0.0...6.1.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 6.0.0 to 6.1.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.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\u003c/blockquote\u003e\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/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/6.0.0...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.8 to 8.0.9\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/32567d7cf2a465d93d69be2754d6f899ea655848\"\u003e\u003ccode\u003e32567d7\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/5fef41f4d290ac52435654dd846cd08277efef2b\"\u003e\u003ccode\u003e5fef41f\u003c/code\u003e\u003c/a\u003e prep for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/5d656d2449d94535f578875b46ddf490d6ccdbf8\"\u003e\u003ccode\u003e5d656d2\u003c/code\u003e\u003c/a\u003e Vulnerability policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c435e5ef8a1d1b007ee669835f7359a0bbe3a213\"\u003e\u003ccode\u003ec435e5e\u003c/code\u003e\u003c/a\u003e Implement idle redis connection reaping (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6664\"\u003e#6664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3334ce8f765346d2d7333cf2293568037737bf1b\"\u003e\u003ccode\u003e3334ce8\u003c/code\u003e\u003c/a\u003e wordsmithing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/a5bfbc633299707108e1fa4b539009d7a3130f48\"\u003e\u003ccode\u003ea5bfbc6\u003c/code\u003e\u003c/a\u003e clarify commercial policies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/be722014daf171b4fc4ed93d01a421d057a71acc\"\u003e\u003ccode\u003ebe72201\u003c/code\u003e\u003c/a\u003e formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/39fc90650fe8e3d9f859728bd71f62bf09980b9d\"\u003e\u003ccode\u003e39fc906\u003c/code\u003e\u003c/a\u003e first pass at sdlc policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3a7baff4073fd326a146f3e10940036d21290f82\"\u003e\u003ccode\u003e3a7baff\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2dcfcd51121c0c215514ef2435a92b000b193def\"\u003e\u003ccode\u003e2dcfcd5\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.8...v8.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grover` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Studiosity/grover/releases\"\u003egrover's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude Node v24 in build suite by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/291\"\u003eStudiosity/grover#291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the browser object to set cookies.  by \u003ca href=\"https://github.com/brendon\"\u003e\u003ccode\u003e@​brendon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/294\"\u003eStudiosity/grover#294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix removal of external spec dependency (httpstat.us offline) by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/298\"\u003eStudiosity/grover#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.5.0-preview1 to build matrix by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/296\"\u003eStudiosity/grover#296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Firefox browser by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/297\"\u003eStudiosity/grover#297\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/brendon\"\u003e\u003ccode\u003e@​brendon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/294\"\u003eStudiosity/grover#294\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Studiosity/grover/compare/v1.2.3...v1.2.4\"\u003ehttps://github.com/Studiosity/grover/compare/v1.2.3...v1.2.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/Studiosity/grover/blob/main/CHANGELOG.md\"\u003egrover's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Studiosity/grover/blob/main/releases/tag/v1.2.4\"\u003e1.2,4\u003c/a\u003e - 2025-11-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/297\"\u003e#297\u003c/a\u003e Add support for browser option (Firefox) ([\u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e][])\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/Studiosity/grover/pull/294\"\u003e#294\u003c/a\u003e Handle deprecations in setCookie API ([\u003ca href=\"https://github.com/brendon\"\u003e\u003ccode\u003e@​brendon\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/f47af21c1192520ad6e98c05d9fde6e7f375ba57\"\u003e\u003ccode\u003ef47af21\u003c/code\u003e\u003c/a\u003e Release v1.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/8e7ce04a1dbd7576cddcd4b22dc107b815dfbfc5\"\u003e\u003ccode\u003e8e7ce04\u003c/code\u003e\u003c/a\u003e Add support for Firefox browser (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/52407a0e64b8bfcd7a8ab62e8bd295621215f402\"\u003e\u003ccode\u003e52407a0\u003c/code\u003e\u003c/a\u003e Add Ruby 3.5.0-preview1 to build matrix (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/296\"\u003e#296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/d5eb9d8264000c1ba614a6085da6cee8889ede81\"\u003e\u003ccode\u003ed5eb9d8\u003c/code\u003e\u003c/a\u003e Fix removal of external spec dependency (httpstat.us offline) (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/ab0622ad7f5ffb87d13828e8dda8c675d63fffd7\"\u003e\u003ccode\u003eab0622a\u003c/code\u003e\u003c/a\u003e Handle deprecations in setCookie API (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/294\"\u003e#294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/a243b8bc1171d2140a7fde5fab296781794dfad0\"\u003e\u003ccode\u003ea243b8b\u003c/code\u003e\u003c/a\u003e Include Node v24 in build suite (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/ef0992a2da6aeada6bdd6d761d334425a5c8baf3\"\u003e\u003ccode\u003eef0992a\u003c/code\u003e\u003c/a\u003e Expand apparmor README to explain some details further\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/fc7eef54078a15fbf301e074bd343fe726ee9cc7\"\u003e\u003ccode\u003efc7eef5\u003c/code\u003e\u003c/a\u003e Update README with possible solutions for apparmor sandbox issues\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Studiosity/grover/compare/v1.2.3...v1.2.4\"\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 `govuk-components` from 5.11.3 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-components/releases\"\u003egovuk-components'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\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/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\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/19170ac2eb63f7bd1e271cf11f92c55891eb60dd\"\u003e\u003ccode\u003e19170ac\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.1.18 to = 5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f5e44992352fcf026b7913d71dd78e4e4b2cea48\"\u003e\u003ccode\u003ef5e4499\u003c/code\u003e\u003c/a\u003e Add support for Rails 8.1 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/0cecbe14b468c8e7670a0dd8ca4c9bf85cb251cf\"\u003e\u003ccode\u003e0cecbe1\u003c/code\u003e\u003c/a\u003e Run tests against Rails 8.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/34265ad1e045782e2c0824c7f0a72eedc8a4f66a\"\u003e\u003ccode\u003e34265ad\u003c/code\u003e\u003c/a\u003e Replace ActiveSupport::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/ec204b7198a24dd932a600f3051e7811c0ab1035\"\u003e\u003ccode\u003eec204b7\u003c/code\u003e\u003c/a\u003e Bump view_component versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/d6724bee5bc6866cf4637a2bfdcecea6a1abf0e9\"\u003e\u003ccode\u003ed6724be\u003c/code\u003e\u003c/a\u003e Use consistent brackets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v5.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 4.0.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.2...v4.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/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeclare \u003ccode\u003eactionview\u003c/code\u003e as a \u003ccode\u003eview_component\u003c/code\u003e gem dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMichal Cichra\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/5ebefb32d1c492b858c68c7dc9046a1229fdf290\"\u003e\u003ccode\u003e5ebefb3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2472\"\u003e#2472\u003c/a\u003e from ViewComponent/release-4-1-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/9c541a78ebfaa4a4789b5f4b1abb54777bee0127\"\u003e\u003ccode\u003e9c541a7\u003c/code\u003e\u003c/a\u003e release 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/044613756071110b51bc7fcf98df31be87b9f35f\"\u003e\u003ccode\u003e0446137\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2467\"\u003e#2467\u003c/a\u003e from ViewComponent/support-rails-head\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/177029d1016f8d6d40c121adf7b4e896b80f0df4\"\u003e\u003ccode\u003e177029d\u003c/code\u003e\u003c/a\u003e Keep benchmark on Rails 8.0 for now\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/129067b8d1bfac60dfe8c0930c4b425eee82da55\"\u003e\u003ccode\u003e129067b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into support-rails-head\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/24849b14a591abf718011a1be11afe8f61ca032b\"\u003e\u003ccode\u003e24849b1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/2baa84e3c916bf6f697e8ea637a55696638665ab\"\u003e\u003ccode\u003e2baa84e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2468\"\u003e#2468\u003c/a\u003e from ViewComponent/fix-bug-replication-script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/879141ff1d350810e5b53d054c5b743657b19b6a\"\u003e\u003ccode\u003e879141f\u003c/code\u003e\u003c/a\u003e Relax allocations for Ruby 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/d32c85627039cf107bae4f97491f64e8fd304c95\"\u003e\u003ccode\u003ed32c856\u003c/code\u003e\u003c/a\u003e Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/2fd86b76dc6d13907b22ce7f4f40628ac7e91407\"\u003e\u003ccode\u003e2fd86b7\u003c/code\u003e\u003c/a\u003e Alloooooocaaaaations!!!\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v4.0.2...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webmock` from 3.26.0 to 3.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/blob/master/CHANGELOG.md\"\u003ewebmock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.26.1\u003c/h1\u003e\n\u003cp\u003eFix compatibility with recent async-http versions\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eThanks to [Mikhail Doronin](https://github.com/misdoro)\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/bblimke/webmock/commit/56cb661b6aa2e711bcf3eb1e3a921a35727e7972\"\u003e\u003ccode\u003e56cb661\u003c/code\u003e\u003c/a\u003e Version 3.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/ea4cea3f01c7ec9019b7eae27a94f0f101e2ed26\"\u003e\u003ccode\u003eea4cea3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1109\"\u003e#1109\u003c/a\u003e from misdoro/duplicate_headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/c05fe472629da6ea6fc0ca065ce3bcafbfc56229\"\u003e\u003ccode\u003ec05fe47\u003c/code\u003e\u003c/a\u003e Split SAMPLE_REQUEST_HEADERS and SAMPLE_RESPONSE_HEADERS to be more realistic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/5f46ecabc3f4324ddde7ac4a948cc44145202828\"\u003e\u003ccode\u003e5f46eca\u003c/code\u003e\u003c/a\u003e Fix specs with recent Async-http versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/aa747ba5328a5fba500a16e54d3e1848106e1b0b\"\u003e\u003ccode\u003eaa747ba\u003c/code\u003e\u003c/a\u003e Run CI on pushes to all branches\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bblimke/webmock/compare/3.26.0...v3.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shoulda-matchers` from 6.5.0 to 7.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/releases\"\u003eshoulda-matchers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md\"\u003eshoulda-matchers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales\"\u003e\u003ccode\u003e@​matsales\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/commit/2a503318d6dfab04fa5d2b76ad8b790abda4e4df\"\u003e\u003ccode\u003e2a50331\u003c/code\u003e\u003c/a\u003e bump version to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/3ae93e62da8f0ed305ae9c3e41f8a5530a2010a7\"\u003e\u003ccode\u003e3ae93e6\u003c/code\u003e\u003c/a\u003e hotfix: Add mutex_m gem dependency (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/731aaa71c56125c1e2eef9c6fe28d47963216d37\"\u003e\u003ccode\u003e731aaa7\u003c/code\u003e\u003c/a\u003e Bump version to 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/9069b5994ac0a2fdc48017d92b582e92d52e7aa8\"\u003e\u003ccode\u003e9069b59\u003c/code\u003e\u003c/a\u003e * chore: Update supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/99e36980b0a63607df1104e6e204a0fd8ecd2167\"\u003e\u003ccode\u003e99e3698\u003c/code\u003e\u003c/a\u003e chore: Add Rails 8.1 support (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/5c79d3bb75730ebf6e2615713972cd9722b102e5\"\u003e\u003ccode\u003e5c79d3b\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 7.0 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/7c46150cf1467cb951df4901c4a8fb3b8d22595a\"\u003e\u003ccode\u003e7c46150\u003c/code\u003e\u003c/a\u003e chore: Add support for Rails 8 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/49113db8498288d59e7e2b405ba2ebfb836cbed2\"\u003e\u003ccode\u003e49113db\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 6.1 and older (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/15560c7d4874f867e4fe1ecee5e275c0027ead42\"\u003e\u003ccode\u003e15560c7\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to `have_attac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/024c055885c792ed45923812e582facbe55ea8c6\"\u003e\u003ccode\u003e024c055\u003c/code\u003e\u003c/a\u003e chore: Update Ruby versions to latest stable releases (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/compare/v6.5.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` 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\"\u003eactioncable'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/actioncable/CHANGELOG.md\"\u003eactioncable'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\u003eAllow passing composite channels to \u003ccode\u003eActionCable::Channel#stream_for\u003c/code\u003e – e.g. \u003ccode\u003estream_for [ group, group.owner ]\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ehey-leon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow setting nil as subscription connection identifier for Redis.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eNguyen Nguyen\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/actioncable/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/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/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/b92d3020c662ffe7c58908c0a2be70e20ebfe6a3\"\u003e\u003ccode\u003eb92d302\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eCan not start microsoftedge 17.17134 (Windows 10)\u003c/code\u003e error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/207a254cedef2c381c2898bac960b91ce14ab3a7\"\u003e\u003ccode\u003e207a254\u003c/code\u003e\u003c/a\u003e ActiveSupport::Callbacks add a fast path when there is no callbacks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/00dc4bf1f1413f34197f3c2be55a8fb8f3bf47af\"\u003e\u003ccode\u003e00dc4bf\u003c/code\u003e\u003c/a\u003e chore(deps-dev): update eslint from 8.57.1 to 9.24.0 with Flat Config\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\u003e\u003ca href=\"https://github.com/rails/rails/commit/466777f499b16ea2cf948fbeebd9f4ec89ddc503\"\u003e\u003ccode\u003e466777f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55197\"\u003e#55197\u003c/a\u003e from hey-leon/composite-broadcasting\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 `actionmailbox` 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\"\u003eactionmailbox'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/actionmailbox/CHANGELOG.md\"\u003eactionmailbox'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\u003ereply_to_address\u003c/code\u003e extension method on \u003ccode\u003eMail::Message\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMr0grog\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/actionmailbox/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/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/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3e06703619cf13de78638580c175b0586bfa201\"\u003e\u003ccode\u003ef3e0670\u003c/code\u003e\u003c/a\u003e Remove deprecated \u003ccode\u003e:azure\u003c/code\u003e storage service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a99903d464662db6b114b07fa56e90204a3b4778\"\u003e\u003ccode\u003ea99903d\u003c/code\u003e\u003c/a\u003e Bump RuboCop to fix some transient failures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b0ff636ae0dfb0890e189f22d7dee274f1b5321d\"\u003e\u003ccode\u003eb0ff636\u003c/code\u003e\u003c/a\u003e Handle Rack 3.2 \u003ccode\u003eunprocessable_{entity,content}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3f31eed37a76fbe7dba59acb756227b858b790f\"\u003e\u003ccode\u003ef3f31ee\u003c/code\u003e\u003c/a\u003e Move StrictWarnings to the tools directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bc2e492a80f7e8cf43377dfaccdd9a027e60971e\"\u003e\u003ccode\u003ebc2e492\u003c/code\u003e\u003c/a\u003e Run tests with \u003ccode\u003e--profile\u003c/code\u003e on CI\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 `actionmailer` 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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 structured events for Action Mailer:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.delivered\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.processed\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\u003eAdd \u003ccode\u003edeliver_all_later\u003c/code\u003e to enqueue multiple emails at once.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003euser_emails = User.all.map { |user| Notifier.welcome(user) }\nActionMailer.deliver_all_later(user_emails)\n\u003ch1\u003euse a custom queue\u003c/h1\u003e\n\u003cp\u003eActionMailer.deliver_all_later(user_emails, queue: :my_queue)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThis can greatly reduce the number of round-trips to the queue datastore.\nFor queue adapters that do not implement the \u003ccode\u003eenqueue_all\u003c/code\u003e method, we\nfall back to enqueuing email jobs indvidually.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/actionmailer/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/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/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/d2518fa2c974bfa97c378c9250c1256f83dff0de\"\u003e\u003ccode\u003ed2518fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55748\"\u003e#55748\u003c/a\u003e from Shopify/event_with_debug_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1e776998ed4ac8a415c1173ad55157f14368d939\"\u003e\u003ccode\u003e1e77699\u003c/code\u003e\u003c/a\u003e Make all framework log subscribers API private\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78857a394515c74e77db81da75f41f74d474b8e1\"\u003e\u003ccode\u003e78857a3\u003c/code\u003e\u003c/a\u003e Introduce with_debug_event_reporting to enable event reporter debug mode\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 `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 `actiontext` 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003eDe-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eImplement \u003ccode\u003e@rails/actiontext/index.js\u003c/code\u003e with a \u003ccode\u003edirect-upload:progress\u003c/code\u003e event\nlisteners and \u003ccode\u003ePromise\u003c/code\u003e resolution.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCapture block content for form helper methods\u003c/p\u003e\n\u003cpre lang=\"erb\"\u003e\u003ccode\u003e\u0026lt;%= rich_textarea_tag :content, nil do %\u0026gt;\n  \u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;content\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\n\u003cp\u003e\u0026lt;%= rich_textarea :message, :content, input: \u0026quot;trix_input_1\u0026quot; do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\u003c/p\u003e\n\u003cp\u003e\u0026lt;%= form_with model: Message.new do |form| %\u0026gt;\n\u0026lt;%= form.rich_textarea :content do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;form action=\u0026quot;/messages\u0026quot; accept-charset=\u0026quot;UTF-8\u0026quot; method=\u0026quot;post\u0026quot;\u0026gt;\u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;message_content_trix_input_message\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\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\u003cli\u003e\n\u003cp\u003eGeneralize \u003ccode\u003e:rich_text_area\u003c/code\u003e Capybara selector\u003c/p\u003e\n\u003cp\u003ePrepare for more Action Text-capable WYSIWYG editors by making\n\u003ccode\u003e:rich_text_area\u003c/code\u003e rely on the presence of \u003ccode\u003e[role=\u0026quot;textbox\u0026quot;]\u003c/code\u003e and\n\u003ccode\u003e[contenteditable]\u003c/code\u003e HTML attributes rather than a \u003ccode\u003e\u0026lt;trix-editor\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eForward \u003ccode\u003efill_in_rich_text_area\u003c/code\u003e options to Capybara\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003efill_in_rich_textarea \u0026quot;Rich text editor\u0026quot;, id: \u0026quot;trix_editor_1\u0026quot;, with: \u0026quot;Hello world!\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/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/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/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/8c624be05a5660772cbb6305862c3921b2f5788f\"\u003e\u003ccode\u003e8c624be\u003c/code\u003e\u003c/a\u003e De-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9825b1ba8bda30635c4a1eddbb4c9794d1ba8a3b\"\u003e\u003ccode\u003e9825b1b\u003c/code\u003e\u003c/a\u003e Action Text: change tag helpers to accept optional blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd49fa3e8058d4d37112abcf5eb6d85a9bfa4137\"\u003e\u003ccode\u003ecd49fa3\u003c/code\u003e\u003c/a\u003e Fix label \u003ccode\u003efor\u003c/code\u003e attribute missing form namespace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a20ee82fb14a955f55e49ae9db76779b250b3d9a\"\u003e\u003ccode\u003ea20ee82\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eimage_processing\u003c/code\u003e to the gemfile by default for active_storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a5faeaf71745b05d937b579a4da5bd90e0b6b58\"\u003e\u003ccode\u003e0a5faea\u003c/code\u003e\u003c/a\u003e Prevent stack overflow in ActionText PlaintextConversion (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55025\"\u003e#55025\u003c/a\u003e)\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\u003ch...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-apply-for-legal-aid/pull/8125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-apply-for-legal-aid/issues/8125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8125/packages"},{"uuid":"3584528119","node_id":"PR_kwDOFOGO4c6xUMuv","number":1621,"state":"open","title":"Chore(deps): Bump the bundler group with 25 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-04T03:04:29.000Z","updated_at":"2025-11-04T03:04:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"bundler","update_count":25,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"actioncable","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"erb","old_version":"5.1.1","new_version":"5.1.3","repository_url":"https://github.com/ruby/erb"},{"name":"formatador","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/geemus/formatador"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"railties","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rdoc","old_version":"6.15.0","new_version":"6.15.1","repository_url":"https://github.com/ruby/rdoc"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"},{"name":"uri","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [actioncable](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionmailbox](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actiontext](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activestorage](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [erb](https://github.com/ruby/erb) | `5.1.1` | `5.1.3` |\n| [formatador](https://github.com/geemus/formatador) | `1.2.1` | `1.2.2` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [railties](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.15.0` | `6.15.1` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n| [uri](https://github.com/ruby/uri) | `1.0.4` | `1.1.0` |\n\nUpdates `rails` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/47a763581331ecfa56fb27beceda04bc6b5bb1f4\"\u003e\u003ccode\u003e47a7635\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/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d96d698c3a78510d974f186d21e9b81d15b2a955\"\u003e\u003ccode\u003ed96d698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56021\"\u003e#56021\u003c/a\u003e from harsh183/hd/getting_started_add_note_about_mai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\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/95a073edcda76d06037df3d1c4904759e5d58163\"\u003e\u003ccode\u003e95a073e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55966\"\u003e#55966\u003c/a\u003e from alexanderadam/doc/remove_subclasses_documentat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ac0b8f0a6187d2d626f7c8c29dae41c8ff9217d1\"\u003e\u003ccode\u003eac0b8f0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54720\"\u003e#54720\u003c/a\u003e from gregmolnar/guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/82f2c96c394b0cf2c2208a7cbf8ebb4fa591ebd6\"\u003e\u003ccode\u003e82f2c96\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/94a28440cafca5c243821490956432b30d8a4fa4\"\u003e\u003ccode\u003e94a2844\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53068\"\u003e#53068\u003c/a\u003e from zzak/rails-probot-migration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shoulda-matchers` from 6.5.0 to 7.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/releases\"\u003eshoulda-matchers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md\"\u003eshoulda-matchers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales\"\u003e\u003ccode\u003e@​matsales\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/commit/2a503318d6dfab04fa5d2b76ad8b790abda4e4df\"\u003e\u003ccode\u003e2a50331\u003c/code\u003e\u003c/a\u003e bump version to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/3ae93e62da8f0ed305ae9c3e41f8a5530a2010a7\"\u003e\u003ccode\u003e3ae93e6\u003c/code\u003e\u003c/a\u003e hotfix: Add mutex_m gem dependency (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/731aaa71c56125c1e2eef9c6fe28d47963216d37\"\u003e\u003ccode\u003e731aaa7\u003c/code\u003e\u003c/a\u003e Bump version to 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/9069b5994ac0a2fdc48017d92b582e92d52e7aa8\"\u003e\u003ccode\u003e9069b59\u003c/code\u003e\u003c/a\u003e * chore: Update supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/99e36980b0a63607df1104e6e204a0fd8ecd2167\"\u003e\u003ccode\u003e99e3698\u003c/code\u003e\u003c/a\u003e chore: Add Rails 8.1 support (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/5c79d3bb75730ebf6e2615713972cd9722b102e5\"\u003e\u003ccode\u003e5c79d3b\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 7.0 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/7c46150cf1467cb951df4901c4a8fb3b8d22595a\"\u003e\u003ccode\u003e7c46150\u003c/code\u003e\u003c/a\u003e chore: Add support for Rails 8 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/49113db8498288d59e7e2b405ba2ebfb836cbed2\"\u003e\u003ccode\u003e49113db\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 6.1 and older (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/15560c7d4874f867e4fe1ecee5e275c0027ead42\"\u003e\u003ccode\u003e15560c7\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to `have_attac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/024c055885c792ed45923812e582facbe55ea8c6\"\u003e\u003ccode\u003e024c055\u003c/code\u003e\u003c/a\u003e chore: Update Ruby versions to latest stable releases (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/compare/v6.5.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2b495d8b0979bbefb9a233a6e1682c87759a7d83\"\u003e\u003ccode\u003e2b495d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55812\"\u003e#55812\u003c/a\u003e from yahonda/bump-microsoftedge-version-to-latest\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/648192531f46da609b37f417d34f49af183b3e45\"\u003e\u003ccode\u003e6481925\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/243e606288bc6b13edf0d5c91ebbd90ab36bc430\"\u003e\u003ccode\u003e243e606\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50390\"\u003e#50390\u003c/a\u003e from seanpdoyle/issue-50345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ab8e833991e493f57f03c10ee2a8a7fda218faae\"\u003e\u003ccode\u003eab8e833\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55820\"\u003e#55820\u003c/a\u003e from callmesangio/docs-fix-integrationtest-example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/95bee6a4c8132b4caf53e073f7b01ce5cdeed4a6\"\u003e\u003ccode\u003e95bee6a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55738\"\u003e#55738\u003c/a\u003e from skipkayhil/hm-nkxzsnnrqqlyrotw\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\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/52347e0467445b350f482838da5bb503c155eb72\"\u003e\u003ccode\u003e52347e0\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/d2826215f9c9c1fe2f1c91e292171a042be1e9c5\"\u003e\u003ccode\u003ed282621\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\u003e\u003ca href=\"https://github.com/rails/rails/commit/511dbf2665746e54240c07b93b0d0ddc184873f9\"\u003e\u003ccode\u003e511dbf2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55907\"\u003e#55907\u003c/a\u003e from ruyrocha/fix/sqlite3-data-loss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bf9219d62aed746260e853cebe98503c8c27cdd5\"\u003e\u003ccode\u003ebf9219d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55918\"\u003e#55918\u003c/a\u003e from baarde/with-bound-sql-literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/865bc776d039645bd4b7f2c826ab4e0aaadf51b6\"\u003e\u003ccode\u003e865bc77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55332\"\u003e#55332\u003c/a\u003e from zzak/re-54882\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dee79c4a74723ce8016b2e96e3d6d5723f673aa6\"\u003e\u003ccode\u003edee79c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55778\"\u003e#55778\u003c/a\u003e from ianterrell/ianterrell/fix-autosave-changed-via...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivestorage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/82f2c96c394b0cf2c2208a7cbf8ebb4fa591ebd6\"\u003e\u003ccode\u003e82f2c96\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c7a8a8208221c3f01bc841a8f7015ea00e86427\"\u003e\u003ccode\u003e3c7a8a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55864\"\u003e#55864\u003c/a\u003e from RicardoTrindade/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/00e1dfa973ce121d767c299a02d05b028caf8b5c\"\u003e\u003ccode\u003e00e1dfa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55840\"\u003e#55840\u003c/a\u003e from zzak/asup-xml-mini-bigdecimal-float-precision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3148ba1cfc8482c7e9115bbc68a84bf62543c46\"\u003e\u003ccode\u003ef3148ba\u003c/code\u003e\u003c/a\u003e [ci skip] Fix \u003ccode\u003etransform_keys!\u003c/code\u003e example in 8.0.3 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2e0b72cc3bd5afdc663ddbf35246dde880024e2e\"\u003e\u003ccode\u003e2e0b72c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55808\"\u003e#55808\u003c/a\u003e from olivier-thatch/fix-enum-sole\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6aab6c8a1cd9c87e9cab9dddeeae119a4df65a11\"\u003e\u003ccode\u003e6aab6c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55794\"\u003e#55794\u003c/a\u003e from rails/fix-55513\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/edeeb0eeedce6e97c4186e75103c4d979da058f9\"\u003e\u003ccode\u003eedeeb0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55786\"\u003e#55786\u003c/a\u003e from rails/fix-55776\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.4.1 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify description of this library by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix broken rdoc-ref to the calendar page by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TruffleRuby in CI by \u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose dangling else in braces and fix -Wmisleading-indentation by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/117\"\u003eruby/date#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd license files (COPYING, BSDL) to gem files by \u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewindows-2019 will be EOL at end of June, 2025 by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/124\"\u003eruby/date#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias value to take in 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/ruby/date/pull/127\"\u003eruby/date#127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved workaround for assert_ractor by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/128\"\u003eruby/date#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress warnings by gcc-13 with \u003ccode\u003e-Og\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/129\"\u003eruby/date#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to FL_EXIVAR 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/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Date#hash for large years by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check for fixnum lower bound in m_ajd by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/131\"\u003eruby/date#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress maybe-uninitialized warning by gcc-13 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/139\"\u003eruby/date#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not repeat conversions to string by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/140\"\u003eruby/date#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/141\"\u003eruby/date#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/142\"\u003eruby/date#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/143\"\u003eruby/date#143\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/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ehttps://github.com/ruby/date/compare/v3.4.1...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/c941d1a8a88ead5633679d13618217aa83a455a0\"\u003e\u003ccode\u003ec941d1a\u003c/code\u003e\u003c/a\u003e Need to compile before release-gem for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/d535f7e85fbb8841e0b1cd363b4497b195ebe110\"\u003e\u003ccode\u003ed535f7e\u003c/code\u003e\u003c/a\u003e v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b703fcb45036c59436af9d684558ce5cf1dc75f6\"\u003e\u003ccode\u003eb703fcb\u003c/code\u003e\u003c/a\u003e Update the latest versions of actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/af863b54f33c40be90fe8cc841202ec53b27a43e\"\u003e\u003ccode\u003eaf863b5\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/date/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/545066ca28b2a6536e6d58a4e2bdb0653ec82caa\"\u003e\u003ccode\u003e545066c\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/4f7b6c9b421eacd74c1f34ddd482f3b7f002d316\"\u003e\u003ccode\u003e4f7b6c9\u003c/code\u003e\u003c/a\u003e Test for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/159e1ebb7fcd7d06d699d51f713637ee9c3cf406\"\u003e\u003ccode\u003e159e1eb\u003c/code\u003e\u003c/a\u003e Do not repeat conversions to string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/5d48e5d1b8c65ce5551565cbca5f735e96d6275c\"\u003e\u003ccode\u003e5d48e5d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/138\"\u003e#138\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/0c8e5a68450e8421604e852e5f2630f59511933a\"\u003e\u003ccode\u003e0c8e5a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/139\"\u003e#139\u003c/a\u003e from nobu/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/afaa4a997b45c8318b66a7b7ab30848793c01d99\"\u003e\u003ccode\u003eafaa4a9\u003c/code\u003e\u003c/a\u003e Suppress maybe-uninitialized warning by gcc-13\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 5.1.1 to 5.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/releases\"\u003eerb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.3\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.2...v5.1.3\"\u003ehttps://github.com/ruby/erb/compare/v5.1.2...v5.1.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor html_escape by \u003ca href=\"https://github.com/noteflakes\"\u003e\u003ccode\u003e@​noteflakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/88\"\u003eruby/erb#88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata by \u003ca href=\"https://github.com/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.2\"\u003ehttps://github.com/ruby/erb/compare/v5.1.1...v5.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease v5.1.2 with trusted publishing for JRuby\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/ruby/erb/commit/e8d382a83e899d21621e50fd27ade67ade1c1be5\"\u003e\u003ccode\u003ee8d382a\u003c/code\u003e\u003c/a\u003e Version 5.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ae5bc380b9adf6ca0fbbf7f4f67d8695541dd646\"\u003e\u003ccode\u003eae5bc38\u003c/code\u003e\u003c/a\u003e Publish a gem for JRuby as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/daa0e8712f41ba088b9af63cffd2328aefe6548b\"\u003e\u003ccode\u003edaa0e87\u003c/code\u003e\u003c/a\u003e Version 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/fa6a2c9f07ca47a614d7dcf6ecb71d2dc39287af\"\u003e\u003ccode\u003efa6a2c9\u003c/code\u003e\u003c/a\u003e Add a workflow for trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/85a4f10332a6b25b7b807a67447bb9bbfc00f3c3\"\u003e\u003ccode\u003e85a4f10\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/89\"\u003e#89\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/c231ced3f4c1b6e1b2a41215a45d4df54f44cb10\"\u003e\u003ccode\u003ec231ced\u003c/code\u003e\u003c/a\u003e html_escape: refactor redundant if (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/88\"\u003e#88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `formatador` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geemus/formatador/blob/master/changelog.txt\"\u003eformatador's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev1.2.2 10/28/25\u003c/h1\u003e\n\u003cp\u003eadd faint\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/geemus/formatador/commit/6cbf36083a8acde5ccbe90e08f2229d6ffe63b42\"\u003e\u003ccode\u003e6cbf360\u003c/code\u003e\u003c/a\u003e Release 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geemus/formatador/commit/9dd7df2195e9a27b2de54b90dfffe56ef8572dda\"\u003e\u003ccode\u003e9dd7df2\u003c/code\u003e\u003c/a\u003e v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geemus/formatador/commit/53aaef72936e377ac5a07dafcb1720ae5ba67ec9\"\u003e\u003ccode\u003e53aaef7\u003c/code\u003e\u003c/a\u003e add faint\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/geemus/formatador/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `irb` from 1.15.2 to 1.15.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/legal-framework-api/pull/1621","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flegal-framework-api/issues/1621","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1621/packages"},{"uuid":"3581011474","node_id":"PR_kwDOGhhTbc6xIjAv","number":34,"state":"closed","title":"Bump activemodel from 8.0.3 to 8.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T09:48:24.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-03T08:12:45.000Z","updated_at":"2026-01-12T09:48:26.000Z","time_to_close":6053739,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/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\"\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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=activemodel\u0026package-manager=bundler\u0026previous-version=8.0.3\u0026new-version=8.1.1)](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/citizensadvice/ruby-gem-strong_attributes/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/citizensadvice%2Fruby-gem-strong_attributes/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"},{"uuid":"3567281907","node_id":"PR_kwDONoS3iM6wcIR1","number":143,"state":"closed","title":"Bump activemodel from 8.0.3 to 8.0.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-30T22:31:54.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-29T18:16:24.000Z","updated_at":"2025-10-30T22:31:56.000Z","time_to_close":101730,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.0.3 to 8.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.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=activemodel\u0026package-manager=bundler\u0026previous-version=8.0.3\u0026new-version=8.0.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 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/cpmurphy/bookmarks/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpmurphy%2Fbookmarks/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"}],"issue_packages":[{"old_version":"8.0.4.1","new_version":"8.1.3","update_type":"minor","path":null,"pr_created_at":"2026-03-30T08:48:50.000Z","version_change":"8.0.4.1 → 8.1.3","issue":{"uuid":"4168827877","node_id":"PR_kwDOGhhTbc7Oilse","number":42,"state":"closed","title":"Bump activemodel from 8.0.4.1 to 8.1.3","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-07T09:33:10.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-30T08:48:50.000Z","updated_at":"2026-04-07T09:33:19.000Z","time_to_close":693860,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.0.4.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.0.4.1 to 8.1.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdward Woodcock\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\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\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5a3d7d903aba1219f394259c2d9c02949b1b5cd7\"\u003e\u003ccode\u003e5a3d7d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56943\"\u003e#56943\u003c/a\u003e from yahonda/ruby-16321\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/034ca73253a001be8cce523812559012ac341fb8\"\u003e\u003ccode\u003e034ca73\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56867\"\u003e#56867\u003c/a\u003e from hammadxcm/fix-ruby4-delegator-inspect-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6c23f3bd4e252619010bb13ab2570faa5000ed55\"\u003e\u003ccode\u003e6c23f3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56768\"\u003e#56768\u003c/a\u003e from RemoteCTO/fix/integer-type-marshal-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4.1...v8.1.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=activemodel\u0026package-manager=bundler\u0026previous-version=8.0.4.1\u0026new-version=8.1.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 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/citizensadvice/ruby-gem-strong_attributes/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/citizensadvice%2Fruby-gem-strong_attributes/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"}},{"old_version":"8.1.2.1","new_version":"8.1.3","update_type":"patch","path":null,"pr_created_at":"2026-03-25T12:33:45.000Z","version_change":"8.1.2.1 → 8.1.3","issue":{"uuid":"4135090950","node_id":"PR_kwDOAeBT_c7NVYY2","number":178,"state":"open","title":"[bundler] Bump the rails group with 4 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-25T12:33:45.000Z","updated_at":"2026-03-25T12:34:04.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[bundler] Bump","group_name":"rails","update_count":4,"packages":[{"name":"activemodel","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.1.2.1","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 4 updates: [activemodel](https://github.com/rails/rails), [activesupport](https://github.com/rails/rails), [actionpack](https://github.com/rails/rails) and [actionview](https://github.com/rails/rails).\n\nUpdates `activemodel` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdward Woodcock\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5a3d7d903aba1219f394259c2d9c02949b1b5cd7\"\u003e\u003ccode\u003e5a3d7d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56943\"\u003e#56943\u003c/a\u003e from yahonda/ruby-16321\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/034ca73253a001be8cce523812559012ac341fb8\"\u003e\u003ccode\u003e034ca73\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56867\"\u003e#56867\u003c/a\u003e from hammadxcm/fix-ruby4-delegator-inspect-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6c23f3bd4e252619010bb13ab2570faa5000ed55\"\u003e\u003ccode\u003e6c23f3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56768\"\u003e#56768\u003c/a\u003e from RemoteCTO/fix/integer-type-marshal-compat\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\n  inflect.acronym \u0026quot;USD\u0026quot;\n  inflect.acronym \u0026quot;USDC\u0026quot;\nend\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c315744f2001bdd5cba32d43274adca50b71e289\"\u003e\u003ccode\u003ec315744\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56889\"\u003e#56889\u003c/a\u003e from alpaca-tc/support-spring-on-test-environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2ac86a8a9e32fff6bfaacd199957ba4ace0a2256\"\u003e\u003ccode\u003e2ac86a8\u003c/code\u003e\u003c/a\u003e Revert benchmark.rb to a silent shim (\u003ca href=\"https://redirect.github.com/rails/rails/issues/56832\"\u003e#56832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8e8c95511610c6316084ccd9bc098acfd5e163b8\"\u003e\u003ccode\u003e8e8c955\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56785\"\u003e#56785\u003c/a\u003e from drsharp/dan/fix-json-encoder-bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/38e8df6a5a3244e5a239e33c3a08ed0c52791b73\"\u003e\u003ccode\u003e38e8df6\u003c/code\u003e\u003c/a\u003e Fix activesupport/CHANGELOG.md offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5266eee6c69972b629cbcdeed8ad34d5410de14\"\u003e\u003ccode\u003ef5266ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56679\"\u003e#56679\u003c/a\u003e from Saidbek/fix-overlapping-acronyms-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8080d2d6bbbc8d534d2ba57623b8bcf90f7e0caf\"\u003e\u003ccode\u003e8080d2d\u003c/code\u003e\u003c/a\u003e Fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/594357c4bc3ee1aae1b9413715f99407352e7c19\"\u003e\u003ccode\u003e594357c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56652\"\u003e#56652\u003c/a\u003e from zzak/re-56588\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/055902a00e777d6ed5be51c73181d54aa1251e0a\"\u003e\u003ccode\u003e055902a\u003c/code\u003e\u003c/a\u003e Handle Ruby 4.1 stabby lambda in Proc#source_location start_column\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/10c6e0eb362d4cd437ea092deb86e67f0d243dfc\"\u003e\u003ccode\u003e10c6e0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56750\"\u003e#56750\u003c/a\u003e from nicolasva/fix/UnknownHttpMethod\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cce61db5a22f94e8e820b3d2bf3d96cf0db9412a\"\u003e\u003ccode\u003ecce61db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56820\"\u003e#56820\u003c/a\u003e from ybiquitous/improve-apidoc-for-ActionDispatch_I...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.1.2.1 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix encoding errors for string locals containing non-ASCII characters.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eKataoka Katsuki\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix collection caching to only forward \u003ccode\u003eexpires_in\u003c/code\u003e argument if explicitly set.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePieter Visser\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e598b9427876ba44bd62c48390e6568476b3f8f0\"\u003e\u003ccode\u003ee598b94\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56906\"\u003e#56906\u003c/a\u003e from kataokatsuki/fix-strict-locals-non-ascii-encoding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c2ea79c21161de7eb271b2789fbed21dde504071\"\u003e\u003ccode\u003ec2ea79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56891\"\u003e#56891\u003c/a\u003e from pietervisser/fix-collection-caching-to-preserv...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2.1...v8.1.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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003c!-- CURSOR_SUMMARY --\u003e\n---\n\n\u003e [!NOTE]\n\u003e **Low Risk**\n\u003e Lockfile-only dependency updates to Rails patch releases and `json` patch version; main risk is unexpected upstream behavior changes in framework internals.\n\u003e \n\u003e **Overview**\n\u003e Updates `Gemfile.lock` to bump the Rails framework gems (`actionpack`, `actionview`, `activemodel`, `activesupport`) from `8.1.2.1` to `8.1.3`, including refreshed checksums.\n\u003e \n\u003e Also bumps the `json` gem from `2.19.2` to `2.19.3`.\n\u003e \n\u003e \u003csup\u003eWritten by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 3ac7be5462b12fd672a340cddd579bbe16ff2ae5. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).\u003c/sup\u003e\n\u003c!-- /CURSOR_SUMMARY --\u003e","html_url":"https://github.com/guideline-tech/subroutine/pull/178","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/guideline-tech%2Fsubroutine/issues/178","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/178/packages"}},{"old_version":"8.0.4","new_version":"8.0.5","update_type":"patch","path":null,"pr_created_at":"2026-03-24T21:03:20.000Z","version_change":"8.0.4 → 8.0.5","issue":{"uuid":"4130635026","node_id":"PR_kwDOAHOAqs7NIn70","number":38840,"state":"open","title":"DEPS: Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-24T21:03:20.000Z","updated_at":"2026-03-24T21:03:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.4","new_version":"8.0.5","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [actionpack](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [actionview](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activemodel](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activerecord](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activesupport](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [railties](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n| [activejob](https://github.com/rails/rails) | `8.0.4` | `8.0.5` |\n\n\nUpdates `actionmailer` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/actionmailer/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `actionpack` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/actionpack/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `actionview` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/actionview/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activemodel` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activerecord` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activerecord/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activesupport` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activesupport/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `railties` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/railties/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)\n\nUpdates `activejob` from 8.0.4 to 8.0.5\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activejob/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.4...v8.0.5)","html_url":"https://github.com/discourse/discourse/pull/38840","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/discourse%2Fdiscourse/issues/38840","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38840/packages"}},{"old_version":"8.1.1","new_version":"8.1.2","update_type":"patch","path":null,"pr_created_at":"2026-01-28T14:03:54.000Z","version_change":"8.1.1 → 8.1.2","issue":{"uuid":"3865620029","node_id":"PR_kwDOLpPq886_3ZBc","number":107,"state":"closed","title":"Bump the bundler group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-04-01T02:08:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-28T14:03:54.000Z","updated_at":"2026-04-01T02:08:02.000Z","time_to_close":5400246,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":9,"packages":[{"name":"debug","old_version":"1.11.0","new_version":"1.11.1","repository_url":"https://github.com/ruby/debug"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"rubocop-govuk","old_version":"5.1.20","new_version":"5.2.0","repository_url":"https://github.com/alphagov/rubocop-govuk"},{"name":"rubocop-performance","old_version":"1.26.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"webmock","old_version":"3.26.0","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"json-schema","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/voxpupuli/json-schema"},{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [debug](https://github.com/ruby/debug) | `1.11.0` | `1.11.1` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [rubocop-govuk](https://github.com/alphagov/rubocop-govuk) | `5.1.20` | `5.2.0` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.26.0` | `1.26.1` |\n| [webmock](https://github.com/bblimke/webmock) | `3.26.0` | `3.26.1` |\n| [json-schema](https://github.com/voxpupuli/json-schema) | `6.0.0` | `6.1.0` |\n| [activemodel](https://github.com/rails/rails) | `8.1.1` | `8.1.2` |\n\n\nUpdates `debug` from 1.11.0 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecommand\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eb path: path_pattern\u003c/code\u003e is accepted in \u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003ehttps://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003efix\n\u003cul\u003e\n\u003cli\u003ecatch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1163\"\u003eruby/debug#1163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eKernel.__callee__\u003c/code\u003e by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1164\"\u003eruby/debug#1164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFileUtils is needed by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1168\"\u003eruby/debug#1168\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ecatch up Ruby 4.0\n\u003cul\u003e\n\u003cli\u003eUpdate imemo_mask to match ruby's by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebacktrace changes \u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003ehttps://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eremote\n\u003cul\u003e\n\u003cli\u003efix(DAP): Return unverified breakpoints instead of unsuccessful response by \u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003emisc\n\u003cul\u003e\n\u003cli\u003eomit on older version by \u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1167\"\u003eruby/debug#1167\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1151\"\u003eruby/debug#1151\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dmlambo\"\u003e\u003ccode\u003e@​dmlambo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/debug/pull/1161\"\u003eruby/debug#1161\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ehttps://github.com/ruby/debug/compare/v1.11.0...v1.11.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/bad4d38f8330219b62f2b253d59146f5a71fd39a\"\u003e\u003ccode\u003ebad4d38\u003c/code\u003e\u003c/a\u003e v1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/88d762c8c9b157e3a2627ac3de0df1d5cb8dace5\"\u003e\u003ccode\u003e88d762c\u003c/code\u003e\u003c/a\u003e FileUtils is needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/553373a59f655177dabb2cef952ad1fae1d55fa4\"\u003e\u003ccode\u003e553373a\u003c/code\u003e\u003c/a\u003e omit on older version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/c1c1c8e2533096e82d2888170f18d7cc990407fd\"\u003e\u003ccode\u003ec1c1c8e\u003c/code\u003e\u003c/a\u003e use \u003ccode\u003eKernel.__callee__\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/24f95d637d96d92eb249e1ca45f3550832b5307f\"\u003e\u003ccode\u003e24f95d6\u003c/code\u003e\u003c/a\u003e catch up 4.0.0 backtrace change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/bc97d3387deb4357419e9ebc6c40f809d1858527\"\u003e\u003ccode\u003ebc97d33\u003c/code\u003e\u003c/a\u003e add a test for \u003ccode\u003eb path: ...\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/1139d781ffde33a1ae6de04e718269cf8e4b0d09\"\u003e\u003ccode\u003e1139d78\u003c/code\u003e\u003c/a\u003e support \u003ccode\u003eb path: path_expr\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/06342cd77a11af814c91726f7e5bc3f1974be9df\"\u003e\u003ccode\u003e06342cd\u003c/code\u003e\u003c/a\u003e catch any exception on \u003ccode\u003esingletonclass\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/2791573fd24aef2091cbb30aa8750f3117781752\"\u003e\u003ccode\u003e2791573\u003c/code\u003e\u003c/a\u003e fix(DAP): Return unverified breakpoints instead of unsuccessful response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/debug/commit/14c8a546242a5e88ed8f47607629ffbef7d3315d\"\u003e\u003ccode\u003e14c8a54\u003c/code\u003e\u003c/a\u003e Update imemo_mask to match ruby's\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/debug/compare/v1.11.0...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pry` from 0.15.2 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/releases\"\u003epry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.16.0\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pry/pry/pull/2343\"\u003epry/pry#2343\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ehttps://github.com/pry/pry/compare/v0.15.2...v0.16.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/blob/master/CHANGELOG.md\"\u003epry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/pry/pry/blob/master/v0.16.0\"\u003ehttps://github.com/pry/pry/blob/master/v0.16.0\u003c/a\u003e (December 26, 2025)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/5a267df08ad6a69dcb890733a2765b47585439c8\"\u003e\u003ccode\u003e5a267df\u003c/code\u003e\u003c/a\u003e v0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/538b15043c66e18ff98d1948b7fd1c22a73b042b\"\u003e\u003ccode\u003e538b150\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/0a7ab20e34feb3f7952c47392b2a8030c5f161ce\"\u003e\u003ccode\u003e0a7ab20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2361\"\u003e#2361\u003c/a\u003e from andrehjr/remove-outdated-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/8dcb2c82fffdb846b961f5d1e555dba3e9450ab5\"\u003e\u003ccode\u003e8dcb2c8\u003c/code\u003e\u003c/a\u003e Remove pinned method_source version for Ruby \u0026lt; 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/fc9969bca186a252b1a43d85b663f4352bc8b6ec\"\u003e\u003ccode\u003efc9969b\u003c/code\u003e\u003c/a\u003e Remove psych pinned version from Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/23b3ed6b737d190f95abaf30478a749c6b8d9b95\"\u003e\u003ccode\u003e23b3ed6\u003c/code\u003e\u003c/a\u003e Remove hardcoded require for rubocop \u0026gt; 2.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/e9ac449c1d7a3607a87d15d6be19d7a6be3645ad\"\u003e\u003ccode\u003ee9ac449\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2349\"\u003e#2349\u003c/a\u003e from andrehjr/no-readline-installed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/679249bc189c3bd7fb187dc174a08a3ff88ec1da\"\u003e\u003ccode\u003e679249b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2359\"\u003e#2359\u003c/a\u003e from andrehjr/remove-experiental-autoresize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/17d5954f7ea2ebddb38a9af9f1987d2997d0e62b\"\u003e\u003ccode\u003e17d5954\u003c/code\u003e\u003c/a\u003e Remove experimental Pry.auto_resize!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/090822bcabcedba392ceaea5b4549d04c2cab7dd\"\u003e\u003ccode\u003e090822b\u003c/code\u003e\u003c/a\u003e Pry will only support Ruby 2.6+ form now on\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-govuk` from 5.1.20 to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alphagov/rubocop-govuk/blob/main/CHANGELOG.md\"\u003erubocop-govuk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/2c68c963afbae8ac53a1a3d06dd81569f1bfea1e\"\u003e\u003ccode\u003e2c68c96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/578\"\u003e#578\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/63e1db23a57ada1a64aef85f9d47cef898753d0f\"\u003e\u003ccode\u003e63e1db2\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.284.0 to 1.286.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/cb59fb73abfb010ea000ed53dcc84a3e20c28974\"\u003e\u003ccode\u003ecb59fb7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/576\"\u003e#576\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/49aa424143311b7c0471c6def1842dede89a2e14\"\u003e\u003ccode\u003e49aa424\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.282.0 to 1.284.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/58ff3290bf5c267d0228d0910fa0bc92a405ec81\"\u003e\u003ccode\u003e58ff329\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/574\"\u003e#574\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/cff09c07313096b5fe5c4af7a17b37031757efbe\"\u003e\u003ccode\u003ecff09c0\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.280.0 to 1.282.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/a6d2aedf0262e633076d23b47069957f843f6e52\"\u003e\u003ccode\u003ea6d2aed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/570\"\u003e#570\u003c/a\u003e from alphagov/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/f0adfc8ef16421da2a0e9eb27d9477e342c9f7ca\"\u003e\u003ccode\u003ef0adfc8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alphagov/rubocop-govuk/issues/571\"\u003e#571\u003c/a\u003e from alphagov/dependabot/bundler/rubocop-rspec-eq-3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/23f0fb8c33c52e91f043cf89d9f6a4935d1ae71b\"\u003e\u003ccode\u003e23f0fb8\u003c/code\u003e\u003c/a\u003e Update rubocop-rspec requirement from = 3.8.0 to = 3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alphagov/rubocop-govuk/commit/d85fe6167552b150e9d89ffeb5d1d8265754c986\"\u003e\u003ccode\u003ed85fe61\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.279.0 to 1.280.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/alphagov/rubocop-govuk/compare/v5.1.20...v5.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-performance` from 1.26.0 to 1.26.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-performance/releases\"\u003erubocop-performance's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop Performance v1.26.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/517\"\u003e#517\u003c/a\u003e: Fix false positives for \u003ccode\u003ePerformance/RedundantStringChars\u003c/code\u003e when using \u003ccode\u003estr.chars[0, 2]\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/520\"\u003e#520\u003c/a\u003e: Disable \u003ccode\u003ePerformance/BigDecimalWithNumericArgument\u003c/code\u003e by default. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-performance/blob/master/CHANGELOG.md\"\u003erubocop-performance's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.26.1 (2025-10-18)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/517\"\u003e#517\u003c/a\u003e: Fix false positives for \u003ccode\u003ePerformance/RedundantStringChars\u003c/code\u003e when using \u003ccode\u003estr.chars[0, 2]\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/520\"\u003e#520\u003c/a\u003e: Disable \u003ccode\u003ePerformance/BigDecimalWithNumericArgument\u003c/code\u003e by default. ([\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/4783c90f850b7d5c4f139ffcec299d76a9211d3a\"\u003e\u003ccode\u003e4783c90\u003c/code\u003e\u003c/a\u003e Cut 1.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/d3f18064f440cd827b4396ce6c8016f439ba38d9\"\u003e\u003ccode\u003ed3f1806\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/a63df04247c81ce5829016bf035688415e623b2f\"\u003e\u003ccode\u003ea63df04\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/521\"\u003e#521\u003c/a\u003e from Earlopain/disable-bigdecimal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/7a5499fadf3f63a3e328a1f9904fba8022a625b0\"\u003e\u003ccode\u003e7a5499f\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/520\"\u003e#520\u003c/a\u003e] Disable \u003ccode\u003ePerformance/BigDecimalWithNumericArgument\u003c/code\u003e by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/03a607173ad2f11acb355fa9a339bdaa807b97a4\"\u003e\u003ccode\u003e03a6071\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/518\"\u003e#518\u003c/a\u003e from koic/fix_false_positives_for_performance_redunda...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/a1ef194bf4064f5b5f09842f90698532fb688d1d\"\u003e\u003ccode\u003ea1ef194\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/517\"\u003e#517\u003c/a\u003e] Fix false positives for \u003ccode\u003ePerformance/RedundantStringChars\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/6e1afeb8b19b48fd0b6f255bada2a002c2dee426\"\u003e\u003ccode\u003e6e1afeb\u003c/code\u003e\u003c/a\u003e Tweak bug report template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/60ff474251651f7669666cd3b31a73d481c3e0d8\"\u003e\u003ccode\u003e60ff474\u003c/code\u003e\u003c/a\u003e Suppress RuboCop's offense\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/955429a9097425b5114abc67a814eb4f2a393913\"\u003e\u003ccode\u003e955429a\u003c/code\u003e\u003c/a\u003e Switch back docs version to master\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rubocop/rubocop-performance/compare/v1.26.0...v1.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webmock` from 3.26.0 to 3.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/blob/master/CHANGELOG.md\"\u003ewebmock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.26.1\u003c/h1\u003e\n\u003cp\u003eFix compatibility with recent async-http versions\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eThanks to [Mikhail Doronin](https://github.com/misdoro)\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/bblimke/webmock/commit/56cb661b6aa2e711bcf3eb1e3a921a35727e7972\"\u003e\u003ccode\u003e56cb661\u003c/code\u003e\u003c/a\u003e Version 3.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/ea4cea3f01c7ec9019b7eae27a94f0f101e2ed26\"\u003e\u003ccode\u003eea4cea3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1109\"\u003e#1109\u003c/a\u003e from misdoro/duplicate_headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/c05fe472629da6ea6fc0ca065ce3bcafbfc56229\"\u003e\u003ccode\u003ec05fe47\u003c/code\u003e\u003c/a\u003e Split SAMPLE_REQUEST_HEADERS and SAMPLE_RESPONSE_HEADERS to be more realistic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/5f46ecabc3f4324ddde7ac4a948cc44145202828\"\u003e\u003ccode\u003e5f46eca\u003c/code\u003e\u003c/a\u003e Fix specs with recent Async-http versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/aa747ba5328a5fba500a16e54d3e1848106e1b0b\"\u003e\u003ccode\u003eaa747ba\u003c/code\u003e\u003c/a\u003e Run CI on pushes to all branches\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bblimke/webmock/compare/3.26.0...v3.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `i18n` from 1.14.7 to 1.14.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-i18n/i18n/releases\"\u003ei18n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.14.8\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unused \u003ccode\u003ecgi\u003c/code\u003e require for Ruby 3.5 compatibility by \u003ca href=\"https://github.com/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/713\"\u003eruby-i18n/i18n#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicitly require \u003ccode\u003epathname\u003c/code\u003e by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/708\"\u003eruby-i18n/i18n#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Add Ruby 3.4 to CI Matrix by \u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/722\"\u003eruby-i18n/i18n#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix: I18n.locale reset in Fiber context by using Thread#thread_variable by \u003ca href=\"https://github.com/lee266\"\u003e\u003ccode\u003e@​lee266\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/724\"\u003eruby-i18n/i18n#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Use actions/checkout@v5 by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/721\"\u003eruby-i18n/i18n#721\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix compatibility with \u003ccode\u003e--enable-frozen-string-literal\u003c/code\u003e 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-i18n/i18n/pull/726\"\u003eruby-i18n/i18n#726\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/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/713\"\u003eruby-i18n/i18n#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/taketo1113\"\u003e\u003ccode\u003e@​taketo1113\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/722\"\u003eruby-i18n/i18n#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lee266\"\u003e\u003ccode\u003e@​lee266\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/724\"\u003eruby-i18n/i18n#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/726\"\u003eruby-i18n/i18n#726\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/f2fb6a5766dee835082eb74ee83f52e0a6479573\"\u003e\u003ccode\u003ef2fb6a5\u003c/code\u003e\u003c/a\u003e Bump to 1.14.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/ef622532786dabf0c525a5c03ea258a9247702ba\"\u003e\u003ccode\u003eef62253\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/726\"\u003e#726\u003c/a\u003e from byroot/fstr-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/002201342c44d31e8b51da3696ba9e7ac1278038\"\u003e\u003ccode\u003e0022013\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into fstr-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/dee96b6bace0fa76b1f655f224a2a8148a11a92c\"\u003e\u003ccode\u003edee96b6\u003c/code\u003e\u003c/a\u003e Remove testing for EOL Rubies 3.1 + 3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/c6873f934bc0ad86b8651f4ed22c9fce347c9752\"\u003e\u003ccode\u003ec6873f9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'olleolleolle/patch-1'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/2134338ee8c4657bb18326cdb850cf2810a9aadc\"\u003e\u003ccode\u003e2134338\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/724\"\u003e#724\u003c/a\u003e from lee266/fix/i18n-locale-thread-variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/3f9ae644a554ada9e93d5943624f2d0e390c93ba\"\u003e\u003ccode\u003e3f9ae64\u003c/code\u003e\u003c/a\u003e Fix compatibility with \u003ccode\u003e--enable-frozen-string-literal\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d64a88da60545bfbbd5c08ee970bb5c2262cf193\"\u003e\u003ccode\u003ed64a88d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/722\"\u003e#722\u003c/a\u003e from taketo1113/ci-ruby-3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/0e5484f68d5745effa1f7a8625984e7f56089cb3\"\u003e\u003ccode\u003e0e5484f\u003c/code\u003e\u003c/a\u003e CI: Fix rails version specification in gemfiles to run with the specified min...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/960ab2b6289baecef433faaf35feebf49ece2779\"\u003e\u003ccode\u003e960ab2b\u003c/code\u003e\u003c/a\u003e CI: Add ruby 3.4 to CI Matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.7...v1.14.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json-schema` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/voxpupuli/json-schema/releases\"\u003ejson-schema's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features 🎉\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eminitest: Allow 6.x by \u003ca href=\"https://github.com/bastelfreak\"\u003e\u003ccode\u003e@​bastelfreak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/558\"\u003evoxpupuli/json-schema#558\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebigdecimal: Allow 4.x by \u003ca href=\"https://github.com/bastelfreak\"\u003e\u003ccode\u003e@​bastelfreak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/557\"\u003evoxpupuli/json-schema#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003evoxpupuli-rubocop: Update 4.2.0-\u0026gt;5.1.0 by \u003ca href=\"https://github.com/bastelfreak\"\u003e\u003ccode\u003e@​bastelfreak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/559\"\u003evoxpupuli/json-schema#559\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.1.0\"\u003ehttps://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.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/voxpupuli/json-schema/blob/master/CHANGELOG.md\"\u003ejson-schema's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/tree/v6.1.0\"\u003ev6.1.0\u003c/a\u003e (2025-12-21)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.1.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eImplemented enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003evoxpupuli-rubocop: Update 4.2.0-\u0026gt;5.1.0 \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/559\"\u003e#559\u003c/a\u003e (\u003ca href=\"https://github.com/bastelfreak\"\u003ebastelfreak\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eminitest: Allow 6.x \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/558\"\u003e#558\u003c/a\u003e (\u003ca href=\"https://github.com/bastelfreak\"\u003ebastelfreak\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebigdecimal: Allow 4.x \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/pull/557\"\u003e#557\u003c/a\u003e (\u003ca href=\"https://github.com/bastelfreak\"\u003ebastelfreak\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/voxpupuli/json-schema/commit/233ce0541ea9bd3144df21959018097d32cc749b\"\u003e\u003ccode\u003e233ce05\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/560\"\u003e#560\u003c/a\u003e from bastelfreak/rel610\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/5b831307f5fb496d0952b3d688dcf77b28bea95e\"\u003e\u003ccode\u003e5b83130\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/54a97e9b9884a64c73b1a41dc5750d14a6a24c53\"\u003e\u003ccode\u003e54a97e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/559\"\u003e#559\u003c/a\u003e from bastelfreak/vpr\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/ccf25072884ac807b54100fd629f26bfb1dc8f90\"\u003e\u003ccode\u003eccf2507\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/557\"\u003e#557\u003c/a\u003e from bastelfreak/bigd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/13a5e52e3c33d880003a2ad65f3174a0795e3a3f\"\u003e\u003ccode\u003e13a5e52\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/558\"\u003e#558\u003c/a\u003e from bastelfreak/minitest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/659c4cf83772867b9a37a47b251c065f4f31a937\"\u003e\u003ccode\u003e659c4cf\u003c/code\u003e\u003c/a\u003e rubocop: autofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/82a393e3dd8d3feba756dd718b6778218671e2bd\"\u003e\u003ccode\u003e82a393e\u003c/code\u003e\u003c/a\u003e voxpupuli-rubocop: Update 4.2.0-\u0026gt;5.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/8d6257d2d324f5ad202bb803cc5e24d566688bad\"\u003e\u003ccode\u003e8d6257d\u003c/code\u003e\u003c/a\u003e minitest: Allow 6.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/9f52b34a54a9063aace89edeb3caf1e96acee851\"\u003e\u003ccode\u003e9f52b34\u003c/code\u003e\u003c/a\u003e bigdecimal: Allow 4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxpupuli/json-schema/commit/45b88569582f296a600c702ddc2640f14d4b13a8\"\u003e\u003ccode\u003e45b8856\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/voxpupuli/json-schema/issues/555\"\u003e#555\u003c/a\u003e from voxpupuli/dependabot/github_actions/actions/uplo...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/voxpupuli/json-schema/compare/v6.0.0...v6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c86465f65278d2a6200424d2853fc848a0e01356\"\u003e\u003ccode\u003ec86465f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56353\"\u003e#56353\u003c/a\u003e from rails/rmf-delegation-basic-object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fce726b75e5e2f09511cafe2142df35c7bf96921\"\u003e\u003ccode\u003efce726b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56344\"\u003e#56344\u003c/a\u003e from Saidbek/fix-inflections-fallback-to-en-locale\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/efd9bd99503c4e553aceeba7739e8f20be3ed321\"\u003e\u003ccode\u003eefd9bd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56324\"\u003e#56324\u003c/a\u003e from jeremyevans/activesupport-uri-require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/81dca9cc388b7426cfcd39e34e3bc57fd287b74b\"\u003e\u003ccode\u003e81dca9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56285\"\u003e#56285\u003c/a\u003e from markokajzer/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a5c1af3b94b41f352d4f0d649375f92bfef18b74\"\u003e\u003ccode\u003ea5c1af3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56294\"\u003e#56294\u003c/a\u003e from fatkodima/fix-mem_cache_store-newer-connection...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/923f8e915e3b738a07be750d3344880df5673103\"\u003e\u003ccode\u003e923f8e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56292\"\u003e#56292\u003c/a\u003e from fatkodima/fix-redis_cache_store-newer-connecti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.","html_url":"https://github.com/ministryofjustice/laa-crime-forms-common/pull/107","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-crime-forms-common/issues/107","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/107/packages"}},{"old_version":"8.1.1","new_version":"8.1.2","update_type":"patch","path":null,"pr_created_at":"2026-01-09T18:03:20.000Z","version_change":"8.1.1 → 8.1.2","issue":{"uuid":"3797863414","node_id":"PR_kwDOBBJCIM68YOFj","number":287,"state":"closed","title":"Bump the dependencies group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-13T18:03:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T18:03:20.000Z","updated_at":"2026-01-13T18:03:47.000Z","time_to_close":345625,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":15,"packages":[{"name":"railties","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"},{"name":"rails","old_version":"8.1.1","new_version":"8.1.2"},{"name":"rubocop-rspec","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"actioncable","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionmailbox","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionmailer","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionpack","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actiontext","old_version":"8.1.1","new_version":"8.1.2"},{"name":"actionview","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activejob","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activerecord","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activestorage","old_version":"8.1.1","new_version":"8.1.2"},{"name":"activesupport","old_version":"8.1.1","new_version":"8.1.2"},{"name":"thor","old_version":"1.4.0","new_version":"1.5.0"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 2 updates in the / directory: [railties](https://github.com/rails/rails) and [rubocop-rspec](https://github.com/rubocop/rubocop-rspec).\n\nUpdates `railties` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSkip all system test files on app generation.\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\u003eFix \u003ccode\u003edb:system:change\u003c/code\u003e to correctly update Dockerfile base packages.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJosiah Smith\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix devcontainer volume mount when app name differs from folder name.\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\u003eFixed the \u003ccode\u003erails notes\u003c/code\u003e command to properly extract notes in CSS files.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDavid White\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed the default Dockerfile to properly include the \u003ccode\u003evendor/\u003c/code\u003e directory during \u003ccode\u003ebundle install\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eZhong Sheng\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2bebf4fe0cbddebd3c3d3c373ee99af0bae5f040\"\u003e\u003ccode\u003e2bebf4f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56488\"\u003e#56488\u003c/a\u003e from zzak/re-56365\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/abd3a1b758e69df4af4b881aa07c424f9a4fc0e0\"\u003e\u003ccode\u003eabd3a1b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56416\"\u003e#56416\u003c/a\u003e from byroot/railties-ci-bin-test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/660af7197e62d0ee8300992e311c7eeb16172205\"\u003e\u003ccode\u003e660af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56412\"\u003e#56412\u003c/a\u003e from davidrhyswhite/fix-css-note-comments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/18529e3eb07be69113c951532e773543593bbd8b\"\u003e\u003ccode\u003e18529e3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56365\"\u003e#56365\u003c/a\u003e from jeromedalbert/include-prerelease-string-in-rub...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8effe8e09a62e721afdb181c401f2514a53e0095\"\u003e\u003ccode\u003e8effe8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56323\"\u003e#56323\u003c/a\u003e from jeromedalbert/check-yml-no-double-lines\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/695ac6d83e14d85c131dc4bbad04e9d9cd22676c\"\u003e\u003ccode\u003e695ac6d\u003c/code\u003e\u003c/a\u003e Update Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/01263f18e8cd1f9443fe50940682b89ad862450e\"\u003e\u003ccode\u003e01263f1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56512\"\u003e#56512\u003c/a\u003e from byroot/remove-minitest-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d3fe83ff97d86480103c8757f055f6903612505b\"\u003e\u003ccode\u003ed3fe83f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56541\"\u003e#56541\u003c/a\u003e from rails/remove-system-test-from-default-ci-template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d2509f864aed30800b9e6d305831a62c825033a5\"\u003e\u003ccode\u003ed2509f8\u003c/code\u003e\u003c/a\u003e Allow backburner warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c48fd1c1e0a66217e03fe227197dd7b8ff0fc3c\"\u003e\u003ccode\u003e8c48fd1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56535\"\u003e#56535\u003c/a\u003e from eglitobias/8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-rspec` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/releases\"\u003erubocop-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop RSpec v3.9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). (\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. (\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). (\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. (\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md\"\u003erubocop-rspec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0 (2026-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). ([\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. ([\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). ([\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. ([\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/f7aecf0580cda23bd5b25c3cfddddefabb6228bc\"\u003e\u003ccode\u003ef7aecf0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2151\"\u003e#2151\u003c/a\u003e from rubocop/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/893a25b941233616ee055201917bcb25781ce522\"\u003e\u003ccode\u003e893a25b\u003c/code\u003e\u003c/a\u003e Bump version to 3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/91ad43dfa70d99b8d9637526a00e7cb69ace1af1\"\u003e\u003ccode\u003e91ad43d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2150\"\u003e#2150\u003c/a\u003e from kevinrobell-st/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/802b3863b24c1d55c9efcb40912bcfd36b9eb075\"\u003e\u003ccode\u003e802b386\u003c/code\u003e\u003c/a\u003e Fix CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/a03e0c7ea939b279b2df7f9bd6ad001d47524f64\"\u003e\u003ccode\u003ea03e0c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2149\"\u003e#2149\u003c/a\u003e from rubocop/ci-test-ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/68f25d9d79d280ae1859c876638b2ac3a1f51d57\"\u003e\u003ccode\u003e68f25d9\u003c/code\u003e\u003c/a\u003e Temporarily add irb to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b9e50b86916704e039ab60966684943ad82780bb\"\u003e\u003ccode\u003eb9e50b8\u003c/code\u003e\u003c/a\u003e CI: Test with Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b63bcd80ceba07294f5507ebd4692a54a9ebeb09\"\u003e\u003ccode\u003eb63bcd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2148\"\u003e#2148\u003c/a\u003e from sucicfilip/fix-described-class-inside-eval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/278245a100f00a923bab3e2e0acac5cd5d7b7b46\"\u003e\u003ccode\u003e278245a\u003c/code\u003e\u003c/a\u003e Fix RSpec/DescribedClass to ignore *_eval and *_exec blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/ca18f5e7e9abc08bfd826c6e1b66963b48db5d71\"\u003e\u003ccode\u003eca18f5e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2144\"\u003e#2144\u003c/a\u003e from rubocop/dont-use-ruby-version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rspec/compare/v3.8.0...v3.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dc94813e8151d0b56ec6c48b4db861cc7a666a8e\"\u003e\u003ccode\u003edc94813\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56050\"\u003e#56050\u003c/a\u003e from jclusso/fix-stylesheet-tag-nonce-mailer\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003econfig.action_controller.live_streaming_excluded_keys\u003c/code\u003e to control execution state sharing in ActionController::Live.\u003c/p\u003e\n\u003cp\u003eWhen using ActionController::Live, actions are executed in a separate thread that shares\nstate from the parent thread. This new configuration allows applications to opt-out specific\nstate keys that should not be shared.\u003c/p\u003e\n\u003cp\u003eThis is useful when streaming inside a \u003ccode\u003econnected_to\u003c/code\u003e block, where you may want\nthe streaming thread to use its own database connection context.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# config/application.rb\nconfig.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eBy default, all keys are shared.\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\u003eFix \u003ccode\u003eIpSpoofAttackError\u003c/code\u003e message to include \u003ccode\u003eForwarded\u003c/code\u003e header content.\u003c/p\u003e\n\u003cp\u003eWithout it, the error message may be misleading.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/df98a0d4b820d9c85a466976860c8295d7304acc\"\u003e\u003ccode\u003edf98a0d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56440\"\u003e#56440\u003c/a\u003e from zzak/ac-live-streaming-keys-typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/662609d35301c42973e0b183d1294c61bb060390\"\u003e\u003ccode\u003e662609d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56252\"\u003e#56252\u003c/a\u003e from callmesangio/fix-testing-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/81dca9cc388b7426cfcd39e34e3bc57fd287b74b\"\u003e\u003ccode\u003e81dca9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56285\"\u003e#56285\u003c/a\u003e from markokajzer/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c98c994f5994a0aae2b258c41732d9e0e4339f5b\"\u003e\u003ccode\u003ec98c994\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56256\"\u003e#56256\u003c/a\u003e from zzak/re-56186\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4388688077b6406e9d71fd622f98677a83a2c2d0\"\u003e\u003ccode\u003e4388688\u003c/code\u003e\u003c/a\u003e Fix redirect_test leaking subscription state\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/13589db95b8380411baeea21dfdd2cc8e7843231\"\u003e\u003ccode\u003e13589db\u003c/code\u003e\u003c/a\u003e Fix dependency on Rails constant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/27e709a7b623e376e12ff197ffc9ca13d8d7be20\"\u003e\u003ccode\u003e27e709a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56059\"\u003e#56059\u003c/a\u003e from Shopify/hm-zpvonttrlztqnryl\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003efile_field\u003c/code\u003e to join mime types with a comma when provided as Array\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003efile_field(:article, :image, accept: ['image/png', 'image/gif', 'image/jpeg'])\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNow behaves likes:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003efile_field(:article, :image, accept: 'image/png,image/gif,image/jpeg')\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eBogdan Gusiev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix strict locals parsing to handle multiline definitions.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003econtent_security_policy_nonce\u003c/code\u003e error in mailers when using \u003ccode\u003econtent_security_policy_nonce_auto\u003c/code\u003e setting.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003econtent_security_policy_nonce helper\u003c/code\u003e is provided by \u003ccode\u003eActionController::ContentSecurityPolicy\u003c/code\u003e, and it relies on \u003ccode\u003erequest.content_security_policy_nonc\u003c/code\u003ee. Mailers lack both the module and the request object.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJarrett Lusso\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/27aa94fb4430b8dd9464081ad9b5ca083452570c\"\u003e\u003ccode\u003e27aa94f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56389\"\u003e#56389\u003c/a\u003e from bogdan/semantic-file-input-accept\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7cf18e084ccc631bcc96b20981fb599b806268ac\"\u003e\u003ccode\u003e7cf18e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56316\"\u003e#56316\u003c/a\u003e from shivabhusal/support-closing_parenthesis-in-nex...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/160db66368584b3c6938d9b1860e865d7dd7c1b6\"\u003e\u003ccode\u003e160db66\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56270\"\u003e#56270\u003c/a\u003e from Saidbek/fix-multiline-strict-locals-parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/386004ebd0b84b6e31a2a34b56660a65bf0c4997\"\u003e\u003ccode\u003e386004e\u003c/code\u003e\u003c/a\u003e Add CHANGELOG entry for \u003ca href=\"https://redirect.github.com/rails/rails/issues/56050\"\u003e#56050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dc94813e8151d0b56ec6c48b4db861cc7a666a8e\"\u003e\u003ccode\u003edc94813\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56050\"\u003e#56050\u003c/a\u003e from jclusso/fix-stylesheet-tag-nonce-mailer\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activejob/CHANGELOG.md\"\u003eactivejob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveJob.perform_all_later\u003c/code\u003e to respect \u003ccode\u003ejob_class.enqueue_after_transaction_commit\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eperform_all_later\u003c/code\u003e would enqueue all jobs immediately, even if\nthey had \u003ccode\u003eenqueue_after_transaction_commit = true\u003c/code\u003e. Now it correctly defers\njobs with this setting until after transaction commits, matching the behavior\nof \u003ccode\u003eperform_later\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOuYangJinTing\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix using custom serializers with \u003ccode\u003eActiveJob::Arguments.serialize\u003c/code\u003e when\n\u003ccode\u003eActiveJob::Base\u003c/code\u003e hasn't been loaded.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f33ca37f57b456a8c3741373ae091a86a8a29589\"\u003e\u003ccode\u003ef33ca37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56507\"\u003e#56507\u003c/a\u003e from tiramizoo/rm-sucker_punch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63a0e6cbaf0227eb972fb165c6b9338ae7ca4d38\"\u003e\u003ccode\u003e63a0e6c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56264\"\u003e#56264\u003c/a\u003e from byroot/fix/activejob/perform_all_later-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c8155a611979cc620eb252769dd3fc428c706bed\"\u003e\u003ccode\u003ec8155a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56093\"\u003e#56093\u003c/a\u003e from skipkayhil/hm-rynrvruzqlkttuqt\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix merging relations with arel equality predicates with null relations.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 schema dump for non-autoincrement integer primary keys.\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eschema.rb\u003c/code\u003e should incorrectly restore that table with an auto incrementing\nprimary key.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChris Hasiński\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix PostgreSQL \u003ccode\u003eschema_search_path\u003c/code\u003e not being reapplied after \u003ccode\u003ereset!\u003c/code\u003e or \u003ccode\u003ereconnect!\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eschema_search_path\u003c/code\u003e configured in \u003ccode\u003edatabase.yml\u003c/code\u003e is now correctly\nreapplied instead of falling back to PostgreSQL defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTobias Egli\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRestore the ability of enum to be foats.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eenum :rating, { low: 0.0, medium: 0.5, high: 1.0 },\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIn Rails 8.1.0, enum values are eagerly validated, and floats weren't expected.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnsure batched preloaded associations accounts for klass when grouping to avoid issues with STI.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e, \u003cem\u003eStjepan Hadjic\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveRecord::SoleRecordExceeded#record\u003c/code\u003e to return the relation.\u003c/p\u003e\n\u003cp\u003eThis was the case until Rails 7.2, but starting from 8.0 it\nstarted mistakenly returning the model class.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove PostgreSQLAdapter resilience to Timeout.timeout.\u003c/p\u003e\n\u003cp\u003eBetter handle asynchronous exceptions being thrown inside\nthe \u003ccode\u003ereconnect!\u003c/code\u003e method.\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/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/53e82ef8a931d4b6d01b9240ea6e486b31e14d61\"\u003e\u003ccode\u003e53e82ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56534\"\u003e#56534\u003c/a\u003e from khasinski/fix-sqlite3-schema-dump-default-nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/adcface26aae1018cdfe87610f85c87508b52865\"\u003e\u003ccode\u003eadcface\u003c/code\u003e\u003c/a\u003e Fix PostgreSQL schema_search_path after reconnect and reset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/13952d56e90bcba5cfa1076a7a0b806ae9564324\"\u003e\u003ccode\u003e13952d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56447\"\u003e#56447\u003c/a\u003e from Saidbek/fix-enum-float-values-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/642baed88cfdd761f8adf68452defb5573e90dd7\"\u003e\u003ccode\u003e642baed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56482\"\u003e#56482\u003c/a\u003e from fatkodima/fix-merge-arel-equality-and-null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/49a1f7253d910638a2885629cc049d38db878491\"\u003e\u003ccode\u003e49a1f72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56415\"\u003e#56415\u003c/a\u003e from zzak/re-56047\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1b2a755fdcd13e0cdf12f06822b124209c700d35\"\u003e\u003ccode\u003e1b2a755\u003c/code\u003e\u003c/a\u003e Fix CI rerun command for active record tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/186d51ed7a78e8fb0f0069d5b3af77b507867ce2\"\u003e\u003ccode\u003e186d51e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56304\"\u003e#56304\u003c/a\u003e from fatkodima/fix-dumping-views-indexes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/7acf8b301708166cc148c12a832d059d96492a23\"\u003e\u003ccode\u003e7acf8b3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56287\"\u003e#56287\u003c/a\u003e from byroot/fix-sole-error-record\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivestorage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activestorage/CHANGELOG.md\"\u003eactivestorage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRestore ADC when signing URLs with IAM for GCS\u003c/p\u003e\n\u003cp\u003eADC was previously used for automatic authorization when signing URLs with IAM.\nNow it is again, but the auth client is memoized so that new credentials are only\nrequested when the current ones expire. Other auth methods can now be used\ninstead by setting the authorization on \u003ccode\u003eActiveStorage::Service::GCSService#iam_client\u003c/code\u003e.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveStorage::Blob.service.iam_client.authorization = Google::Auth::ImpersonatedServiceAccountCredentials.new(options)\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis is safer than setting \u003ccode\u003eGoogle::Apis::RequestOptions.default.authorization\u003c/code\u003e\nbecause it only applies to Active Storage and does not affect other Google API\nclients.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJustin Malčić\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/528351457f6aa2a472c22b6cf481bea7d2621e0b\"\u003e\u003ccode\u003e5283514\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56012\"\u003e#56012\u003c/a\u003e from jmalcic/restore-default-adc-for-gcs-iam-client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/350c13c0702bf1854e060b253f40ff42e1b5c5d6\"\u003e\u003ccode\u003e350c13c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56125\"\u003e#56125\u003c/a\u003e from zzak/re-56069\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activesupport` from 8.1.1 to 8.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3ea2701a15ac253fc6b87b0034a87e3abcb3d3e5\"\u003e\u003ccode\u003e3ea2701\u003c/code\u003e\u003c/a\u003e CHANGELOG sync\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0f8014a0ff97888c747a481ea8ef61015c160fd4\"\u003e\u003ccode\u003e0f8014a\u003c/code\u003e\u003c/a\u003e [8-1-stable] Minitest 6 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/991ccf35933f5df1dcf1283a1ad2f9667c864fa6\"\u003e\u003ccode\u003e991ccf3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56393\"\u003e#56393\u003c/a\u003e from rails/add-exclude-keys-to-live-controller\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c86465f65278d2a6200424d2853fc848a0e01356\"\u003e\u003ccode\u003ec86465f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56353\"\u003e#56353\u003c/a\u003e from rails/rmf-delegation-basic-object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fce726b75e5e2f09511cafe2142df35c7bf96921\"\u003e\u003ccode\u003efce726b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56344\"\u003e#56344\u003c/a\u003e from Saidbek/fix-inflections-fallback-to-en-locale\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/efd9bd99503c4e553aceeba7739e8f20be3ed321\"\u003e\u003ccode\u003eefd9bd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56324\"\u003e#56324\u003c/a\u003e from jeremyevans/activesupport-uri-require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/81dca9cc388b7426cfcd39e34e3bc57fd287b74b\"\u003e\u003ccode\u003e81dca9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56285\"\u003e#56285\u003c/a\u003e from markokajzer/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a5c1af3b94b41f352d4f0d649375f92bfef18b74\"\u003e\u003ccode\u003ea5c1af3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56294\"\u003e#56294\u003c/a\u003e from fatkodima/fix-mem_cache_store-newer-connection...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/923f8e915e3b738a07be750d3344880df5673103\"\u003e\u003ccode\u003e923f8e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56292\"\u003e#56292\u003c/a\u003e from fatkodima/fix-redis_cache_store-newer-connecti...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `thor` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/thor/releases\"\u003ethor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd specs and linter documentation by \u003ca href=\"https://github.com/hlascelles\"\u003e\u003ccode\u003e@​hlascelles\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/907\"\u003erails/thor#907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd tree command by \u003ca href=\"https://github.com/hlascelles\"\u003e\u003ccode\u003e@​hlascelles\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/906\"\u003erails/thor#906\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support \u003ccode\u003einsert_into_file\u003c/code\u003e erroring if the file is not changed, and add \u003ccode\u003einsert_into_file\u003c/code\u003e by \u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/908\"\u003erails/thor#908\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport THOR_MERGE values with arguments by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/910\"\u003erails/thor#910\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHidden commands should not make an invocation ambiguous by \u003ca href=\"https://github.com/deivid-rodriguez\"\u003e\u003ccode\u003e@​deivid-rodriguez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/911\"\u003erails/thor#911\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSet frozen_string_literal: true in colors.rb by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/913\"\u003erails/thor#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix encoding error when running a merge tool by \u003ca href=\"https://github.com/moritzschepp\"\u003e\u003ccode\u003e@​moritzschepp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/thor/pull/916\"\u003erails/thor#916\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/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/thor/pull/913\"\u003erails/thor#913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] made their first contribution in \u003ca href=\"https://redirect.github.com/rails/thor/pull/912\"\u003erails/thor#912\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moritzschepp\"\u003e\u003ccode\u003e@​moritzschepp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/thor/pull/916\"\u003erails/thor#916\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/thor/compare/v1.4.0...v1.5.0\"\u003ehttps://github.com/rails/thor/compare/v1.4.0...v1.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/6a680f2f929cc24d61b81197e113066aa18c8fbb\"\u003e\u003ccode\u003e6a680f2\u003c/code\u003e\u003c/a\u003e Prepare for 1.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/615b0c29a411302104905cf8d81af02ca0cd4765\"\u003e\u003ccode\u003e615b0c2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/919\"\u003e#919\u003c/a\u003e from rails/rmf-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/f16a2dbf503c422da309c3f2bfccbf751ca61ddb\"\u003e\u003ccode\u003ef16a2db\u003c/code\u003e\u003c/a\u003e Unlock bundler development dependency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/7b99536daff00deea31787e2afe7dce6fefec602\"\u003e\u003ccode\u003e7b99536\u003c/code\u003e\u003c/a\u003e Test with Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/2a1eecb4e8b6aff1aa2941308fb2199fdb61ebe6\"\u003e\u003ccode\u003e2a1eecb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/918\"\u003e#918\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/ed9ffca4e99868b3e20239125a4885dd18ba04ad\"\u003e\u003ccode\u003eed9ffca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/916\"\u003e#916\u003c/a\u003e from moritzschepp/ec-encoding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/5b85a330ba73c5c7be4f72ca949841c707feca54\"\u003e\u003ccode\u003e5b85a33\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/2e2b684b6e29497fa9299600d21cd3dc98cd34af\"\u003e\u003ccode\u003e2e2b684\u003c/code\u003e\u003c/a\u003e fix encoding error when running a merge tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/b2d98fea78fd993b936fc434a3ad722e73ad6bc5\"\u003e\u003ccode\u003eb2d98fe\u003c/code\u003e\u003c/a\u003e Remove whatisthor.com references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/thor/commit/17a3be95f40c255f12612c1491bccea4ca4a363f\"\u003e\u003ccode\u003e17a3be9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/thor/issues/912\"\u003e#912\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/thor/compare/v1.4.0...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/moneybird/mail_auto_link_obfuscation/pull/287","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fmail_auto_link_obfuscation/issues/287","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/287/packages"}},{"old_version":"8.1.1","new_version":"8.1.2","update_type":"patch","path":null,"pr_created_at":"2026-01-09T07:55:16.000Z","version_change":"8.1.1 → 8.1.2","issue":{"uuid":"3795868061","node_id":"PR_kwDOHK8R5868RnF3","number":803,"state":"closed","title":"Bump activemodel from 8.1.1 to 8.1.2","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-09T09:43:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T07:55:16.000Z","updated_at":"2026-01-09T09:43:32.000Z","time_to_close":6494,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.1.1 to 8.1.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=8.1.1\u0026new-version=8.1.2)](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/ecosyste-ms/home/pull/803","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Fhome/issues/803","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/803/packages"}},{"old_version":"8.1.1","new_version":"8.1.2","update_type":"patch","path":null,"pr_created_at":"2026-01-09T04:24:08.000Z","version_change":"8.1.1 → 8.1.2","issue":{"uuid":"3795423454","node_id":"PR_kwDOE3bgZM68QLub","number":8046,"state":"closed","title":"Bump activemodel from 8.1.1 to 8.1.2","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-01-09T04:30:18.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T04:24:08.000Z","updated_at":"2026-01-09T04:30:19.000Z","time_to_close":370,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.1.1 to 8.1.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=8.1.1\u0026new-version=8.1.2)](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/davidrunger/david_runger/pull/8046","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidrunger%2Fdavid_runger/issues/8046","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8046/packages"}},{"old_version":"8.1.1","new_version":"8.1.2","update_type":"patch","path":null,"pr_created_at":"2026-01-09T02:27:44.000Z","version_change":"8.1.1 → 8.1.2","issue":{"uuid":"3795212797","node_id":"PR_kwDOJJDTMc68PioS","number":867,"state":"closed","title":"Bump activemodel from 8.1.1 to 8.1.2","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-09T09:04:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-09T02:27:44.000Z","updated_at":"2026-01-09T09:05:00.000Z","time_to_close":23835,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.1.1 to 8.1.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.2\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003edelegate\u003c/code\u003e and \u003ccode\u003edelegate_missing_to\u003c/code\u003e work in BasicObject subclasses.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRafael Mendonça França\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix Inflectors when using a locale that fallbacks to \u003ccode\u003e:en\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::TimeWithZone#as_json\u003c/code\u003e to consistently return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003ePreviously the returned string would sometime be encoded in US-ASCII, which in\nsome cases may be problematic.\u003c/p\u003e\n\u003cp\u003eNow the method consistently always return UTF-8 strings.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eTimeWithZone#xmlschema\u003c/code\u003e when wrapping a \u003ccode\u003eDateTime\u003c/code\u003e instance in local time.\u003c/p\u003e\n\u003cp\u003ePreviously it would return an invalid time.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDmytro Rymar\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement LocalCache strategy on \u003ccode\u003eActiveSupport::Cache::MemoryStore\u003c/code\u003e. The memory store\nneeds to respond to the same interface as other cache stores (e.g. \u003ccode\u003eActiveSupport::NullStore\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMikey Gough\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Inflector.humanize\u003c/code\u003e with international characters.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.humanize(\u0026quot;áÉÍÓÚ\u0026quot;)  # =\u0026gt; \u0026quot;Áéíóú\u0026quot;\nActiveSupport::Inflector.humanize(\u0026quot;аБВГДЕ\u0026quot;) # =\u0026gt; \u0026quot;Абвгде\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJose Luis Duran\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix counting cached queries in \u003ccode\u003eActiveRecord::RuntimeRegistry\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.2/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.2 (January 08, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d7c8ae65b7045490965218a994c300aea8dbb079\"\u003e\u003ccode\u003ed7c8ae6\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1723cc565e97516eed35e7da09a571f5618b48ee\"\u003e\u003ccode\u003e1723cc5\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e offense at 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c3c20bfeae7e2cdea1843bffcc421bab159c5fb\"\u003e\u003ccode\u003e3c3c20b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56058\"\u003e#56058\u003c/a\u003e from Shopify/uk-am-secure-password-require-fix\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.1...v8.1.2\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=8.1.1\u0026new-version=8.1.2)](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/ecosyste-ms/docker/pull/867","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecosyste-ms%2Fdocker/issues/867","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/867/packages"}},{"old_version":"7.2.2.2","new_version":"7.2.3","update_type":"patch","path":null,"pr_created_at":"2025-12-22T09:26:53.000Z","version_change":"7.2.2.2 → 7.2.3","issue":{"uuid":"3753008114","node_id":"PR_kwDOO58gL866GZAm","number":79,"state":"open","title":"deps(deps): bump the production-dependencies group with 54 updates","user":"dependabot[bot]","labels":["type: maintenance","status: needs-review","size: sm","dependencies","automated","bot: dependabot","lang: ruby"],"assignees":["patrick204nqh"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-22T09:26:53.000Z","updated_at":"2025-12-22T10:14:36.865Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"production-dependencies","update_count":54,"packages":[{"name":"irb","old_version":"1.15.2","new_version":"1.16.0","repository_url":"https://github.com/ruby/irb"},{"name":"rails","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rspec","old_version":"3.13.1","new_version":"3.13.2","repository_url":"https://github.com/rspec/rspec"},{"name":"bundler-audit","old_version":"0.9.2","new_version":"0.9.3","repository_url":"https://github.com/rubysec/bundler-audit"},{"name":"rubocop","old_version":"1.80.1","new_version":"1.82.0","repository_url":"https://github.com/rubocop/rubocop"},{"name":"actioncable","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"benchmark","old_version":"0.4.1","new_version":"0.5.0","repository_url":"https://github.com/ruby/benchmark"},{"name":"bigdecimal","old_version":"3.2.2","new_version":"4.0.1","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"cgi","old_version":"0.5.0","new_version":"0.5.1","repository_url":"https://github.com/ruby/cgi"},{"name":"concurrent-ruby","old_version":"1.3.5","new_version":"1.3.6","repository_url":"https://github.com/ruby-concurrency/concurrent-ruby"},{"name":"connection_pool","old_version":"2.5.4","new_version":"2.5.5","repository_url":"https://github.com/mperham/connection_pool"},{"name":"date","old_version":"3.4.1","new_version":"3.5.1","repository_url":"https://github.com/ruby/date"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"i18n","old_version":"1.14.7","new_version":"1.14.8","repository_url":"https://github.com/ruby-i18n/i18n"},{"name":"io-console","old_version":"0.8.1","new_version":"0.8.2","repository_url":"https://github.com/ruby/io-console"},{"name":"json","old_version":"2.13.2","new_version":"2.18.0","repository_url":"https://github.com/ruby/json"},{"name":"loofah","old_version":"2.24.1","new_version":"2.25.0","repository_url":"https://github.com/flavorjones/loofah"},{"name":"mail","old_version":"2.8.1","new_version":"2.9.0","repository_url":"https://github.com/mikel/mail"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"minitest","old_version":"5.25.5","new_version":"5.27.0","repository_url":"https://github.com/minitest/minitest"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.13","repository_url":"https://github.com/ruby/net-imap"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"parser","old_version":"3.3.9.0","new_version":"3.3.10.0","repository_url":"https://github.com/whitequark/parser"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"prism","old_version":"1.4.0","new_version":"1.7.0","repository_url":"https://github.com/ruby/prism"},{"name":"psych","old_version":"5.2.6","new_version":"5.3.1","repository_url":"https://github.com/ruby/psych"},{"name":"rack","old_version":"3.1.16","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"rackup","old_version":"2.2.1","new_version":"2.3.1","repository_url":"https://github.com/rack/rackup"},{"name":"railties","old_version":"7.2.2.2","new_version":"7.2.3","repository_url":"https://github.com/rails/rails"},{"name":"rdoc","old_version":"6.14.2","new_version":"7.0.1","repository_url":"https://github.com/ruby/rdoc"},{"name":"regexp_parser","old_version":"2.11.2","new_version":"2.11.3","repository_url":"https://github.com/ammar/regexp_parser"},{"name":"reline","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/reline"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"rspec-core","old_version":"3.13.5","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-mocks","old_version":"3.13.5","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-support","old_version":"3.13.5","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"rubocop-ast","old_version":"1.46.0","new_version":"1.48.0","repository_url":"https://github.com/rubocop/rubocop-ast"},{"name":"stringio","old_version":"3.1.7","new_version":"3.2.0","repository_url":"https://github.com/ruby/stringio"},{"name":"timeout","old_version":"0.4.3","new_version":"0.6.0","repository_url":"https://github.com/ruby/timeout"},{"name":"unicode-display_width","old_version":"3.1.5","new_version":"3.2.0","repository_url":"https://github.com/janlelis/unicode-display_width"},{"name":"unicode-emoji","old_version":"4.0.4","new_version":"4.2.0","repository_url":"https://github.com/janlelis/unicode-emoji"}],"path":null,"ecosystem":"rubygems"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the production-dependencies group with 54 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.16.0` |\n| [rails](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [rspec](https://github.com/rspec/rspec) | `3.13.1` | `3.13.2` |\n| [bundler-audit](https://github.com/rubysec/bundler-audit) | `0.9.2` | `0.9.3` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.80.1` | `1.82.0` |\n| [actioncable](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionmailbox](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionmailer](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionpack](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actiontext](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [actionview](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activejob](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activemodel](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activerecord](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activestorage](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [activesupport](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n| [benchmark](https://github.com/ruby/benchmark) | `0.4.1` | `0.5.0` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.2` | `4.0.1` |\n| [cgi](https://github.com/ruby/cgi) | `0.5.0` | `0.5.1` |\n| [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) | `1.3.5` | `1.3.6` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.4` | `2.5.5` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.1` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [i18n](https://github.com/ruby-i18n/i18n) | `1.14.7` | `1.14.8` |\n| [io-console](https://github.com/ruby/io-console) | `0.8.1` | `0.8.2` |\n| [json](https://github.com/ruby/json) | `2.13.2` | `2.18.0` |\n| [loofah](https://github.com/flavorjones/loofah) | `2.24.1` | `2.25.0` |\n| [mail](https://github.com/mikel/mail) | `2.8.1` | `2.9.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [minitest](https://github.com/minitest/minitest) | `5.25.5` | `5.27.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.13` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [parser](https://github.com/whitequark/parser) | `3.3.9.0` | `3.3.10.0` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [prism](https://github.com/ruby/prism) | `1.4.0` | `1.7.0` |\n| [psych](https://github.com/ruby/psych) | `5.2.6` | `5.3.1` |\n| [rack](https://github.com/rack/rack) | `3.1.16` | `3.2.4` |\n| [rackup](https://github.com/rack/rackup) | `2.2.1` | `2.3.1` |\n| [railties](https://github.com/rails/rails) | `7.2.2.2` | `7.2.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `7.0.1` |\n| [regexp_parser](https://github.com/ammar/regexp_parser) | `2.11.2` | `2.11.3` |\n| [reline](https://github.com/ruby/reline) | `0.6.2` | `0.6.3` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [rspec-core](https://github.com/rspec/rspec) | `3.13.5` | `3.13.6` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.5` | `3.13.7` |\n| [rspec-support](https://github.com/rspec/rspec) | `3.13.5` | `3.13.6` |\n| [rubocop-ast](https://github.com/rubocop/rubocop-ast) | `1.46.0` | `1.48.0` |\n| [stringio](https://github.com/ruby/stringio) | `3.1.7` | `3.2.0` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.6.0` |\n| [unicode-display_width](https://github.com/janlelis/unicode-display_width) | `3.1.5` | `3.2.0` |\n| [unicode-emoji](https://github.com/janlelis/unicode-emoji) | `4.0.4` | `4.2.0` |\n\nUpdates `irb` from 1.15.2 to 1.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.16.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--context-mode 5\u003c/code\u003e: evaluates inside Ruby::Box by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1142\"\u003eruby/irb#1142\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid creating method objects unnecessarily when distinguishing between commands and statements. by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1138\"\u003eruby/irb#1138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow-source should not raise error even if line_no is wrong by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1145\"\u003eruby/irb#1145\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePin power_assert to v2 for Ruby 2.7 (v3 requires 3.1+) by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1135\"\u003eruby/irb#1135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot; Pin power_assert to v2 for Ruby 2.7 (v3 requires 3.1+)\u0026quot; by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1136\"\u003eruby/irb#1136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.1 to 2.13.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1137\"\u003eruby/irb#1137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange platform mswin to nil by \u003ca href=\"https://github.com/ima1zumi\"\u003e\u003ccode\u003e@​ima1zumi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1139\"\u003eruby/irb#1139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate test to check for UTF16LE/BE by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1132\"\u003eruby/irb#1132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect usage for -w. It turns ON warnings, not OFF. by \u003ca href=\"https://github.com/zenspider\"\u003e\u003ccode\u003e@​zenspider\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1141\"\u003eruby/irb#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1143\"\u003eruby/irb#1143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5.0.1 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1144\"\u003eruby/irb#1144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate rc-files documentation by \u003ca href=\"https://github.com/eval\"\u003e\u003ccode\u003e@​eval\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1113\"\u003eruby/irb#1113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.2 to 2.13.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1147\"\u003eruby/irb#1147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 6.0.0 to 6.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1146\"\u003eruby/irb#1146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecall Thread.pass just after Thread.stop 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/irb/pull/1148\"\u003eruby/irb#1148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.3 to 2.14.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1149\"\u003eruby/irb#1149\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 1.16.0 by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1150\"\u003eruby/irb#1150\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/ruby/irb/pull/1141\"\u003eruby/irb#1141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1148\"\u003eruby/irb#1148\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.3...v1.16.0\"\u003ehttps://github.com/ruby/irb/compare/v1.15.3...v1.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove prompt generating performance by caching prompt parts(%m, %M) by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1127\"\u003eruby/irb#1127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not save consecutive duplicate commands to history by \u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle keyword local variables correctly by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1085\"\u003eruby/irb#1085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil error on debugger prompt by \u003ca href=\"https://github.com/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix methods defined with invalid encoding are not displayed in completion by \u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix show_source command when obj.method is overrided by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1111\"\u003eruby/irb#1111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset IOGate.set_winch_handler when dancing ruby easter-egg terminates by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1124\"\u003eruby/irb#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix UTF-16 autocompletion by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix link by \u003ca href=\"https://github.com/BurdetteLamar\"\u003e\u003ccode\u003e@​BurdetteLamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1112\"\u003eruby/irb#1112\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid intermediate array from split by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1093\"\u003eruby/irb#1093\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/10ed4a777ba80457aa8075b36f3c904787c3fbde\"\u003e\u003ccode\u003e10ed4a7\u003c/code\u003e\u003c/a\u003e Bump version to 1.16.0 (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1150\"\u003e#1150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/6d3306bbdb75686dd555be3e759f0580ed613cca\"\u003e\u003ccode\u003e6d3306b\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.3 to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/a4d7be961a6dd62c3c0e85e6338b12f6f5e1f469\"\u003e\u003ccode\u003ea4d7be9\u003c/code\u003e\u003c/a\u003e call Thread.pass just after Thread.stop (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1148\"\u003e#1148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/1b3bcc3d0be728f6a055c642f920882a948d002c\"\u003e\u003ccode\u003e1b3bcc3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/3b04bb3b8c86f833fa0e7838924a6c20af565538\"\u003e\u003ccode\u003e3b04bb3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.2 to 2.13.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/e204f8536feebd512ea162e698b0f9ea3c8a2325\"\u003e\u003ccode\u003ee204f85\u003c/code\u003e\u003c/a\u003e Update rc-files documentation (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1113\"\u003e#1113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/847d1ca9d189c6902a7f7beccc9132ce28b626b2\"\u003e\u003ccode\u003e847d1ca\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--context-mode 5\u003c/code\u003e: evaluates inside Ruby::Box (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1142\"\u003e#1142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/6d7ff966b377b559c210258cf3f5f36c2f76e98b\"\u003e\u003ccode\u003e6d7ff96\u003c/code\u003e\u003c/a\u003e Show-source should not raise error even if line_no is wrong (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1145\"\u003e#1145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/feeb7be6795271f51e5c3d75f45eacdb491a34fa\"\u003e\u003ccode\u003efeeb7be\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5.0.1 to 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/0aad10b1b4622e8f764e3b9ec80f3f8c10049921\"\u003e\u003ccode\u003e0aad10b\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fd7d30ea583def238a0d9c52150ae1aa4b88c007\"\u003e\u003ccode\u003efd7d30e\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/40e5415d3f35878f47a521779f291284428aaff5\"\u003e\u003ccode\u003e40e5415\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3245de17c04c21abdf3efc76a3bf21dc0d773033\"\u003e\u003ccode\u003e3245de1\u003c/code\u003e\u003c/a\u003e Add sigstore-cli gem to the releaser toolset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/35ad36a398b44d10817ae13ec61f68af30c47efe\"\u003e\u003ccode\u003e35ad36a\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/3690a3ab882476c5229c04c5ae993ba6fb469fc4\"\u003e\u003ccode\u003e3690a3a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55966\"\u003e#55966\u003c/a\u003e from alexanderadam/doc/remove_subclasses_documentat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/33f90433c535abc650b7de1e99fa3f5c1bd5313c\"\u003e\u003ccode\u003e33f9043\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ebd0cfc6750db6fe3909e8e2c4cfeabb195ead32\"\u003e\u003ccode\u003eebd0cfc\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/c4d7af0d6639d834c33296886befd6ee6d805038\"\u003e\u003ccode\u003ec4d7af0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55948\"\u003e#55948\u003c/a\u003e from zzak/debug-rails-new-docker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1ed5ecc8bc9dac099188c454e813c96b2da133b8\"\u003e\u003ccode\u003e1ed5ecc\u003c/code\u003e\u003c/a\u003e Use NPM trusted publishing for our NPM packages\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.0 to 13.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/f0001c3eeada8220f2976170876c75d21ed0626f\"\u003e\u003ccode\u003ef0001c3\u003c/code\u003e\u003c/a\u003e v13.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a644c808b98692cab776734ab92397df5e2de48b\"\u003e\u003ccode\u003ea644c80\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/483\"\u003e#483\u003c/a\u003e from luke-gru/fix_test_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2465ea541d6d721e3e03cd4a75594928032a8731\"\u003e\u003ccode\u003e2465ea5\u003c/code\u003e\u003c/a\u003e silence warnings during execution of rake tasks in Rakefile (ex: rake test)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/df25fb13f015c0f5ff8e7e46e71c28df33ebf34b\"\u003e\u003ccode\u003edf25fb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/610\"\u003e#610\u003c/a\u003e from pvdb/fix_testhelper_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/ec12ac969b708ba2488f02c164b8581f3f828922\"\u003e\u003ccode\u003eec12ac9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/635\"\u003e#635\u003c/a\u003e from nevans/deconstruct_keys-for-nil-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4664a69fcac064c1f727c8fc99f366958fa3a08b\"\u003e\u003ccode\u003e4664a69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/666\"\u003e#666\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/7a0bf15a81e7d3508e33de4d9398ae640bb50d68\"\u003e\u003ccode\u003e7a0bf15\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.265.0 to 1.266.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3ed7892ad1bc15aed7dbb4c02038d8088fad5f6\"\u003e\u003ccode\u003eb3ed789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/665\"\u003e#665\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/1e7ef52f75be42cbe611e14d8efd7bcd62472a86\"\u003e\u003ccode\u003e1e7ef52\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.263.0 to 1.265.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/77225e17c0675d5d2adc40e267291ebffa0c38e0\"\u003e\u003ccode\u003e77225e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/664\"\u003e#664\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.0...v13.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rspec` from 3.13.1 to 3.13.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rspec/rspec/commit/ce5fe4f6521eb957f02e088a1c4c4f778a5c825e\"\u003e\u003ccode\u003ece5fe4f\u003c/code\u003e\u003c/a\u003e rspec-v3.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rspec/rspec/commit/1cb85173086166471482da39db32ba816b326ca6\"\u003e\u003ccode\u003e1cb8517\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rspec/rspec/issues/270\"\u003e#270\u003c/a\u003e from bquorning/fix-rspec-source_code_uri\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rspec/rspec/compare/rspec-v3.13.1...rspec-v3.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bundler-audit` from 0.9.2 to 0.9.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubysec/bundler-audit/releases\"\u003ebundler-audit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Ruby 3.4, 3.5, and 4.0.\u003c/li\u003e\n\u003cli\u003eAdded support for Bundler 4.x.\u003c/li\u003e\n\u003cli\u003eFixed typos in API documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCLI\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that the \u003ccode\u003ebundler-audit check\u003c/code\u003e command honors the \u003ccode\u003eBUNDLER_AUDIT_DB\u003c/code\u003e environment variable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubysec/bundler-audit/blob/master/ChangeLog.md\"\u003ebundler-audit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.9.3 / 2025-11-28\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOfficially support Ruby 3.4, 3.5, and 4.0.\u003c/li\u003e\n\u003cli\u003eAdded support for Bundler 4.x.\u003c/li\u003e\n\u003cli\u003eFixed typos in API documentation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCLI\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that the \u003ccode\u003ebundler-audit check\u003c/code\u003e command honors the\n\u003ccode\u003eBUNDLER_AUDIT_DB\u003c/code\u003e environment variable.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/f8b06ebbefdd223e6eb21b9b258d75e6cfa9442a\"\u003e\u003ccode\u003ef8b06eb\u003c/code\u003e\u003c/a\u003e Updated the ChangeLog for 0.9.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/e4fb10a23229445b55fd0cbd2357b7e688519b1d\"\u003e\u003ccode\u003ee4fb10a\u003c/code\u003e\u003c/a\u003e Version bump to 0.9.3.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/34cd522d0a6c2e1957604d6f6c7239a9726b1b64\"\u003e\u003ccode\u003e34cd522\u003c/code\u003e\u003c/a\u003e Added Ruby 4.0 to the CI matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/22da9d769d3d98e7fa401764d2689e60dcf71efa\"\u003e\u003ccode\u003e22da9d7\u003c/code\u003e\u003c/a\u003e Added Ruby 3.5 to the CI matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/0c2afaf48aea1b852bce5a877c1d6ec866a6c1d4\"\u003e\u003ccode\u003e0c2afaf\u003c/code\u003e\u003c/a\u003e Require rubygems-tasks ~\u0026gt; 0.3 for Ruby 3.5 and 4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/309d20356a7ea435d0f92982b6fcb2a4bd57db66\"\u003e\u003ccode\u003e309d203\u003c/code\u003e\u003c/a\u003e Allow using bundler 4.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/d40dc751d0e789791751d6b62a1006daf8c150c4\"\u003e\u003ccode\u003ed40dc75\u003c/code\u003e\u003c/a\u003e Remove syntax highlighting from example output.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/91a912f69ce7df580731bc79aea64c7699b470b7\"\u003e\u003ccode\u003e91a912f\u003c/code\u003e\u003c/a\u003e Be consistent and only use markdown code fences.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/fc1bc0aa2cb0ea6a075daf39dd6cc02a3234266d\"\u003e\u003ccode\u003efc1bc0a\u003c/code\u003e\u003c/a\u003e Fixed typo in \u003ccode\u003e@return\u003c/code\u003e tag.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubysec/bundler-audit/commit/276e0652d075686d66ca626705d4d475be697242\"\u003e\u003ccode\u003e276e065\u003c/code\u003e\u003c/a\u003e Update RubyGems in GitHub Actions CI (\u003ca href=\"https://redirect.github.com/rubysec/bundler-audit/issues/406\"\u003e#406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubysec/bundler-audit/compare/v0.9.2...v0.9.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop` from 1.80.1 to 1.82.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.82.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14655\"\u003e#14655\u003c/a\u003e: Add \u003ccode\u003eAllowRBSInlineAnnotation\u003c/code\u003e option to \u003ccode\u003eLayout/LineLength\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14569\"\u003e#14569\u003c/a\u003e: Add \u003ccode\u003eIncludedMacroPatterns\u003c/code\u003e configuration option to \u003ccode\u003eStyle/MethodCallWithArgsParentheses\u003c/code\u003e for pattern-based macro method enforcement. (\u003ca href=\"https://github.com/mmenanno\"\u003e\u003ccode\u003e@​mmenanno\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14670\"\u003e#14670\u003c/a\u003e: Add new cop \u003ccode\u003eStyle/ModuleMemberExistenceCheck\u003c/code\u003e. (\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14644\"\u003e#14644\u003c/a\u003e: Support \u003ccode\u003eTargetRubyVersion 4.0\u003c/code\u003e (experimental). (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14649\"\u003e#14649\u003c/a\u003e: Fix an error for \u003ccode\u003eLint/LiteralAsCondition\u003c/code\u003e when there are literals in multiple branches. (\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14678\"\u003e#14678\u003c/a\u003e: Fix an error when running deprecated \u003ccode\u003erake rubocop:auto_correct\u003c/code\u003e task. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14650\"\u003e#14650\u003c/a\u003e: Fix wrong autocorrect for \u003ccode\u003eLint/RedundantSplatExpansion\u003c/code\u003e when splatting a single literal. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14703\"\u003e#14703\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e when using self class definition. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14706\"\u003e#14706\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/NoReturnInBeginEndBlocks\u003c/code\u003e when assigning instance variable, class variable, global variable, or constant. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14715\"\u003e#14715\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when a guard clause follows a multiline heredoc in a parenthesized method call. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14667\"\u003e#14667\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a safe navigation method call is aligned. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14688\"\u003e#14688\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a numbered block or \u003ccode\u003eit\u003c/code\u003e block method call is aligned. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14699\"\u003e#14699\u003c/a\u003e: Fix false positives for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when the receiver is used outside the singleton method definition scope. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14663\"\u003e#14663\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/EndlessMethod\u003c/code\u003e when multiline or xstring heredoc is used in method body. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10173\"\u003e#10173\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e when \u003ccode\u003eEnforcedStyleForMultiline\u003c/code\u003e is set to \u003ccode\u003econsistent_comma\u003c/code\u003e and a multiline braced hash argument appears after another argument. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14680\"\u003e#14680\u003c/a\u003e: Handle all \u003ccode\u003eOptionParser\u003c/code\u003e errors when running \u003ccode\u003erubocop\u003c/code\u003e with input that causes an error. (\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14658\"\u003e#14658\u003c/a\u003e: Fix incorrect behavior when \u003ccode\u003eLayout/LineLength\u003c/code\u003e is disabled. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14704\"\u003e#14704\u003c/a\u003e: Fix incorrect Position character value in LSP. (\u003ca href=\"https://github.com/tmtm\"\u003e\u003ccode\u003e@​tmtm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14619\"\u003e#14619\u003c/a\u003e: Store remote configuration caches in cache root. ([\u003ca href=\"https://github.com/Jack12816\"\u003e\u003ccode\u003e@​Jack12816\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14476\"\u003e#14476\u003c/a\u003e: Fix \u003ccode\u003eStyle/ClassAndModuleChildren\u003c/code\u003e to skip compact style definitions inside another class or module when \u003ccode\u003eEnforcedStyle: nested\u003c/code\u003e. ([\u003ca href=\"https://github.com/rscq\"\u003e\u003ccode\u003e@​rscq\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14281\"\u003e#14281\u003c/a\u003e: Update \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e with \u003ccode\u003eEnforcedStyleAlignWith: variable\u003c/code\u003e to handle conditionals inside \u003ccode\u003ebegin\u003c/code\u003e nodes properly. (\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14662\"\u003e#14662\u003c/a\u003e: Add autocorrection for \u003ccode\u003eLint/UselessOr\u003c/code\u003e. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14668\"\u003e#14668\u003c/a\u003e: Exclude \u003ccode\u003eSeverity\u003c/code\u003e from configuration parameters. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14684\"\u003e#14684\u003c/a\u003e: Make \u003ccode\u003eStyle/CaseEquality\u003c/code\u003e allow regexp case equality where the receiver is a regexp literal. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14645\"\u003e#14645\u003c/a\u003e: Change \u003ccode\u003eLint/CircularArgumentReference\u003c/code\u003e to detect offenses within long assignment chains. (\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14642\"\u003e#14642\u003c/a\u003e: Make \u003ccode\u003eGemspec/RubyVersionGlobalsUsage\u003c/code\u003e aware of \u003ccode\u003eRuby::VERSION\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14695\"\u003e#14695\u003c/a\u003e: Make \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e aware of \u003ccode\u003e# rbs_inline\u003c/code\u003e magic comment. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10147\"\u003e#10147\u003c/a\u003e: Make \u003ccode\u003eLint/ElseLayout\u003c/code\u003e allow a single-line \u003ccode\u003eelse\u003c/code\u003e body in \u003ccode\u003ethen\u003c/code\u003e single-line conditional. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14661\"\u003e#14661\u003c/a\u003e: Make \u003ccode\u003eLint/RedundantRequireStatement\u003c/code\u003e aware of \u003ccode\u003epathname\u003c/code\u003e when analyzing Ruby 4.0. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14698\"\u003e#14698\u003c/a\u003e: Make \u003ccode\u003eLint/UnreachableCode\u003c/code\u003e aware of singleton method redefinition. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14677\"\u003e#14677\u003c/a\u003e: Make \u003ccode\u003eStyle/RedundantArgument\u003c/code\u003e aware of \u003ccode\u003eto_i\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14660\"\u003e#14660\u003c/a\u003e: Rename \u003ccode\u003eIgnoreCopDirectives\u003c/code\u003e to \u003ccode\u003eAllowCopDirectives\u003c/code\u003e in \u003ccode\u003eLayout/LineLength\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e: Revert \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e, which added support for LSP positionEncoding 'utf-8' and 'utf-32' due to critical performance regression reports. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md\"\u003erubocop's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.82.0 (2025-12-17)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14655\"\u003e#14655\u003c/a\u003e: Add \u003ccode\u003eAllowRBSInlineAnnotation\u003c/code\u003e option to \u003ccode\u003eLayout/LineLength\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14569\"\u003e#14569\u003c/a\u003e: Add \u003ccode\u003eIncludedMacroPatterns\u003c/code\u003e configuration option to \u003ccode\u003eStyle/MethodCallWithArgsParentheses\u003c/code\u003e for pattern-based macro method enforcement. ([\u003ca href=\"https://github.com/mmenanno\"\u003e\u003ccode\u003e@​mmenanno\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14670\"\u003e#14670\u003c/a\u003e: Add new cop \u003ccode\u003eStyle/ModuleMemberExistenceCheck\u003c/code\u003e. ([\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14644\"\u003e#14644\u003c/a\u003e: Support \u003ccode\u003eTargetRubyVersion 4.0\u003c/code\u003e (experimental). ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14649\"\u003e#14649\u003c/a\u003e: Fix an error for \u003ccode\u003eLint/LiteralAsCondition\u003c/code\u003e when there are literals in multiple branches. ([\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14678\"\u003e#14678\u003c/a\u003e: Fix an error when running deprecated \u003ccode\u003erake rubocop:auto_correct\u003c/code\u003e task. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14650\"\u003e#14650\u003c/a\u003e: Fix wrong autocorrect for \u003ccode\u003eLint/RedundantSplatExpansion\u003c/code\u003e when splatting a single literal. ([\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14703\"\u003e#14703\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e when using self class definition. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14706\"\u003e#14706\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/NoReturnInBeginEndBlocks\u003c/code\u003e when assigning instance variable, class variable, global variable, or constant. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14715\"\u003e#14715\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when a guard clause follows a multiline heredoc in a parenthesized method call. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14667\"\u003e#14667\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a safe navigation method call is aligned. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14688\"\u003e#14688\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e when a conditional assignment is used on the same line and the \u003ccode\u003eend\u003c/code\u003e with a numbered block or \u003ccode\u003eit\u003c/code\u003e block method call is aligned. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14699\"\u003e#14699\u003c/a\u003e: Fix false positives for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when the receiver is used outside the singleton method definition scope. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14663\"\u003e#14663\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/EndlessMethod\u003c/code\u003e when multiline or xstring heredoc is used in method body. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10173\"\u003e#10173\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e when \u003ccode\u003eEnforcedStyleForMultiline\u003c/code\u003e is set to \u003ccode\u003econsistent_comma\u003c/code\u003e and a multiline braced hash argument appears after another argument. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14680\"\u003e#14680\u003c/a\u003e: Handle all \u003ccode\u003eOptionParser\u003c/code\u003e errors when running \u003ccode\u003erubocop\u003c/code\u003e with input that causes an error. ([\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14658\"\u003e#14658\u003c/a\u003e: Fix incorrect behavior when \u003ccode\u003eLayout/LineLength\u003c/code\u003e is disabled. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14704\"\u003e#14704\u003c/a\u003e: Fix incorrect Position character value in LSP. ([\u003ca href=\"https://github.com/tmtm\"\u003e\u003ccode\u003e@​tmtm\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14619\"\u003e#14619\u003c/a\u003e: Store remote configuration caches in cache root. ([\u003ca href=\"https://github.com/Jack12816\"\u003e\u003ccode\u003e@​Jack12816\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14476\"\u003e#14476\u003c/a\u003e: Fix \u003ccode\u003eStyle/ClassAndModuleChildren\u003c/code\u003e to skip compact style definitions inside another class or module when \u003ccode\u003eEnforcedStyle: nested\u003c/code\u003e. ([\u003ca href=\"https://github.com/rscq\"\u003e\u003ccode\u003e@​rscq\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14281\"\u003e#14281\u003c/a\u003e: Update \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e with \u003ccode\u003eEnforcedStyleAlignWith: variable\u003c/code\u003e to handle conditionals inside \u003ccode\u003ebegin\u003c/code\u003e nodes properly. ([\u003ca href=\"https://github.com/dvandersluis\"\u003e\u003ccode\u003e@​dvandersluis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14662\"\u003e#14662\u003c/a\u003e: Add autocorrection for \u003ccode\u003eLint/UselessOr\u003c/code\u003e. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14668\"\u003e#14668\u003c/a\u003e: Exclude \u003ccode\u003eSeverity\u003c/code\u003e from configuration parameters. ([\u003ca href=\"https://github.com/r7kamura\"\u003e\u003ccode\u003e@​r7kamura\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14684\"\u003e#14684\u003c/a\u003e: Make \u003ccode\u003eStyle/CaseEquality\u003c/code\u003e allow regexp case equality where the receiver is a regexp literal. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14645\"\u003e#14645\u003c/a\u003e: Change \u003ccode\u003eLint/CircularArgumentReference\u003c/code\u003e to detect offenses within long assignment chains. ([\u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14642\"\u003e#14642\u003c/a\u003e: Make \u003ccode\u003eGemspec/RubyVersionGlobalsUsage\u003c/code\u003e aware of \u003ccode\u003eRuby::VERSION\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14695\"\u003e#14695\u003c/a\u003e: Make \u003ccode\u003eLayout/EmptyLineAfterMagicComment\u003c/code\u003e aware of \u003ccode\u003e# rbs_inline\u003c/code\u003e magic comment. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/10147\"\u003e#10147\u003c/a\u003e: Make \u003ccode\u003eLint/ElseLayout\u003c/code\u003e allow a single-line \u003ccode\u003eelse\u003c/code\u003e body in \u003ccode\u003ethen\u003c/code\u003e single-line conditional. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14661\"\u003e#14661\u003c/a\u003e: Make \u003ccode\u003eLint/RedundantRequireStatement\u003c/code\u003e aware of \u003ccode\u003epathname\u003c/code\u003e when analyzing Ruby 4.0. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14698\"\u003e#14698\u003c/a\u003e: Make \u003ccode\u003eLint/UnreachableCode\u003c/code\u003e aware of singleton method redefinition. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14677\"\u003e#14677\u003c/a\u003e: Make \u003ccode\u003eStyle/RedundantArgument\u003c/code\u003e aware of \u003ccode\u003eto_i\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14660\"\u003e#14660\u003c/a\u003e: Rename \u003ccode\u003eIgnoreCopDirectives\u003c/code\u003e to \u003ccode\u003eAllowCopDirectives\u003c/code\u003e in \u003ccode\u003eLayout/LineLength\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e: Revert \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14492\"\u003e#14492\u003c/a\u003e, which added support for LSP positionEncoding 'utf-8' and 'utf-32' due to critical performance regression reports. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.81.7 (2025-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14597\"\u003e#14597\u003c/a\u003e: Fix an infinite loop error for \u003ccode\u003eLayout/HashAlignment\u003c/code\u003e when \u003ccode\u003eEnforcedStyle: with_fixed_indentation\u003c/code\u003e is specified for \u003ccode\u003eLayout/ArgumentAlignment\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14621\"\u003e#14621\u003c/a\u003e: Fix an error for \u003ccode\u003eNaming/PredicateMethod\u003c/code\u003e when using an \u003ccode\u003ein\u003c/code\u003e pattern with empty parentheses body. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\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/rubocop/rubocop/commit/384aa2b4ed79bad806e0f884e1039dab56d3cfbf\"\u003e\u003ccode\u003e384aa2b\u003c/code\u003e\u003c/a\u003e Cut 1.82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/f8a84fa41beb247504ffc2c78dd1b49f1480a7db\"\u003e\u003ccode\u003ef8a84fa\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/f8b40bc5f4a7998276fe6ff650d9cf55d8dfbb7d\"\u003e\u003ccode\u003ef8b40bc\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/13854\"\u003e#13854\u003c/a\u003e (Old issue)] add push/pop logic for handle local enable/disable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/70f76b1ea0ae0eed8c8014f68f8667b7bd00349c\"\u003e\u003ccode\u003e70f76b1\u003c/code\u003e\u003c/a\u003e Add new cop Style/ModuleMemberExistenceCheck\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/acbdbda132566818747f375b75111fc20340febe\"\u003e\u003ccode\u003eacbdbda\u003c/code\u003e\u003c/a\u003e Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/9cc142e04f19802c4ce92ab33f18dd680601f895\"\u003e\u003ccode\u003e9cc142e\u003c/code\u003e\u003c/a\u003e Fix incorrect Position character value in LSP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/5e07aa1001b41acc4594f81c2ebcf5de9be4dcfd\"\u003e\u003ccode\u003e5e07aa1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14712\"\u003e#14712\u003c/a\u003e from moznion/fix_escaped_single_quote\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/8f5b029fea2dc94fa75f2d8820058d29f0c7c8e7\"\u003e\u003ccode\u003e8f5b029\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14711\"\u003e#14711\u003c/a\u003e] Fix broken auto-correction in \u003ccode\u003eStyle/RedundantRegexpArgument\u003c/code\u003e rule\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/bcfdf5fadecf8126893fe2fb89f2634e7fe987c9\"\u003e\u003ccode\u003ebcfdf5f\u003c/code\u003e\u003c/a\u003e Add some specs for \u003ccode\u003eStyle/RedundantCondition\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/2c9071d5764d728ad11e821dd338fe33371b5ca3\"\u003e\u003ccode\u003e2c9071d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14707\"\u003e#14707\u003c/a\u003e from koic/fix_false_negatives_for_lint_no_return_in...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.80.1...v1.82.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/97a940b21dc3f1ad53bc2cee4b2dafcf31d6ea8a\"\u003e\u003ccode\u003e97a940b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55812\"\u003e#55812\u003c/a\u003e from yahonda/bump-microsoftedge-version-to-latest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/02f0a4a07c31146c8339b0035882e5920ab487d2\"\u003e\u003ccode\u003e02f0a4a\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4157aaffc767cfe45a9539b79c290a5137b4ea6b\"\u003e\u003ccode\u003e4157aaf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55359\"\u003e#55359\u003c/a\u003e from byroot/actioncable-redis-5.4.1-compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/05bd95c36b04572f577eb06e1c96dfe6106da161\"\u003e\u003ccode\u003e05bd95c\u003c/code\u003e\u003c/a\u003e Appease rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d19ccb2908cef464151fbe42003113379673fbf4\"\u003e\u003ccode\u003ed19ccb2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55201\"\u003e#55201\u003c/a\u003e from OuYangJinTing/fix/actioncable/channel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1d8b402cd608462cfc0abd4d53ddab40f7a65af4\"\u003e\u003ccode\u003e1d8b402\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55013\"\u003e#55013\u003c/a\u003e from yahonda/update_safari_at_saucelabs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a40b1973731784c7fb24fdb7068acabe12a472d2\"\u003e\u003ccode\u003ea40b197\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54531\"\u003e#54531\u003c/a\u003e from byroot/action-cable-upgrade-safari\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b5a9a37ecafd4add60e1677ca3c248b020909c6d\"\u003e\u003ccode\u003eb5a9a37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55809\"\u003e#55809\u003c/a\u003e from zzak/8-0-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3de277f5fb09b0f46f4b62b3f85c6c9a463ef58f\"\u003e\u003ccode\u003e3de277f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53383\"\u003e#53383\u003c/a\u003e from Earlopain/rack-3.2-deprecation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/02f0a4a07c31146c8339b0035882e5920ab487d2\"\u003e\u003ccode\u003e02f0a4a\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4f459cff2831d8beffb3114db99bd41f6202a5d6\"\u003e\u003ccode\u003e4f459cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54702\"\u003e#54702\u003c/a\u003e from fatkodima/fix-action_mailer-default_options-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1aa5cfef91923a6e41c1cd11f132797ed482fb8e\"\u003e\u003ccode\u003e1aa5cfe\u003c/code\u003e\u003c/a\u003e Use monospace formatting [ci-skip]\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/40e5415d3f35878f47a521779f291284428aaff5\"\u003e\u003ccode\u003e40e5415\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ebd0cfc6750db6fe3909e8e2c4cfeabb195ead32\"\u003e\u003ccode\u003eebd0cfc\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/a0dee36d388c6fd2c2aa817566aedb59c6c1f9a7\"\u003e\u003ccode\u003ea0dee36\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50390\"\u003e#50390\u003c/a\u003e from seanpdoyle/issue-50345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b5a9a37ecafd4add60e1677ca3c248b020909c6d\"\u003e\u003ccode\u003eb5a9a37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55809\"\u003e#55809\u003c/a\u003e from zzak/8-0-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a510a3d216bbde3800a3019c4d9de595e058954b\"\u003e\u003ccode\u003ea510a3d\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a5750f6d20b471fd5749ebf61108a3dedb8698a1\"\u003e\u003ccode\u003ea5750f6\u003c/code\u003e\u003c/a\u003e Fix TransitionTable#as_json compatibility with json 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/237f57301613e68bb2c9ac4115eb7004d6b4c557\"\u003e\u003ccode\u003e237f573\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55668\"\u003e#55668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/48e35d9a038d341db7de28b4a5da93d1f814c91d\"\u003e\u003ccode\u003e48e35d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55675\"\u003e#55675\u003c/a\u003e from skipkayhil/hm-ouuplulxpznztlyp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a41d35b7d1d7e2cdfe2152ecc3ca6b82d93692a\"\u003e\u003ccode\u003e0a41d35\u003c/code\u003e\u003c/a\u003e Action Pack: Allow rack 3.2.x\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handling network errors like other codepaths.\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/bb2bdef2925433a0c5db31b873f9faddf2e2e65d\"\u003e\u003ccode\u003ebb2bdef\u003c/code\u003e\u003c/a\u003e Preparing for 7.2.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/788fde003c6433275fe5f3a8d314c305714858e6\"\u003e\u003ccode\u003e788fde0\u003c/code\u003e\u003c/a\u003e Merge branch '7-2-sec' into 7-2-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d327a48668dc81c34590cbe79754d2ce84ed9ae6\"\u003e\u003ccode\u003ed327a48\u003c/code\u003e\u003c/a\u003e Remove RDoc artifacts [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2fa7e4130b89a34440e21c2b63534d9a2f98416\"\u003e\u003ccode\u003eb2fa7e4\u003c/code\u003e\u003c/a\u003e Fix RDoc links for ActionText::RichText#embeds [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ad711fabfce6edbcd531e2448bc7c15829b44227\"\u003e\u003ccode\u003ead711fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54617\"\u003e#54617\u003c/a\u003e from byroot/move-strict-warnings\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.2.2.2...v7.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 7.2.2.2 to 7.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.2.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003e\u003ccode\u003eActiveSupport::FileUpdateChecker\u003c/code\u003e does not depend on \u003ccode\u003eTime.now\u003c/code\u003e to prevent unnecessary reloads with time travel test helpers\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJan Grodowski\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::BroadcastLogger\u003c/code\u003e from executing a block argument for each logger (tagged, info, etc.).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJared Armstrong\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#transform_keys!\u003c/code\u003e removing defaults.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::HashWithIndifferentAccess#tranform_keys!\u003c/code\u003e to handle collisions.\u003c/p\u003e\n\u003cp\u003eIf the transformation would result in a key equal to another not yet transformed one,\nit would result in keys being lost.\u003c/p\u003e\n\u003cp\u003eBefore:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAfter:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; {a: 1, b: 2}.with_indifferent_access.transform_keys!(\u0026amp;:succ)\n=\u0026gt; {\u0026quot;c\u0026quot; =\u0026gt; 1, \u0026quot;d\u0026quot; =\u0026gt; 2}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJason T Johnson\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eActiveSupport::Cache::MemCacheStore#read_multi\u003c/code\u003e to handle network errors.\u003c/p\u003e\n\u003cp\u003eThis method specifically wasn't handli...\n\n_Description has been truncated_","html_url":"https://github.com/patrick204nqh/dbwatcher/pull/79","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrick204nqh%2Fdbwatcher/issues/79","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/79/packages"}},{"old_version":"8.0.4","new_version":"8.1.1","update_type":"minor","path":null,"pr_created_at":"2025-12-01T07:47:51.000Z","version_change":"8.0.4 → 8.1.1","issue":{"uuid":"3679712128","node_id":"PR_kwDOB0hQ2c62Ry2p","number":8343,"state":"closed","title":"Bump the gem-dependencies group with 12 updates","user":"dependabot[bot]","labels":["dependencies","do not merge","ruby"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2025-12-01T15:22:41.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T07:47:51.000Z","updated_at":"2025-12-01T15:22:43.000Z","time_to_close":27290,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gem-dependencies","update_count":12,"packages":[{"name":"activerecord-postgis-adapter","old_version":"11.0.0","new_version":"11.1.1","repository_url":"https://github.com/rgeo/activerecord-postgis-adapter"},{"name":"activerecord","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"view_component","old_version":"3.23.2","new_version":"4.1.1","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"railties","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.4","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"addressable","old_version":"2.8.7","new_version":"2.8.8","repository_url":"https://github.com/sporkmonger/addressable"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the gem-dependencies group with 12 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activerecord-postgis-adapter](https://github.com/rgeo/activerecord-postgis-adapter) | `11.0.0` | `11.1.1` |\n| [activerecord](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activesupport](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activemodel](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.1.1` |\n| [railties](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [actionpack](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activestorage](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [activejob](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [actiontext](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.4` | `8.1.1` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.7` | `2.8.8` |\n\nUpdates `activerecord-postgis-adapter` from 11.0.0 to 11.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/blob/master/History.md\"\u003eactiverecord-postgis-adapter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e11.1.1 / 2025-11-27\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix usage of \u003ccode\u003eOID::Spatial#wkt_parser\u003c/code\u003e (oleksii-leonov)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e11.1.0 / 2025-11-26\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eActiveRecord 8.1 support \u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/436\"\u003e#436\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/rgeo/activerecord-postgis-adapter/commit/ed2e3d5e7c469a272639c00c7f01557aae77447b\"\u003e\u003ccode\u003eed2e3d5\u003c/code\u003e\u003c/a\u003e bump to 11.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/4c9a1fa4c32acce8c93602babf32e012fe1b48e1\"\u003e\u003ccode\u003e4c9a1fa\u003c/code\u003e\u003c/a\u003e fix: missing \u003ca href=\"https://github.com/srid\"\u003e\u003ccode\u003e@​srid\u003c/code\u003e\u003c/a\u003e instance variable in v11.1 causes breaking change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/12197e374d4f40918efce2245df46284d36623bc\"\u003e\u003ccode\u003e12197e3\u003c/code\u003e\u003c/a\u003e fix(ci): add correct id to step\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/2a794d2013ba817e9f2480702779e9dfe8c6421c\"\u003e\u003ccode\u003e2a794d2\u003c/code\u003e\u003c/a\u003e bump to 11.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/542dcd0114ab780193ffcb9538a9a7ee22b9e684\"\u003e\u003ccode\u003e542dcd0\u003c/code\u003e\u003c/a\u003e feat: Compatibility with rails 8.1 (\u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/436\"\u003e#436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/5d380dad7ab1edbd8331ef9aa9077c2a91d66ee8\"\u003e\u003ccode\u003e5d380da\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/428\"\u003e#428\u003c/a\u003e from vfonic/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/a78df3eb879f9d84efbaba37140a470429d52c30\"\u003e\u003ccode\u003ea78df3e\u003c/code\u003e\u003c/a\u003e Covert version requirements into a table\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/2cb0e7de231cef8591489fab84ab3f97a65052b8\"\u003e\u003ccode\u003e2cb0e7d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rgeo/activerecord-postgis-adapter/issues/427\"\u003e#427\u003c/a\u003e from julienanne/fix-readme-activerecord-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/commit/b1a89f456b25d78ef8a2c89c635ecdd3f40d3e89\"\u003e\u003ccode\u003eb1a89f4\u003c/code\u003e\u003c/a\u003e Fix README ActiveRecord 8.0 support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rgeo/activerecord-postgis-adapter/compare/v11.0.0...v11.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.4 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.4...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.4 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.4...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.4 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.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Consultport to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSebastian Nepote\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded Reinvented Hospitality to the list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTorgil Zechel\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\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/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Consultport to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSebastian Nepote\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded Reinvented Hospitality to the list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTorgil Zechel\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeclare \u003ccode\u003eactionview\u003c/code\u003e as a \u003ccode\u003eview_component\u003c/code\u003e gem dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMichal Cichra\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/3743d2bc34e648936fea42a762e5a3844b1f2180\"\u003e\u003ccode\u003e3743d2b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2499\"\u003e#2499\u003c/a\u003e from ViewComponent/release-4-1-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/ee56651d12d4f4af9ee0692560b093fb433d8a48\"\u003e\u003ccode\u003eee56651\u003c/code\u003e\u003c/a\u003e Bump VC in gemfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f6d0502b2ebfebeb9641a2fc28fbb1dcbeea91ee\"\u003e\u003ccode\u003ef6d0502\u003c/code\u003e\u003c/a\u003e release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/cb2240b6d55a7d4b5bb1d401844d5e07f69089bf\"\u003e\u003ccode\u003ecb2240b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2493\"\u003e#2493\u003c/a\u003e from ViewComponent/dependabot/bundler/tailwindcss-ra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/7ba75dfbeed30519a8bfb552983209838b8cc06f\"\u003e\u003ccode\u003e7ba75df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2495\"\u003e#2495\u003c/a\u003e from ViewComponent/dependabot/bundler/minitest-5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/44cdafe537ee822e5af574d1df1da9ed9e370c74\"\u003e\u003ccode\u003e44cdafe\u003c/code\u003e\u003c/a\u003e Bump minitest from 5.26.0 to 5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/417339528cce33d182d3a2f99bb04a01514ec2cd\"\u003e\u003ccode\u003e4173395\u003c/code\u003e\u003c/a\u003e Bump tailwindcss-rails from 4.3.0 to 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4dbbaa310ecfdb495e3212e881d40df1b040b83b\"\u003e\u003ccode\u003e4dbbaa3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2492\"\u003e#2492\u003c/a\u003e from snepote/feat/adds_consultport_company_using_vie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b26c936b3fbacc2432cb35508cbb3474001ca007\"\u003e\u003ccode\u003eb26c936\u003c/code\u003e\u003c/a\u003e Add Consultport to \u0026quot;Who uses ViewComponent?\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2222403d78913ff57e3cc70bd2bd860e2e81230\"\u003e\u003ccode\u003ee222240\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2488\"\u003e#2488\u003c/a\u003e from ViewComponent/dependabot/bundler/selenium-webdr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.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.4 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.4...v8.1.1\"\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.4 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.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.0.4 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\"\u003eactivestorage'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/activestorage/CHANGELOG.md\"\u003eactivestorage'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 structured events for Active Storage:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_upload\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_download\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_streaming_download\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.preview\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_delete\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_delete_prefixed\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_exist\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_url\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_storage.service_mirror\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\u003eAllow analyzers and variant transformer to be fully configurable\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# ActiveStorage.analyzers can be set to an empty array:\nconfig.active_storage.analyzers = []\n# =\u0026gt; ActiveStorage.analyzers = []\n\u003ch1\u003eor use custom analyzer:\u003c/h1\u003e\n\u003cp\u003econfig.active_storage.analyzers = [ CustomAnalyzer ]\u003c/p\u003e\n\u003ch1\u003e=\u0026gt; ActiveStorage.analyzers = [ CustomAnalyzer ]\u003c/h1\u003e\n\u003cp\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eIf no configuration is provided, it will use the default analyzers.\u003c/p\u003e\n\u003cp\u003eYou can also disable variant processor to remove warnings on startup about missing gems.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003econfig.active_storage.variant_processor = :disabled\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e, \u003cem\u003eAlexandre Ruban\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003e:azure\u003c/code\u003e storage service.\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 unnecessary calls to the GCP metadata server.\u003c/p\u003e\n\u003cp\u003eCalling Google::Auth.get_application_default triggers an explicit call to\nthe metadata server - given it was being called for significant number of\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/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/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/82a024d206aa873c70124073d66f5f5753b0afe6\"\u003e\u003ccode\u003e82a024d\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\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/3001e186c197d633091146220607f307d4f3dd44\"\u003e\u003ccode\u003e3001e18\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55904\"\u003e#55904\u003c/a\u003e from rails/rm-event-subscriber\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4a753c2f79a9c41ec3ab5551724599193da180e5\"\u003e\u003ccode\u003e4a753c2\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54040\"\u003e#54040\u003c/a\u003e from mrpasquini/md5_config\u0026quot;\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/ac296a1b27fd5c7c87f3a8230cab51ec6b45ca80\"\u003e\u003ccode\u003eac296a1\u003c/code\u003e\u003c/a\u003e Skip analyze job if ruby-vips or mini_magick gem are missing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2ef3103c8d79eae9ccb4ab32691fd072ea932537\"\u003e\u003ccode\u003e2ef3103\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54666\"\u003e#54666\u003c/a\u003e from tnir/tn-eslint-9.21.0-with-flat-config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.0.4 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\"\u003eactivejob'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/activejob/CHANGELOG.md\"\u003eactivejob'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\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\u003eRails 8.1.0 (October 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd structured events for Active Job:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.enqueued\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.bulk_enqueued\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.started\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.completed\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.retry_scheduled\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.retry_stopped\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.discarded\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.interrupt\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.resume\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.step_skipped\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.step_started\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eactive_job.step\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eAdrianna Chang\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate built-in \u003ccode\u003esidekiq\u003c/code\u003e adapter.\u003c/p\u003e\n\u003cp\u003eIf you're using this adapter, upgrade to \u003ccode\u003esidekiq\u003c/code\u003e 7.3.3 or later to use the \u003ccode\u003esidekiq\u003c/code\u003e gem's adapter.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated internal \u003ccode\u003eSuckerPunch\u003c/code\u003e adapter in favor of the adapter included with the \u003ccode\u003esucker_punch\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 support to set \u003ccode\u003eActiveJob::Base.enqueue_after_transaction_commit\u003c/code\u003e to \u003ccode\u003e:never\u003c/code\u003e, \u003ccode\u003e:always\u003c/code\u003e and \u003ccode\u003e:default\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\u003eRails.application.config.active_job.enqueue_after_transaction_commit\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\u003e\u003ccode\u003eActiveJob::Serializers::ObjectSerializers#klass\u003c/code\u003e method is now public.\u003c/p\u003e\n\u003cp\u003eCustom Active Job serializers must have a public \u003ccode\u003e#klass\u003c/code\u003e method too.\nThe returned class will be index allowing for faster serialization.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/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/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/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/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/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/f7e7080eba1e6cb6802994e65ddb5e71127d9f0b\"\u003e\u003ccode\u003ef7e7080\u003c/code\u003e\u003c/a\u003e Move implementation fully into #index_serializers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.0.4 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003eDe-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eImplement \u003ccode\u003e@rails/actiontext/index.js\u003c/code\u003e with a \u003ccode\u003edirect-upload:progress\u003c/code\u003e event\nlisteners and \u003ccode\u003ePromise\u003c/code\u003e resolution.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCapture block content for form helper methods\u003c/p\u003e\n\u003cpre lang=\"erb\"\u003e\u003ccode\u003e\u0026lt;%= rich_textarea_tag :content, nil do %\u0026gt;\n  \u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;content\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\n\u003cp\u003e\u0026lt;%= rich_textarea :message, :content, input: \u0026quot;trix_input_1\u0026quot; do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\u003c/p\u003e\n\u003cp\u003e\u0026lt;%= form_with model: Message.new do |form| %\u0026gt;\n\u0026lt;%= form.rich_textarea :content do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;form action=\u0026quot;/messages\u0026quot; accept-charset=\u0026quot;UTF-8\u0026quot; method=\u0026quot;post\u0026quot;\u0026gt;\u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;message_content_trix_input_message\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\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\u003cli\u003e\n\u003cp\u003eGeneralize \u003ccode\u003e:rich_text_area\u003c/code\u003e Capybara selector\u003c/p\u003e\n\u003cp\u003ePrepare for more Action Text-capable WYSIWYG editors by making\n\u003ccode\u003e:rich_text_area\u003c/code\u003e rely on the presence of \u003ccode\u003e[role=\u0026quot;textbox\u0026quot;]\u003c/code\u003e and\n\u003ccode\u003e[contenteditable]\u003c/code\u003e HTML attributes rather than a \u003ccode\u003e\u0026lt;trix-editor\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eForward \u003ccode\u003efill_in_rich_text_area\u003c/code\u003e options to Capybara\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003efill_in_rich_textarea \u0026quot;Rich text editor\u0026quot;, id: \u0026quot;trix_editor_1\u0026quot;, with: \u0026quot;Hello world!\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/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/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/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/8c624be05a5660772cbb6305862c3921b2f5788f\"\u003e\u003ccode\u003e8c624be\u003c/code\u003e\u003c/a\u003e De-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9825b1ba8bda30635c4a1eddbb4c9794d1ba8a3b\"\u003e\u003ccode\u003e9825b1b\u003c/code\u003e\u003c/a\u003e Action Text: change tag helpers to accept optional blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd49fa3e8058d4d37112abcf5eb6d85a9bfa4137\"\u003e\u003ccode\u003ecd49fa3\u003c/code\u003e\u003c/a\u003e Fix label \u003ccode\u003efor\u003c/code\u003e attribute missing form namespace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a20ee82fb14a955f55e49ae9db76779b250b3d9a\"\u003e\u003ccode\u003ea20ee82\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eimage_processing\u003c/code\u003e to the gemfile by default for active_storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a5faeaf71745b05d937b579a4da5bd90e0b6b58\"\u003e\u003ccode\u003e0a5faea\u003c/code\u003e\u003c/a\u003e Prevent stack overflow in ActionText PlaintextConversion (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55025\"\u003e#55025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.0.4 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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 structured events for Action Mailer:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.delivered\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.processed\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\u003eAdd \u003ccode\u003edeliver_all_later\u003c/code\u003e to enqueue multiple emails at once.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003euser_emails = User.all.map { |user| Notifier.welcome(user) }\nActionMailer.deliver_all_later(user_emails)\n\u003ch1\u003euse a custom queue\u003c/h1\u003e\n\u003cp\u003eActionMailer.deliver_all_later(user_emails, queue: :my_queue)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThis can greatly reduce the number of round-trips to the queue datastore.\nFor queue adapters that do not implement the \u003ccode\u003eenqueue_all\u003c/code\u003e method, we\nfall back to enqueuing email jobs indvidually.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/actionmailer/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/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/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/d2518fa2c974bfa97c378c9250c1256f83dff0de\"\u003e\u003ccode\u003ed2518fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55748\"\u003e#55748\u003c/a\u003e from Shopify/event_with_debug_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1e776998ed4ac8a415c1173ad55157f14368d939\"\u003e\u003ccode\u003e1e77699\u003c/code\u003e\u003c/a\u003e Make all framework log subscribers API private\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78857a394515c74e77db81da75f41f74d474b8e1\"\u003e\u003ccode\u003e78857a3\u003c/code\u003e\u003c/a\u003e Introduce with_debug_event_reporting to enable event reporter debug mode\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.4...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199e9a37366446c7f8fde4f\"\u003e\u003ccode\u003ed923a5e\u003c/code\u003e\u003c/a\u003e Fix heading levels in README and Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/88f14727fffea367e3801e05f72d17f9079281a9\"\u003e\u003ccode\u003e88f1472\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/22528139b10c9697a4790f334d9323ecc02c59fe\"\u003e\u003ccode\u003e2252813\u003c/code\u003e\u003c/a\u003e Replace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/af2d3f6e70b9551f94124e2dbab0d739127a8234\"\u003e\u003ccode\u003eaf2d3f6\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003epublic_suffix\u003c/code\u003e v7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/aaa53fe23417b0bb5ce198ed081a70e70f240260\"\u003e\u003ccode\u003eaaa53fe\u003c/code\u003e\u003c/a\u003e CI: restore older rubies for \u003ccode\u003epublic_suffix\u003c/code\u003e jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/49fc47477dc39f816bee25419c687e9a1f0282ef\"\u003e\u003ccode\u003e49fc474\u003c/code\u003e\u003c/a\u003e CI: fix \u003ccode\u003eprofile:template_match_memory\u003c/code\u003e task for Ruby \u0026gt;2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c0f98d5f18e428a601b55f3740546293a18fc371\"\u003e\u003ccode\u003ec0f98d5\u003c/code\u003e\u003c/a\u003e CI: use latest stable ruby outside the version matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/7cb10aae0353bc3c280aecaf3f62645b62c1ccce\"\u003e\u003ccode\u003e7cb10aa\u003c/code\u003e\u003c/a\u003e CI: test with modern JVM Rubies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/dd1adcfc8368ab188526f7160c6e74fe2ef4cafa\"\u003e\u003ccode\u003edd1adcf\u003c/code\u003e\u003c/a\u003e CI: less \u003ccode\u003eubuntu-22.04\u003c/code\u003e, more \u003ccode\u003eubuntu-24.04\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.8.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.8.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/111af8e8d3260dbd5b10a2dfec42a4e129d18705\"\u003e\u003ccode\u003e111af8e\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/d923a5e9a7b20ed57199...\n\n_Description has been truncated_","html_url":"https://github.com/DFE-Digital/teaching-vacancies/pull/8343","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DFE-Digital%2Fteaching-vacancies/issues/8343","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8343/packages"}},{"old_version":"8.0.2.1","new_version":"8.0.4","update_type":"patch","path":null,"pr_created_at":"2025-11-23T21:05:43.000Z","version_change":"8.0.2.1 → 8.0.4","issue":{"uuid":"3656462798","node_id":"PR_kwDOQZFI-s61Eqk8","number":109,"state":"open","title":"Build(deps): Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-23T21:05:43.000Z","updated_at":"2025-11-23T21:06:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n\n\nUpdates `actionmailer` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionmailer/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionpack` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionview` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activemodel` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activerecord` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activesupport` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `railties` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/railties/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activejob` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activejob/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)","html_url":"https://github.com/greptile-bench/discourse/pull/109","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greptile-bench%2Fdiscourse/issues/109","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/109/packages"}},{"old_version":"7.1.5.1","new_version":"7.1.6","update_type":"patch","path":null,"pr_created_at":"2025-11-23T07:49:35.000Z","version_change":"7.1.5.1 → 7.1.6","issue":{"uuid":"3655621345","node_id":"PR_kwDOK9Qsts61B-Nl","number":290,"state":"closed","title":"chore(deps): bump activemodel from 7.1.5.1 to 7.1.6","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-23T07:54:08.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-23T07:49:35.000Z","updated_at":"2025-11-23T07:54:09.000Z","time_to_close":273,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"activemodel","old_version":"7.1.5.1","new_version":"7.1.6","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 7.1.5.1 to 7.1.6.\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\u003e7.1.6\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\u003e\n\u003cp\u003eGracefully handle \u003ccode\u003eTimeout.timeout\u003c/code\u003e firing during connection configuration.\u003c/p\u003e\n\u003cp\u003eUse of \u003ccode\u003eTimeout.timeout\u003c/code\u003e could result in improperly initialized database connection.\u003c/p\u003e\n\u003cp\u003eThis could lead to a partially configured connection being used, resulting in various exceptions,\nthe most common being with the PostgreSQLAdapter raising \u003ccode\u003eundefined method \u003c/code\u003ekey?' for nil\u003ccode\u003eor\u003c/code\u003eTypeError: wrong argument type nil (expected PG::TypeMap)`.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix error handling during connection configuration.\u003c/p\u003e\n\u003cp\u003eActive Record wasn't properly handling errors during the connection configuration phase.\nThis could lead to a partially configured connection being used, resulting in various exceptions,\nthe most common being with the PostgreSQLAdapter raising \u003ccode\u003eundefined method \u003c/code\u003ekey?' for nil\u003ccode\u003eor\u003c/code\u003eTypeError: wrong argument type nil (expected PG::TypeMap)`.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix prepared statements on mysql2 adapter.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix a race condition in \u003ccode\u003eActiveRecord::Base#method_missing\u003c/code\u003e when lazily defining attributes.\u003c/p\u003e\n\u003cp\u003eIf multiple thread were concurrently triggering attribute definition on the same model,\nit could result in a \u003ccode\u003eNoMethodError\u003c/code\u003e being raised.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction View\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAction Pack\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/ffcbf6f205363f8c2fb3e9834bc86690dd59f1cb\"\u003e\u003ccode\u003effcbf6f\u003c/code\u003e\u003c/a\u003e Preparing for 7.1.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/de7d2894feb0248c958d3afcb9d8d2cbe43ed569\"\u003e\u003ccode\u003ede7d289\u003c/code\u003e\u003c/a\u003e Merge branch '7-1-sec' into 7-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ddb56de25997491b57868d3a119b6aa3cd31ad4b\"\u003e\u003ccode\u003eddb56de\u003c/code\u003e\u003c/a\u003e Preparing for 7.1.5.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a9a1a33b1ab2be55616d246385d4e42db3fc7f0\"\u003e\u003ccode\u003e0a9a1a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55085\"\u003e#55085\u003c/a\u003e from Earlopain/namespaced\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v7.1.5.1...v7.1.6\"\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=activemodel\u0026package-manager=bundler\u0026previous-version=7.1.5.1\u0026new-version=7.1.6)](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/okonomi/slkecho/pull/290","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/okonomi%2Fslkecho/issues/290","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/290/packages"}},{"old_version":"8.0.2.1","new_version":"8.0.4","update_type":"patch","path":null,"pr_created_at":"2025-11-21T02:19:23.000Z","version_change":"8.0.2.1 → 8.0.4","issue":{"uuid":"3649929463","node_id":"PR_kwDOQZFI-s60vBdH","number":69,"state":"open","title":"Build(deps): Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-21T02:19:23.000Z","updated_at":"2025-11-21T02:42:29.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n\n\nUpdates `actionmailer` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionmailer/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionpack` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionpack/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `actionview` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/actionview/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activemodel` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activemodel/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activerecord` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activerecord/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activesupport` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activesupport/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `railties` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/railties/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)\n\nUpdates `activejob` from 8.0.2.1 to 8.0.4\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.1/activejob/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4)","html_url":"https://github.com/greptile-bench/discourse/pull/69","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greptile-bench%2Fdiscourse/issues/69","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/69/packages"}},{"old_version":"8.0.2.1","new_version":"8.0.4","update_type":"patch","path":null,"pr_created_at":"2025-11-19T20:34:25.000Z","version_change":"8.0.2.1 → 8.0.4","issue":{"uuid":"3644333880","node_id":"PR_kwDOQZFI-s60cIUD","number":13,"state":"open","title":"Build(deps): Bump the rails group with 8 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-19T20:34:25.000Z","updated_at":"2025-11-19T23:02:06.949Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps): Bump","group_name":"rails","update_count":8,"packages":[{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the rails group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.4` |\n\nUpdates `actionmailer` from 8.0.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5f3b209016e0abb738d26accb6d97861f239fd63\"\u003e\u003ccode\u003e5f3b209\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2ec3115505bd1ea62fdc0f81057ecbb11f94830c\"\u003e\u003ccode\u003e2ec3115\u003c/code\u003e\u003c/a\u003e Fix CHANGELOG\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/648192531f46da609b37f417d34f49af183b3e45\"\u003e\u003ccode\u003e6481925\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/243e606288bc6b13edf0d5c91ebbd90ab36bc430\"\u003e\u003ccode\u003e243e606\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50390\"\u003e#50390\u003c/a\u003e from seanpdoyle/issue-50345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ab8e833991e493f57f03c10ee2a8a7fda218faae\"\u003e\u003ccode\u003eab8e833\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55820\"\u003e#55820\u003c/a\u003e from callmesangio/docs-fix-integrationtest-example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/847072c4f1276c069925e09391ad0cd3008b0d86\"\u003e\u003ccode\u003e847072c\u003c/code\u003e\u003c/a\u003e Fix TransitionTable#as_json compatibility with json 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a195ea9b4cb1997b3a01c53c0783ee05d4e514e8\"\u003e\u003ccode\u003ea195ea9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55668\"\u003e#55668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/87e495d0349869e05e1ec3736f93ca3b126d6a17\"\u003e\u003ccode\u003e87e495d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55675\"\u003e#55675\u003c/a\u003e from skipkayhil/hm-ouuplulxpznztlyp\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/95bee6a4c8132b4caf53e073f7b01ce5cdeed4a6\"\u003e\u003ccode\u003e95bee6a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55738\"\u003e#55738\u003c/a\u003e from skipkayhil/hm-nkxzsnnrqqlyrotw\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6409b24dd20ee4076ec3dbefba9edc3376bf13f1\"\u003e\u003ccode\u003e6409b24\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55719\"\u003e#55719\u003c/a\u003e from skipkayhil/hm-fix-label-for-namespace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6394bfbfcea64b104b4167701aa55a783a6c730a\"\u003e\u003ccode\u003e6394bfb\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55725\"\u003e#55725\u003c/a\u003e from byroot/js-include-type-module-sym\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/93fcfc12e0ac23593dd3b8a2ec247ec3c2f3545c\"\u003e\u003ccode\u003e93fcfc1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55587\"\u003e#55587\u003c/a\u003e from marcoroth/erubi-typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1cab75f5f05d20fb74be8fa35fba362b016277e3\"\u003e\u003ccode\u003e1cab75f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55677\"\u003e#55677\u003c/a\u003e from alexkuebo/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5a0c11ba6e8b4e41f11e99d6c37c3df2990525c\"\u003e\u003ccode\u003ef5a0c11\u003c/code\u003e\u003c/a\u003e Use comment for example return values [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5f3b209016e0abb738d26accb6d97861f239fd63\"\u003e\u003ccode\u003e5f3b209\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bbb624bbf34fa42381d391af7caf0cf5c18c8f6e\"\u003e\u003ccode\u003ebbb624b\u003c/code\u003e\u003c/a\u003e Link using rdoc-ref instead of rdoc-label [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cb12148f72837b74ba63f3fba0b891b50e49f6bb\"\u003e\u003ccode\u003ecb12148\u003c/code\u003e\u003c/a\u003e Use headings for args documentation [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/739827f563b021d224a465b446ccb53598fcd38d\"\u003e\u003ccode\u003e739827f\u003c/code\u003e\u003c/a\u003e Improve Active Model changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2b971fde3baf7a51799670870eb14b34ca6bb21f\"\u003e\u003ccode\u003e2b971fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55232\"\u003e#55232\u003c/a\u003e from \u003ca href=\"https://redirect.github.com/callmesangio/fix-/issues/55225\"\u003ecallmesangio/fix-gh-55225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\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/52347e0467445b350f482838da5bb503c155eb72\"\u003e\u003ccode\u003e52347e0\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/d2826215f9c9c1fe2f1c91e292171a042be1e9c5\"\u003e\u003ccode\u003ed282621\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\u003e\u003ca href=\"https://github.com/rails/rails/commit/511dbf2665746e54240c07b93b0d0ddc184873f9\"\u003e\u003ccode\u003e511dbf2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55907\"\u003e#55907\u003c/a\u003e from ruyrocha/fix/sqlite3-data-loss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bf9219d62aed746260e853cebe98503c8c27cdd5\"\u003e\u003ccode\u003ebf9219d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55918\"\u003e#55918\u003c/a\u003e from baarde/with-bound-sql-literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/865bc776d039645bd4b7f2c826ab4e0aaadf51b6\"\u003e\u003ccode\u003e865bc77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55332\"\u003e#55332\u003c/a\u003e from zzak/re-54882\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dee79c4a74723ce8016b2e96e3d6d5723f673aa6\"\u003e\u003ccode\u003edee79c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55778\"\u003e#55778\u003c/a\u003e from ianterrell/ianterrell/fix-autosave-changed-via...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivesupport's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c7a8a8208221c3f01bc841a8f7015ea00e86427\"\u003e\u003ccode\u003e3c7a8a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55864\"\u003e#55864\u003c/a\u003e from RicardoTrindade/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/00e1dfa973ce121d767c299a02d05b028caf8b5c\"\u003e\u003ccode\u003e00e1dfa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55840\"\u003e#55840\u003c/a\u003e from zzak/asup-xml-mini-bigdecimal-float-precision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3148ba1cfc8482c7e9115bbc68a84bf62543c46\"\u003e\u003ccode\u003ef3148ba\u003c/code\u003e\u003c/a\u003e [ci skip] Fix \u003ccode\u003etransform_keys!\u003c/code\u003e example in 8.0.3 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2e0b72cc3bd5afdc663ddbf35246dde880024e2e\"\u003e\u003ccode\u003e2e0b72c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55808\"\u003e#55808\u003c/a\u003e from olivier-thatch/fix-enum-sole\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6aab6c8a1cd9c87e9cab9dddeeae119a4df65a11\"\u003e\u003ccode\u003e6aab6c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55794\"\u003e#55794\u003c/a\u003e from rails/fix-55513\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/edeeb0eeedce6e97c4186e75103c4d979da058f9\"\u003e\u003ccode\u003eedeeb0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55786\"\u003e#55786\u003c/a\u003e from rails/fix-55776\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\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.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4f7d5ff8d7726420edc1cf7ab25cdb58015f9fa6\"\u003e\u003ccode\u003e4f7d5ff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55882\"\u003e#55882\u003c/a\u003e from rails/rm-fix-devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8f480ada67198f9e2f9d0f12e3ada4a735987cf5\"\u003e\u003ccode\u003e8f480ad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55746\"\u003e#55746\u003c/a\u003e from rails/rm-fix-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ff0d09392c6958128a1ed23ce589e0b894fc0e5\"\u003e\u003ccode\u003e0ff0d09\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55724\"\u003e#55724\u003c/a\u003e from fatkodima/preserve-locale-eml-preview\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a195ea9b4cb1997b3a01c53c0783ee05d4e514e8\"\u003e\u003ccode\u003ea195ea9\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e handling in URL helpers for root-mounted engines (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55668\"\u003e#55668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f7ec132e320cbd074678aaa9a6a0d140bac7bb0b\"\u003e\u003ccode\u003ef7ec132\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55495\"\u003e#55495\u003c/a\u003e from joaquintomas2003/authentication_test_files_gen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/09d468bf17991d591d91ffd25294ecfb6d42b75f\"\u003e\u003ccode\u003e09d468b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55227\"\u003e#55227\u003c/a\u003e from fabricerenard12/55215_name_error_health_contro...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4aa38935138b8684a881a6d8d9ae0bc5411e75ee\"\u003e\u003ccode\u003e4aa3893\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55622\"\u003e#55622\u003c/a\u003e from zzak/8-0-54031\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.0.2.1 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/529f933fc8b13114d308dd0752f76a9e293c8537\"\u003e\u003ccode\u003e529f933\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0160f42886e2ebeb7a0680f073b870326f14c12a\"\u003e\u003ccode\u003e0160f42\u003c/code\u003e\u003c/a\u003e Sync CHANGELOGs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/52432156016361d7636487586dc6360bf49e8db3\"\u003e\u003ccode\u003e5243215\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55682\"\u003e#55682\u003c/a\u003e from npezza93/bug-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fd6ae05dc80496740e8ff839bad14d24e6d5882e\"\u003e\u003ccode\u003efd6ae05\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55661\"\u003e#55661\u003c/a\u003e from npezza93/job-date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ae73ec66f9d5a99815c66b26eb050716109dda6d\"\u003e\u003ccode\u003eae73ec6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55568\"\u003e#55568\u003c/a\u003e from zzak/sidekiq-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b2ad4179f8b36e39d6eafe29d7e42b1199707069\"\u003e\u003ccode\u003eb2ad417\u003c/code\u003e\u003c/a\u003e Merge security patches in 8-0-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5f3b209016e0abb738d26accb6d97861f239fd63\"\u003e\u003ccode\u003e5f3b209\u003c/code\u003e\u003c/a\u003e Replace \u0026quot;mailing list\u0026quot; with \u0026quot;forum\u0026quot; [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e4049d3e84d4ce06a8bb49ce029f33dcd75a5f2d\"\u003e\u003ccode\u003ee4049d3\u003c/code\u003e\u003c/a\u003e Add missing punctuation [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/69f3f88ab30fbeb312c0968313b5f097997870ba\"\u003e\u003ccode\u003e69f3f88\u003c/code\u003e\u003c/a\u003e Fully qualify ActiveJob::Arguments for auto-link [ci-skip]\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/greptile-bench/discourse/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/greptile-bench%2Fdiscourse/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"8.1.0","new_version":"8.1.1","update_type":"patch","path":null,"pr_created_at":"2025-11-13T18:04:25.000Z","version_change":"8.1.0 → 8.1.1","issue":{"uuid":"3622249291","node_id":"PR_kwDOABNy5s6zSC7I","number":245,"state":"closed","title":"Bump the dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-25T18:02:52.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-13T18:04:25.000Z","updated_at":"2025-11-25T18:02:54.000Z","time_to_close":1036707,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":26,"packages":[{"name":"activemodel","old_version":"8.1.0","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"json","old_version":"2.15.1","new_version":"2.16.0","repository_url":"https://github.com/ruby/json"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activemodel](https://github.com/rails/rails) | `8.1.0` | `8.1.1` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [json](https://github.com/ruby/json) | `2.15.1` | `2.16.0` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n\n\nUpdates `activemodel` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.0 to 13.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/f0001c3eeada8220f2976170876c75d21ed0626f\"\u003e\u003ccode\u003ef0001c3\u003c/code\u003e\u003c/a\u003e v13.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a644c808b98692cab776734ab92397df5e2de48b\"\u003e\u003ccode\u003ea644c80\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/483\"\u003e#483\u003c/a\u003e from luke-gru/fix_test_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2465ea541d6d721e3e03cd4a75594928032a8731\"\u003e\u003ccode\u003e2465ea5\u003c/code\u003e\u003c/a\u003e silence warnings during execution of rake tasks in Rakefile (ex: rake test)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/df25fb13f015c0f5ff8e7e46e71c28df33ebf34b\"\u003e\u003ccode\u003edf25fb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/610\"\u003e#610\u003c/a\u003e from pvdb/fix_testhelper_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/ec12ac969b708ba2488f02c164b8581f3f828922\"\u003e\u003ccode\u003eec12ac9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/635\"\u003e#635\u003c/a\u003e from nevans/deconstruct_keys-for-nil-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4664a69fcac064c1f727c8fc99f366958fa3a08b\"\u003e\u003ccode\u003e4664a69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/666\"\u003e#666\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/7a0bf15a81e7d3508e33de4d9398ae640bb50d68\"\u003e\u003ccode\u003e7a0bf15\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.265.0 to 1.266.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3ed7892ad1bc15aed7dbb4c02038d8088fad5f6\"\u003e\u003ccode\u003eb3ed789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/665\"\u003e#665\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/1e7ef52f75be42cbe611e14d8efd7bcd62472a86\"\u003e\u003ccode\u003e1e7ef52\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.263.0 to 1.265.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/77225e17c0675d5d2adc40e267291ebffa0c38e0\"\u003e\u003ccode\u003e77225e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/664\"\u003e#664\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.0...v13.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.0 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.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.15.1 to 2.16.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.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.2...v2.16.0\"\u003ehttps://github.com/ruby/json/compare/v2.15.2...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.15.2\"\u003ehttps://github.com/ruby/json/compare/v2.15.1...v2.15.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e2025-11-07 (2.16.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-10-25 (2.15.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\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/ruby/json/commit/5a12067f8878d94739d70e0085b91c88fd9e31d6\"\u003e\u003ccode\u003e5a12067\u003c/code\u003e\u003c/a\u003e Release 2.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e9fbc8937f21041962146201c97f9e65a7ce5af2\"\u003e\u003ccode\u003ee9fbc89\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/826cb2a4f4a384562ad809af1d1dcb4a2f0e4f5c\"\u003e\u003ccode\u003e826cb2a\u003c/code\u003e\u003c/a\u003e Get rid of JSON.deep_const_get (private API)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/fce1c7e84a72d03fe5824f0b1197195189397b68\"\u003e\u003ccode\u003efce1c7e\u003c/code\u003e\u003c/a\u003e Tentative fix for RHEL8 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/a67d1a1af481693304dfa894901f8a8b186c1221\"\u003e\u003ccode\u003ea67d1a1\u003c/code\u003e\u003c/a\u003e Micro-optimize \u003ccode\u003erstring_cache_fetch\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ddad00b7469c04f58fd29779ba84bf75a8283515\"\u003e\u003ccode\u003eddad00b\u003c/code\u003e\u003c/a\u003e Extract \u003ccode\u003eJSON_CPU_LITTLE_ENDIAN_64BITS\u003c/code\u003e definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3bc1787bd413953bbfad237d06082a0c905ef945\"\u003e\u003ccode\u003e3bc1787\u003c/code\u003e\u003c/a\u003e ext/json/ext/json.h: Add missing newline at end of file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/591510392a6d5f794470b45576ca006f58a74f6d\"\u003e\u003ccode\u003e5915103\u003c/code\u003e\u003c/a\u003e Fix duplicate 'inline' declaration specifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/043880f6abd966d515b223df2a401fc5f48feb40\"\u003e\u003ccode\u003e043880f\u003c/code\u003e\u003c/a\u003e parser.c: Always inline \u003ccode\u003ejson_eat_whitespace\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/21284ea6490e8c2fb077d90c17f587c2479edaee\"\u003e\u003ccode\u003e21284ea\u003c/code\u003e\u003c/a\u003e parser.c: use \u003ccode\u003erb_str_to_interned_str\u003c/code\u003e over \u003ccode\u003erb_funcall\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.0 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\"\u003eactioncable'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/actioncable/CHANGELOG.md\"\u003eactioncable'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.1.0 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\"\u003eactionmailbox'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/actionmailbox/CHANGELOG.md\"\u003eactionmailbox'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.1.0 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.1.0 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.0 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\"\u003eactivejob'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/activejob/CHANGELOG.md\"\u003eactivejob'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\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\u003c/blockquote\u003e\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/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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.1.0 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\"\u003eactivestorage'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/activestorage/CHANGELOG.md\"\u003eactivestorage'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.4.1 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify description of this library by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix broken rdoc-ref to the calendar page by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TruffleRuby in CI by \u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose dangling else in braces and fix -Wmisleading-indentation by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/117\"\u003eruby/date#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd license files (COPYING, BSDL) to gem files by \u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewindows-2019 will be EOL at end of June, 2025 by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/124\"\u003eruby/date#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias value to take in 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/ruby/date/pull/127\"\u003eruby/date#127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved workaround for assert_ractor by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/128\"\u003eruby/date#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress warnings by gcc-13 with \u003ccode\u003e-Og\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/129\"\u003eruby/date#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to FL_EXIVAR 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/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Date#hash for large years by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check for fixnum lower bound in m_ajd by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/131\"\u003eruby/date#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress maybe-uninitialized warning by gcc-13 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/139\"\u003eruby/date#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not repeat conversions to string by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/140\"\u003eruby/date#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/141\"\u003eruby/date#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/142\"\u003eruby/date#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/143\"\u003eruby/date#143\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/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ehttps://github.com/ruby/date/compare/v3.4.1...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/c941d1a8a88ead5633679d13618217aa83a455a0\"\u003e\u003ccode\u003ec941d1a\u003c/code\u003e\u003c/a\u003e Need to compile before release-gem for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/d535f7e85fbb8841e0b1cd363b4497b195ebe110\"\u003e\u003ccode\u003ed535f7e\u003c/code\u003e\u003c/a\u003e v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b703fcb45036c59436af9d684558ce5cf1dc75f6\"\u003e\u003ccode\u003eb703fcb\u003c/code\u003e\u003c/a\u003e Update the latest versions of actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/af863b54f33c40be90fe8cc841202ec53b27a43e\"\u003e\u003ccode\u003eaf863b5\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/date/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/545066ca28b2a6536e6d58a4e2bdb0653ec82caa\"\u003e\u003ccode\u003e545066c\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/4f7b6c9b421eacd74c1f34ddd482f3b7f002d316\"\u003e\u003ccode\u003e4f7b6c9\u003c/code\u003e\u003c/a\u003e Test for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/159e1ebb7fcd7d06d699d51f713637ee9c3cf406\"\u003e\u003ccode\u003e159e1eb\u003c/code\u003e\u003c/a\u003e Do not repeat conversions to string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/5d48e5d1b8c65ce5551565cbca5f735e96d6275c\"\u003e\u003ccode\u003e5d48e5d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/138\"\u003e#138\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/0c8e5a68450e8421604e852e5f2630f59511933a\"\u003e\u003ccode\u003e0c8e5a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/139\"\u003e#139\u003c/a\u003e from nobu/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/afaa4a997b45c8318b66a7b7ab30848793c01d99\"\u003e\u003ccode\u003eafaa4a9\u003c/code\u003e\u003c/a\u003e Suppress maybe-uninitialized warning by gcc-13\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `irb` from 1.15.2 to 1.15.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove prompt generating performance by caching prompt parts(%m, %M) by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1127\"\u003eruby/irb#1127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not save consecutive duplicate commands to history by \u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle keyword local variables correctly by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1085\"\u003eruby/irb#1085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil error on debugger prompt by \u003ca href=\"https://github.com/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix methods defined with invalid encoding are not displayed in completion by \u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix show_source command when obj.method is overrided by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1111\"\u003eruby/irb#1111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset IOGate.set_winch_handler when dancing ruby easter-egg terminates by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1124\"\u003eruby/irb#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix UTF-16 autocompletion by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix link by \u003ca href=\"https://github.com/BurdetteLamar\"\u003e\u003ccode\u003e@​BurdetteLamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1112\"\u003eruby/irb#1112\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid intermediate array from split by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1093\"\u003eruby/irb#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace gsub with rstrip by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1095\"\u003eruby/irb#1095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer filter_map and map+grep instead of map+compact and select+map by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1094\"\u003eruby/irb#1094\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnabled trusted publisher for rubygems.org by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1100\"\u003eruby/irb#1100\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typos and wording on sigint section of docs by \u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.0 to 2.12.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1105\"\u003eruby/irb#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.1 to 2.12.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1108\"\u003eruby/irb#1108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1109\"\u003eruby/irb#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGemfile: add github dependency on rbs by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1117\"\u003eruby/irb#1117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1116\"\u003eruby/irb#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1119\"\u003eruby/irb#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1121\"\u003eruby/irb#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Include document files in the generated gem file by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1098\"\u003eruby/irb#1098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump integration test's timeout on CI to 30s by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1122\"\u003eruby/irb#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix prompt cache flaky test by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1130\"\u003eruby/irb#1130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1131\"\u003eruby/irb#1131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEaster-egg Use endless range instead of step by \u003ca href=\"https://github.com/RicardoTrindade\"\u003e\u003ccode\u003e@​RicardoTrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1123\"\u003eruby/irb#1123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 1.15.3 by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1134\"\u003eruby/irb#1134\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/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ehttps://github.com/ruby/irb/compare/v1.15.2...v1.15.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/7ea448915f88502212d6b12b3a4839e7f057e45b\"\u003e\u003ccode\u003e7ea4489\u003c/code\u003e\u003c/a\u003e Bump version to 1.15.3 (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c7e3227adc984fb4cdd1b9008a4a89984a343c35\"\u003e\u003ccode\u003ec7e3227\u003c/code\u003e\u003c/a\u003e Do not save consecutive duplicate commands to history (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1120\"\u003e#1120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/f71180028812698e393be1ce56eef103b14dd3b3\"\u003e\u003ccode\u003ef711800\u003c/code\u003e\u003c/a\u003e Use endless range instead of step (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1123\"\u003e#1123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/18d152b8e9fe545ccbba3bdc83b0a5fb5904ae6c\"\u003e\u003ccode\u003e18d152b\u003c/code\u003e\u003c/a\u003e Fix UTF-16 autocompletion (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1129\"\u003e#1129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/e45bb6ba9c6dd2ab42a686fe16ed2fe6e0ab4a0a\"\u003e\u003ccode\u003ee45bb6b\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/50db8f873abab9319dfa9a82f94ca2170030501f\"\u003e\u003ccode\u003e50db8f8\u003c/code\u003e\u003c/a\u003e Fix prompt cache flaky test (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c95ee7819b26af8a1754e13f252f8edfa683ade8\"\u003e\u003ccode\u003ec95ee78\u003c/code\u003e\u003c/a\u003e Improve prompt generating performance by caching prompt parts(%m, %M) (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/3893f1877617742b3470a6ddec2502d9db088431\"\u003e\u003ccode\u003e3893f18\u003c/code\u003e\u003c/a\u003e Reset IOGate.set_winch_handler when dancing ruby easter-egg terminates (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1124\"\u003e#1124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/d43c3d764ae439706aa1b26a3ec299cc45eaed5b\"\u003e\u003ccode\u003ed43c3d7\u003c/code\u003e\u003c/a\u003e Bump integration test's timeout on CI to 30s (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c4cae4806c4df15a27358f3465930483a1aeb00b\"\u003e\u003ccode\u003ec4cae48\u003c/code\u003e\u003c/a\u003e [DOC] Include document files in the generated gem file (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 5.26.0 to 5.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minitest/minitest/blob/master/History.rdoc\"\u003eminitest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.26.1 / 2025-11-08\u003c/p\u003e\n\u003cp\u003eThe Ocean Shores, Slightly Less Tipsy Edition!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e3 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd links to API doco in README.\u003c/li\u003e\n\u003cli\u003eAdd missing require thread.\u003c/li\u003e\n\u003cli\u003eBumped ruby version to include 4.0 (trunk). (hsbt)\n(see also 5.14.2)\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/minitest/minitest/commit/15265da64bd93cbed6c1eecb4a85c88329297e37\"\u003e\u003ccode\u003e15265da\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/7b2e090b5bac2466177dc1b56deff2ec1cae4c0e\"\u003e\u003ccode\u003e7b2e090\u003c/code\u003e\u003c/a\u003e - Bumped ruby version to include 4.0 (trunk). (hsbt)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c54c262511b53df6a8d34e3fdcf6b3e542400bab\"\u003e\u003ccode\u003ec54c262\u003c/code\u003e\u003c/a\u003e Ryan! STAHP! Stop trying to \u0026quot;optimize\u0026quot; this.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/690d38a20713e4d0e449cf7de87de7d9fcb01456\"\u003e\u003ccode\u003e690d38a\u003c/code\u003e\u003c/a\u003e - Add links to API doco in README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/d80a4fd5a4bb4c127da84b7632a654cf47afe598\"\u003e\u003ccode\u003ed80a4fd\u003c/code\u003e\u003c/a\u003e Comment end of larger classes w/ name to help navigation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/8d4cf64186692242ea516a39b11f3adc8666ee2d\"\u003e\u003ccode\u003e8d4cf64\u003c/code\u003e\u003c/a\u003e Fix formatting of design_rationale.rb, update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/0db7aacae99d713e9aec789da699efa8c6349bbd\"\u003e\u003ccode\u003e0db7aac\u003c/code\u003e\u003c/a\u003e tweak assertion count to be consistent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/2f0848aba13e013a5ba18530d56079010007026e\"\u003e\u003ccode\u003e2f0848a\u003c/code\u003e\u003c/a\u003e - Add missing require thread.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v5.26.0...v5.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nio4r` from 2.7.4 to 2.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/socketry/nio4r/blob/main/releases.md\"\u003enio4r's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eReleases\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/8d49449f3818cdfed9b46eb6587620fdebb6be6b\"\u003e\u003ccode\u003e8d49449\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/d3105796bd3e487001505daee8fca92b7105a8e5\"\u003e\u003ccode\u003ed310579\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etea.yaml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/ca7686294052c46288ac0c47c3be348c6441ed29\"\u003e\u003ccode\u003eca76862\u003c/code\u003e\u003c/a\u003e Fix for \u003ccode\u003eOpenSSL::SSL::SSLContext\u003c/code\u003e \u003ccode\u003eset_minmax_proto_version\u003c/code\u003e removal. (\u003ca href=\"https://redirect.github.com/socketry/nio4r/issues/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/315b1f62d038e2287f4dc852638fdf19a03cae87\"\u003e\u003ccode\u003e315b1f6\u003c/code\u003e\u003c/a\u003e Update releases.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/socketry/nio4r/compare/v2.7.4...v2.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.2.3 to 3.2.4\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\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\u003c/blockquote\u003e\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/4c24539777db8833d78f881680cd245878cfba31\"\u003e\u003ccode\u003e4c24539\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/3ba5e4f22f55abac21037bb137e56e5c8e36b673\"\u003e\u003ccode\u003e3ba5e4f\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\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 6.15.0 to 6.15.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.15.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Herb linter and fix HTML and ERB linting issues by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1434\"\u003eruby/rdoc#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove search result by prioritizing exact matches by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1433\"\u003eruby/rdoc#1433\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd AGENTS.md and CLAUDE.md to the project by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1439\"\u003eruby/rdoc#1439\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRescue RuboCop rake tasks require error by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1431\"\u003eruby/rdoc#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-artifact from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1437\"\u003eruby/rdoc#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1436\"\u003eruby/rdoc#1436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 6.15.1 by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1441\"\u003eruby/rdoc#1441\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/rdoc/compare/v6.15.0...v6.15.1\"\u003ehttps://github.com/ruby/rdoc/compare/v6.15.0...v6.15.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/386baadd2d32a92980ea57a652f398c20a286b30\"\u003e\u003ccode\u003e386baad\u003c/code\u003e\u003c/a\u003e Bump version to 6.15.1 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1441\"\u003e#1441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/16ae9e83abdee2d066ffc16d58c901d43cbede8b\"\u003e\u003ccode\u003e16ae9e8\u003c/code\u003e\u003c/a\u003e Improve search result by prioritizing exact matches (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/0c163304b0a0969993d9f112edc08ae15912b63f\"\u003e\u003ccode\u003e0c16330\u003c/code\u003e\u003c/a\u003e Add AGENTS.md and CLAUDE.md to the project (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1439\"\u003e#1439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/c03a250e50a0a8bcdf72e65e30e946e025...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/245","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/245","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/245/packages"}},{"old_version":"8.1.0","new_version":"8.1.1","update_type":"patch","path":null,"pr_created_at":"2025-11-10T18:22:32.000Z","version_change":"8.1.0 → 8.1.1","issue":{"uuid":"3609183616","node_id":"PR_kwDOABNy5s6ymAgx","number":243,"state":"closed","title":"Bump the dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-12T18:03:00.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-10T18:22:32.000Z","updated_at":"2025-11-12T18:03:02.000Z","time_to_close":171628,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":26,"packages":[{"name":"activemodel","old_version":"8.1.0","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"json","old_version":"2.15.1","new_version":"2.16.0","repository_url":"https://github.com/ruby/json"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"erb","old_version":"5.1.1","new_version":"5.1.3","repository_url":"https://github.com/ruby/erb"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 10 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activemodel](https://github.com/rails/rails) | `8.1.0` | `8.1.1` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [json](https://github.com/ruby/json) | `2.15.1` | `2.16.0` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [erb](https://github.com/ruby/erb) | `5.1.1` | `5.1.3` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n\n\nUpdates `activemodel` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rake` from 13.3.0 to 13.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/f0001c3eeada8220f2976170876c75d21ed0626f\"\u003e\u003ccode\u003ef0001c3\u003c/code\u003e\u003c/a\u003e v13.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a644c808b98692cab776734ab92397df5e2de48b\"\u003e\u003ccode\u003ea644c80\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/483\"\u003e#483\u003c/a\u003e from luke-gru/fix_test_warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2465ea541d6d721e3e03cd4a75594928032a8731\"\u003e\u003ccode\u003e2465ea5\u003c/code\u003e\u003c/a\u003e silence warnings during execution of rake tasks in Rakefile (ex: rake test)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/df25fb13f015c0f5ff8e7e46e71c28df33ebf34b\"\u003e\u003ccode\u003edf25fb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/610\"\u003e#610\u003c/a\u003e from pvdb/fix_testhelper_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/ec12ac969b708ba2488f02c164b8581f3f828922\"\u003e\u003ccode\u003eec12ac9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/635\"\u003e#635\u003c/a\u003e from nevans/deconstruct_keys-for-nil-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/4664a69fcac064c1f727c8fc99f366958fa3a08b\"\u003e\u003ccode\u003e4664a69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/666\"\u003e#666\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/7a0bf15a81e7d3508e33de4d9398ae640bb50d68\"\u003e\u003ccode\u003e7a0bf15\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.265.0 to 1.266.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3ed7892ad1bc15aed7dbb4c02038d8088fad5f6\"\u003e\u003ccode\u003eb3ed789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/665\"\u003e#665\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/1e7ef52f75be42cbe611e14d8efd7bcd62472a86\"\u003e\u003ccode\u003e1e7ef52\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.263.0 to 1.265.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/77225e17c0675d5d2adc40e267291ebffa0c38e0\"\u003e\u003ccode\u003e77225e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/664\"\u003e#664\u003c/a\u003e from ruby/dependabot/github_actions/ruby/setup-ruby-1...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.0...v13.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.0 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.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.15.1 to 2.16.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.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.2...v2.16.0\"\u003ehttps://github.com/ruby/json/compare/v2.15.2...v2.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.15.2\"\u003ehttps://github.com/ruby/json/compare/v2.15.1...v2.15.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e2025-11-07 (2.16.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e. Consider using \u003ccode\u003eJSON::Coder\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e now also yields to the block when encountering strings with invalid encoding.\u003c/li\u003e\n\u003cli\u003eFix GeneratorError messages to be UTF-8 encoded.\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eException\u003c/code\u003e is raised, or \u003ccode\u003ethrow\u003c/code\u003e is used during JSON generation.\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing by integrating the ryu algorithm (thanks to Josef Šimánek).\u003c/li\u003e\n\u003cli\u003eOptimized numbers parsing using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003cli\u003eOptimized parsing of pretty printed documents using SWAR (thanks to Scott Myron).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-10-25 (2.15.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to have one dedicated depth counter per invocation.\nAfter encountering a circular reference in \u003ccode\u003eJSON::Coder#dump\u003c/code\u003e, any further \u003ccode\u003e#dump\u003c/code\u003e call would raise \u003ccode\u003eJSON::NestingError\u003c/code\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/ruby/json/commit/5a12067f8878d94739d70e0085b91c88fd9e31d6\"\u003e\u003ccode\u003e5a12067\u003c/code\u003e\u003c/a\u003e Release 2.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e9fbc8937f21041962146201c97f9e65a7ce5af2\"\u003e\u003ccode\u003ee9fbc89\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eJSON::State#[]\u003c/code\u003e and \u003ccode\u003eJSON::State#[]=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/826cb2a4f4a384562ad809af1d1dcb4a2f0e4f5c\"\u003e\u003ccode\u003e826cb2a\u003c/code\u003e\u003c/a\u003e Get rid of JSON.deep_const_get (private API)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/fce1c7e84a72d03fe5824f0b1197195189397b68\"\u003e\u003ccode\u003efce1c7e\u003c/code\u003e\u003c/a\u003e Tentative fix for RHEL8 compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/a67d1a1af481693304dfa894901f8a8b186c1221\"\u003e\u003ccode\u003ea67d1a1\u003c/code\u003e\u003c/a\u003e Micro-optimize \u003ccode\u003erstring_cache_fetch\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ddad00b7469c04f58fd29779ba84bf75a8283515\"\u003e\u003ccode\u003eddad00b\u003c/code\u003e\u003c/a\u003e Extract \u003ccode\u003eJSON_CPU_LITTLE_ENDIAN_64BITS\u003c/code\u003e definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3bc1787bd413953bbfad237d06082a0c905ef945\"\u003e\u003ccode\u003e3bc1787\u003c/code\u003e\u003c/a\u003e ext/json/ext/json.h: Add missing newline at end of file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/591510392a6d5f794470b45576ca006f58a74f6d\"\u003e\u003ccode\u003e5915103\u003c/code\u003e\u003c/a\u003e Fix duplicate 'inline' declaration specifier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/043880f6abd966d515b223df2a401fc5f48feb40\"\u003e\u003ccode\u003e043880f\u003c/code\u003e\u003c/a\u003e parser.c: Always inline \u003ccode\u003ejson_eat_whitespace\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/21284ea6490e8c2fb077d90c17f587c2479edaee\"\u003e\u003ccode\u003e21284ea\u003c/code\u003e\u003c/a\u003e parser.c: use \u003ccode\u003erb_str_to_interned_str\u003c/code\u003e over \u003ccode\u003erb_funcall\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.15.1...v2.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.0 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\"\u003eactioncable'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/actioncable/CHANGELOG.md\"\u003eactioncable'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.1.0 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\"\u003eactionmailbox'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/actionmailbox/CHANGELOG.md\"\u003eactionmailbox'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.1.0 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.1.0 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.0 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\"\u003eactivejob'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/activejob/CHANGELOG.md\"\u003eactivejob'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\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\u003c/blockquote\u003e\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/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/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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.1.0 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\"\u003eactivestorage'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/activestorage/CHANGELOG.md\"\u003eactivestorage'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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...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.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.0...v8.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.4.1 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify description of this library by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix broken rdoc-ref to the calendar page by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TruffleRuby in CI by \u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose dangling else in braces and fix -Wmisleading-indentation by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/117\"\u003eruby/date#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd license files (COPYING, BSDL) to gem files by \u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewindows-2019 will be EOL at end of June, 2025 by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/124\"\u003eruby/date#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias value to take in 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/ruby/date/pull/127\"\u003eruby/date#127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved workaround for assert_ractor by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/128\"\u003eruby/date#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress warnings by gcc-13 with \u003ccode\u003e-Og\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/129\"\u003eruby/date#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to FL_EXIVAR 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/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Date#hash for large years by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check for fixnum lower bound in m_ajd by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/131\"\u003eruby/date#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress maybe-uninitialized warning by gcc-13 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/139\"\u003eruby/date#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not repeat conversions to string by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/140\"\u003eruby/date#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/141\"\u003eruby/date#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/142\"\u003eruby/date#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/143\"\u003eruby/date#143\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/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ehttps://github.com/ruby/date/compare/v3.4.1...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/c941d1a8a88ead5633679d13618217aa83a455a0\"\u003e\u003ccode\u003ec941d1a\u003c/code\u003e\u003c/a\u003e Need to compile before release-gem for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/d535f7e85fbb8841e0b1cd363b4497b195ebe110\"\u003e\u003ccode\u003ed535f7e\u003c/code\u003e\u003c/a\u003e v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b703fcb45036c59436af9d684558ce5cf1dc75f6\"\u003e\u003ccode\u003eb703fcb\u003c/code\u003e\u003c/a\u003e Update the latest versions of actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/af863b54f33c40be90fe8cc841202ec53b27a43e\"\u003e\u003ccode\u003eaf863b5\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/date/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/545066ca28b2a6536e6d58a4e2bdb0653ec82caa\"\u003e\u003ccode\u003e545066c\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/4f7b6c9b421eacd74c1f34ddd482f3b7f002d316\"\u003e\u003ccode\u003e4f7b6c9\u003c/code\u003e\u003c/a\u003e Test for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/159e1ebb7fcd7d06d699d51f713637ee9c3cf406\"\u003e\u003ccode\u003e159e1eb\u003c/code\u003e\u003c/a\u003e Do not repeat conversions to string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/5d48e5d1b8c65ce5551565cbca5f735e96d6275c\"\u003e\u003ccode\u003e5d48e5d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/138\"\u003e#138\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/0c8e5a68450e8421604e852e5f2630f59511933a\"\u003e\u003ccode\u003e0c8e5a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/139\"\u003e#139\u003c/a\u003e from nobu/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/afaa4a997b45c8318b66a7b7ab30848793c01d99\"\u003e\u003ccode\u003eafaa4a9\u003c/code\u003e\u003c/a\u003e Suppress maybe-uninitialized warning by gcc-13\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 5.1.1 to 5.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/releases\"\u003eerb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.3\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.2...v5.1.3\"\u003ehttps://github.com/ruby/erb/compare/v5.1.2...v5.1.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor html_escape by \u003ca href=\"https://github.com/noteflakes\"\u003e\u003ccode\u003e@​noteflakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/88\"\u003eruby/erb#88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata by \u003ca href=\"https://github.com/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.2\"\u003ehttps://github.com/ruby/erb/compare/v5.1.1...v5.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease v5.1.2 with trusted publishing for JRuby\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/ruby/erb/commit/e8d382a83e899d21621e50fd27ade67ade1c1be5\"\u003e\u003ccode\u003ee8d382a\u003c/code\u003e\u003c/a\u003e Version 5.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ae5bc380b9adf6ca0fbbf7f4f67d8695541dd646\"\u003e\u003ccode\u003eae5bc38\u003c/code\u003e\u003c/a\u003e Publish a gem for JRuby as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/daa0e8712f41ba088b9af63cffd2328aefe6548b\"\u003e\u003ccode\u003edaa0e87\u003c/code\u003e\u003c/a\u003e Version 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/fa6a2c9f07ca47a614d7dcf6ecb71d2dc39287af\"\u003e\u003ccode\u003efa6a2c9\u003c/code\u003e\u003c/a\u003e Add a workflow for trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/85a4f10332a6b25b7b807a67447bb9bbfc00f3c3\"\u003e\u003ccode\u003e85a4f10\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/89\"\u003e#89\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/c231ced3f4c1b6e1b2a41215a45d4df54f44cb10\"\u003e\u003ccode\u003ec231ced\u003c/code\u003e\u003c/a\u003e html_escape: refactor redundant if (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/88\"\u003e#88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `irb` from 1.15.2 to 1.15.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove prompt generating performance by caching prompt parts(%m, %M) by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1127\"\u003eruby/irb#1127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not save consecutive duplicate commands to history by \u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHandle keyword local variables correctly by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1085\"\u003eruby/irb#1085\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nil error on debugger prompt by \u003ca href=\"https://github.com/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix methods defined with invalid encoding are not displayed in completion by \u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix show_source command when obj.method is overrided by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1111\"\u003eruby/irb#1111\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReset IOGate.set_winch_handler when dancing ruby easter-egg terminates by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1124\"\u003eruby/irb#1124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix UTF-16 autocompletion by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Fix link by \u003ca href=\"https://github.com/BurdetteLamar\"\u003e\u003ccode\u003e@​BurdetteLamar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1112\"\u003eruby/irb#1112\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid intermediate array from split by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1093\"\u003eruby/irb#1093\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace gsub with rstrip by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1095\"\u003eruby/irb#1095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer filter_map and map+grep instead of map+compact and select+map by \u003ca href=\"https://github.com/Maumagnaguagno\"\u003e\u003ccode\u003e@​Maumagnaguagno\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1094\"\u003eruby/irb#1094\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnabled trusted publisher for rubygems.org by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1100\"\u003eruby/irb#1100\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typos and wording on sigint section of docs by \u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.0 to 2.12.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1105\"\u003eruby/irb#1105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.1 to 2.12.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1108\"\u003eruby/irb#1108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.12.2 to 2.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1109\"\u003eruby/irb#1109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGemfile: add github dependency on rbs by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1117\"\u003eruby/irb#1117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1116\"\u003eruby/irb#1116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-pages-artifact from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1119\"\u003eruby/irb#1119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.13.0 to 2.13.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1121\"\u003eruby/irb#1121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Include document files in the generated gem file by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1098\"\u003eruby/irb#1098\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump integration test's timeout on CI to 30s by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1122\"\u003eruby/irb#1122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix prompt cache flaky test by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1130\"\u003eruby/irb#1130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.1 to 1.1.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1131\"\u003eruby/irb#1131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEaster-egg Use endless range instead of step by \u003ca href=\"https://github.com/RicardoTrindade\"\u003e\u003ccode\u003e@​RicardoTrindade\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1123\"\u003eruby/irb#1123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 1.15.3 by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1134\"\u003eruby/irb#1134\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/muno92\"\u003e\u003ccode\u003e@​muno92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1097\"\u003eruby/irb#1097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stevo-S\"\u003e\u003ccode\u003e@​Stevo-S\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1104\"\u003eruby/irb#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ksaito422\"\u003e\u003ccode\u003e@​ksaito422\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1101\"\u003eruby/irb#1101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1129\"\u003eruby/irb#1129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/topalovic\"\u003e\u003ccode\u003e@​topalovic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1120\"\u003eruby/irb#1120\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ehttps://github.com/ruby/irb/compare/v1.15.2...v1.15.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/7ea448915f88502212d6b12b3a4839e7f057e45b\"\u003e\u003ccode\u003e7ea4489\u003c/code\u003e\u003c/a\u003e Bump version to 1.15.3 (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1134\"\u003e#1134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c7e3227adc984fb4cdd1b9008a4a89984a343c35\"\u003e\u003ccode\u003ec7e3227\u003c/code\u003e\u003c/a\u003e Do not save consecutive duplicate commands to history (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1120\"\u003e#1120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/f71180028812698e393be1ce56eef103b14dd3b3\"\u003e\u003ccode\u003ef711800\u003c/code\u003e\u003c/a\u003e Use endless range instead of step (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1123\"\u003e#1123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/18d152b8e9fe545ccbba3bdc83b0a5fb5904ae6c\"\u003e\u003ccode\u003e18d152b\u003c/code\u003e\u003c/a\u003e Fix UTF-16 autocompletion (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1129\"\u003e#1129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/e45bb6ba9c6dd2ab42a686fe16ed2fe6e0ab4a0a\"\u003e\u003ccode\u003ee45bb6b\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.1.1 to 1.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/50db8f873abab9319dfa9a82f94ca2170030501f\"\u003e\u003ccode\u003e50db8f8\u003c/code\u003e\u003c/a\u003e Fix prompt cache flaky test (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1130\"\u003e#1130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c95ee7819b26af8a1754e13f252f8edfa683ade8\"\u003e\u003ccode\u003ec95ee78\u003c/code\u003e\u003c/a\u003e Improve prompt generating performance by caching prompt parts(%m, %M) (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1127\"\u003e#1127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/3893f1877617742b3470a6ddec2502d9db088431\"\u003e\u003ccode\u003e3893f18\u003c/code\u003e\u003c/a\u003e Reset IOGate.set_winch_handler when dancing ruby easter-egg terminates (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1124\"\u003e#1124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/d43c3d764ae439706aa1b26a3ec299cc45eaed5b\"\u003e\u003ccode\u003ed43c3d7\u003c/code\u003e\u003c/a\u003e Bump integration test's timeout on CI to 30s (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1122\"\u003e#1122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/irb/commit/c4cae4806c4df15a27358f3465930483a1aeb00b\"\u003e\u003ccode\u003ec4cae48\u003c/code\u003e\u003c/a\u003e [DOC] Include document files in the generated gem file (\u003ca href=\"https://redirect.github.com/ruby/irb/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/irb/compare/v1.15.2...v1.15.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 5.26.0 to 5.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minitest/minitest/blob/master/History.rdoc\"\u003eminitest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 5.26.1 / 2025-11-08\u003c/p\u003e\n\u003cp\u003eThe Ocean Shores, Slightly Less Tipsy Edition!\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e3 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd links to API doco in README.\u003c/li\u003e\n\u003cli\u003eAdd missing require thread.\u003c/li\u003e\n\u003cli\u003eBumped ruby version to include 4.0 (trunk). (hsbt)\n(see also 5.14.2)\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/minitest/minitest/commit/15265da64bd93cbed6c1eecb4a85c88329297e37\"\u003e\u003ccode\u003e15265da\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/7b2e090b5bac2466177dc1b56deff2ec1cae4c0e\"\u003e\u003ccode\u003e7b2e090\u003c/code\u003e\u003c/a\u003e - Bumped ruby version to include 4.0 (trunk). (hsbt)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c54c262511b53df6a8d34e3fdcf6b3e542400bab\"\u003e\u003ccode\u003ec54c262\u003c/code\u003e\u003c/a\u003e Ryan! STAHP! Stop trying to \u0026quot;optimize\u0026quot; this.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/690d38a20713e4d0e449cf7de87de7d9fcb01456\"\u003e\u003ccode\u003e690d38a\u003c/code\u003e\u003c/a\u003e - Add links to API doco in README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/d80a4fd5a4bb4c127da84b7632a654cf47afe598\"\u003e\u003ccode\u003ed80a4fd\u003c/code\u003e\u003c/a\u003e Comment end of larger classes w/ name to help navigation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/8d4cf64186692242ea516a39b11f3adc8666ee2d\"\u003e\u003ccode\u003e8d4cf64\u003c/code\u003e\u003c/a\u003e Fix formatting of design_rationale.rb, update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/0db7aacae99d713e9aec789da699efa8c6349bbd\"\u003e\u003ccode\u003e0db7aac\u003c/code\u003e\u003c/a\u003e tweak assertion count to be consistent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/2f0848aba13e013a5ba18530d56079010007026e\"\u003e\u003ccode\u003e2f0848a\u003c/code\u003e\u003c/a\u003e - Add missing require thread.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v5.26.0...v5.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nio4r` from 2.7.4 to 2.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/socketry/nio4r/blob/main/releases.md\"\u003enio4r's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eReleases\u003c/h1\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/8d49449f3818cdfed9b46eb6587620fdebb6be6b\"\u003e\u003ccode\u003e8d49449\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/d3105796bd3e487001505daee8fca92b7105a8e5\"\u003e\u003ccode\u003ed310579\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003etea.yaml\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/ca7686294052c46288ac0c47c3be348c6441ed29\"\u003e\u003ccode\u003eca76862\u003c/code\u003e\u003c/a\u003e Fix for \u003ccode\u003eOpenSSL::SSL::SSLContext\u003c/code\u003e \u003ccode\u003eset_minmax_proto_version\u003c/code\u003e removal. (\u003ca href=\"https://redirect.github.com/socketry/nio4r/issues/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/socketry/nio4r/commit/315b1f62d038e2287f4dc852638fdf19a03cae87\"\u003e\u003ccode\u003e315b1f6\u003c/code\u003e\u003c/a\u003e Update releases.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/socketry/nio4r/compare/v2.7.4...v2.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.2.3 to 3.2.4\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\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\u003c/blockquote\u003e\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/4c24539777db8833d78f881680cd245878cfba31\"\u003e\u003ccode\u003e4c24539\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/3ba5e4f22f55abac21037bb137e56e5c8e36b673\"\u003e\u003ccode\u003e3ba5e4f\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\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v3.2.3...v3.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.1.0 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\u003c/blockquote\u003e\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\u003eSee full diff i...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/243","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/243","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/243/packages"}},{"old_version":"8.0.3","new_version":"8.1.1","update_type":"minor","path":null,"pr_created_at":"2025-11-04T23:03:29.000Z","version_change":"8.0.3 → 8.1.1","issue":{"uuid":"3588391639","node_id":"PR_kwDOCJQbzs6xg9s9","number":8125,"state":"open","title":"build(deps): bump the bundler group with 37 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-04T23:03:29.000Z","updated_at":"2025-11-04T23:04:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"bundler","update_count":37,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"sentry-rails","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-ruby","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sentry-sidekiq","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"sidekiq","old_version":"8.0.8","new_version":"8.0.9","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"grover","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/Studiosity/grover"},{"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":"govuk-components","old_version":"5.11.3","new_version":"5.13.0","repository_url":"https://github.com/x-govuk/govuk-components"},{"name":"view_component","old_version":"4.0.2","new_version":"4.1.0","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"webmock","old_version":"3.26.0","new_version":"3.26.1","repository_url":"https://github.com/bblimke/webmock"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"actioncable","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"aws-partitions","old_version":"1.1178.0","new_version":"1.1180.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.235.0","new_version":"3.236.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.115.0","new_version":"1.116.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"net-http","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/ruby/net-http"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"railties","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rdoc","old_version":"6.15.0","new_version":"6.15.1","repository_url":"https://github.com/ruby/rdoc"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"rubyzip","old_version":"3.2.1","new_version":"3.2.2","repository_url":"https://github.com/rubyzip/rubyzip"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"},{"name":"uri","old_version":"1.0.4","new_version":"1.1.1","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 37 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `6.0.0` | `6.1.0` |\n| [sentry-ruby](https://github.com/getsentry/sentry-ruby) | `6.0.0` | `6.1.0` |\n| [sentry-sidekiq](https://github.com/getsentry/sentry-ruby) | `6.0.0` | `6.1.0` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.8` | `8.0.9` |\n| [grover](https://github.com/Studiosity/grover) | `1.2.3` | `1.2.4` |\n| [govuk_design_system_formbuilder](https://github.com/x-govuk/govuk-form-builder) | `5.11.0` | `5.13.0` |\n| [govuk-components](https://github.com/x-govuk/govuk-components) | `5.11.3` | `5.13.0` |\n| [view_component](https://github.com/viewcomponent/view_component) | `4.0.2` | `4.1.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.26.0` | `3.26.1` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [actioncable](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionmailbox](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionpack](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actiontext](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [actionview](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activejob](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activemodel](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activerecord](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activestorage](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [activesupport](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1178.0` | `1.1180.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.235.0` | `3.236.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.115.0` | `1.116.0` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [net-http](https://github.com/ruby/net-http) | `0.6.0` | `0.7.0` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [railties](https://github.com/rails/rails) | `8.0.3` | `8.1.1` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.15.0` | `6.15.1` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [rubyzip](https://github.com/rubyzip/rubyzip) | `3.2.1` | `3.2.2` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n| [uri](https://github.com/ruby/uri) | `1.0.4` | `1.1.1` |\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 6.0.0 to 6.1.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.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\u003c/blockquote\u003e\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/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/22d3ad48a58fe89ab871ef74d166de1edd041166\"\u003e\u003ccode\u003e22d3ad4\u003c/code\u003e\u003c/a\u003e chore(rails): refactor and fix test app setup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2762\"\u003e#2762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/a1680da68589ab58f9027e4f8f85780e61e8414d\"\u003e\u003ccode\u003ea1680da\u003c/code\u003e\u003c/a\u003e Guard log subscribers with initialized check (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2765\"\u003e#2765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/997ef4ed014e6fa5ac9ab0cb019c5c747f9d0480\"\u003e\u003ccode\u003e997ef4e\u003c/code\u003e\u003c/a\u003e chore(rails): 8.1 in test setup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2764\"\u003e#2764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/d643fcd510be9fa467d993e81e62d90751b81b36\"\u003e\u003ccode\u003ed643fcd\u003c/code\u003e\u003c/a\u003e feat(rails): add binds to ActiveRecord logs (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2761\"\u003e#2761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-ruby/commit/582aeb9a242c000d2068942570fc0acb56f9baa8\"\u003e\u003ccode\u003e582aeb9\u003c/code\u003e\u003c/a\u003e chore(rails): remove 5.0 leftovers (\u003ca href=\"https://redirect.github.com/getsentry/sentry-ruby/issues/2760\"\u003e#2760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/6.0.0...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-ruby` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md\"\u003esentry-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.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\u003c/blockquote\u003e\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/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/6.0.0...6.1.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 6.0.0 to 6.1.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.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\u003c/blockquote\u003e\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/1ca3afdadba4832239309f1b686943a73b2bf420\"\u003e\u003ccode\u003e1ca3afd\u003c/code\u003e\u003c/a\u003e release: 6.1.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-ruby/compare/6.0.0...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.8 to 8.0.9\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/32567d7cf2a465d93d69be2754d6f899ea655848\"\u003e\u003ccode\u003e32567d7\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/5fef41f4d290ac52435654dd846cd08277efef2b\"\u003e\u003ccode\u003e5fef41f\u003c/code\u003e\u003c/a\u003e prep for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/5d656d2449d94535f578875b46ddf490d6ccdbf8\"\u003e\u003ccode\u003e5d656d2\u003c/code\u003e\u003c/a\u003e Vulnerability policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c435e5ef8a1d1b007ee669835f7359a0bbe3a213\"\u003e\u003ccode\u003ec435e5e\u003c/code\u003e\u003c/a\u003e Implement idle redis connection reaping (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6664\"\u003e#6664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3334ce8f765346d2d7333cf2293568037737bf1b\"\u003e\u003ccode\u003e3334ce8\u003c/code\u003e\u003c/a\u003e wordsmithing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/a5bfbc633299707108e1fa4b539009d7a3130f48\"\u003e\u003ccode\u003ea5bfbc6\u003c/code\u003e\u003c/a\u003e clarify commercial policies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/be722014daf171b4fc4ed93d01a421d057a71acc\"\u003e\u003ccode\u003ebe72201\u003c/code\u003e\u003c/a\u003e formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/39fc90650fe8e3d9f859728bd71f62bf09980b9d\"\u003e\u003ccode\u003e39fc906\u003c/code\u003e\u003c/a\u003e first pass at sdlc policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3a7baff4073fd326a146f3e10940036d21290f82\"\u003e\u003ccode\u003e3a7baff\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2dcfcd51121c0c215514ef2435a92b000b193def\"\u003e\u003ccode\u003e2dcfcd5\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.8...v8.0.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `grover` from 1.2.3 to 1.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Studiosity/grover/releases\"\u003egrover's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude Node v24 in build suite by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/291\"\u003eStudiosity/grover#291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the browser object to set cookies.  by \u003ca href=\"https://github.com/brendon\"\u003e\u003ccode\u003e@​brendon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/294\"\u003eStudiosity/grover#294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix removal of external spec dependency (httpstat.us offline) by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/298\"\u003eStudiosity/grover#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.5.0-preview1 to build matrix by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/296\"\u003eStudiosity/grover#296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Firefox browser by \u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/297\"\u003eStudiosity/grover#297\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/brendon\"\u003e\u003ccode\u003e@​brendon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/294\"\u003eStudiosity/grover#294\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Studiosity/grover/compare/v1.2.3...v1.2.4\"\u003ehttps://github.com/Studiosity/grover/compare/v1.2.3...v1.2.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/Studiosity/grover/blob/main/CHANGELOG.md\"\u003egrover's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Studiosity/grover/blob/main/releases/tag/v1.2.4\"\u003e1.2,4\u003c/a\u003e - 2025-11-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Studiosity/grover/pull/297\"\u003e#297\u003c/a\u003e Add support for browser option (Firefox) ([\u003ca href=\"https://github.com/abrom\"\u003e\u003ccode\u003e@​abrom\u003c/code\u003e\u003c/a\u003e][])\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/Studiosity/grover/pull/294\"\u003e#294\u003c/a\u003e Handle deprecations in setCookie API ([\u003ca href=\"https://github.com/brendon\"\u003e\u003ccode\u003e@​brendon\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/f47af21c1192520ad6e98c05d9fde6e7f375ba57\"\u003e\u003ccode\u003ef47af21\u003c/code\u003e\u003c/a\u003e Release v1.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/8e7ce04a1dbd7576cddcd4b22dc107b815dfbfc5\"\u003e\u003ccode\u003e8e7ce04\u003c/code\u003e\u003c/a\u003e Add support for Firefox browser (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/52407a0e64b8bfcd7a8ab62e8bd295621215f402\"\u003e\u003ccode\u003e52407a0\u003c/code\u003e\u003c/a\u003e Add Ruby 3.5.0-preview1 to build matrix (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/296\"\u003e#296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/d5eb9d8264000c1ba614a6085da6cee8889ede81\"\u003e\u003ccode\u003ed5eb9d8\u003c/code\u003e\u003c/a\u003e Fix removal of external spec dependency (httpstat.us offline) (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/ab0622ad7f5ffb87d13828e8dda8c675d63fffd7\"\u003e\u003ccode\u003eab0622a\u003c/code\u003e\u003c/a\u003e Handle deprecations in setCookie API (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/294\"\u003e#294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/a243b8bc1171d2140a7fde5fab296781794dfad0\"\u003e\u003ccode\u003ea243b8b\u003c/code\u003e\u003c/a\u003e Include Node v24 in build suite (\u003ca href=\"https://redirect.github.com/Studiosity/grover/issues/291\"\u003e#291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/ef0992a2da6aeada6bdd6d761d334425a5c8baf3\"\u003e\u003ccode\u003eef0992a\u003c/code\u003e\u003c/a\u003e Expand apparmor README to explain some details further\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Studiosity/grover/commit/fc7eef54078a15fbf301e074bd343fe726ee9cc7\"\u003e\u003ccode\u003efc7eef5\u003c/code\u003e\u003c/a\u003e Update README with possible solutions for apparmor sandbox issues\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Studiosity/grover/compare/v1.2.3...v1.2.4\"\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 `govuk-components` from 5.11.3 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-components/releases\"\u003egovuk-components'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\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/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\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/19170ac2eb63f7bd1e271cf11f92c55891eb60dd\"\u003e\u003ccode\u003e19170ac\u003c/code\u003e\u003c/a\u003e Update rubocop-govuk requirement from = 5.1.18 to = 5.1.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/f5e44992352fcf026b7913d71dd78e4e4b2cea48\"\u003e\u003ccode\u003ef5e4499\u003c/code\u003e\u003c/a\u003e Add support for Rails 8.1 (\u003ca href=\"https://redirect.github.com/x-govuk/govuk-components/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/0cecbe14b468c8e7670a0dd8ca4c9bf85cb251cf\"\u003e\u003ccode\u003e0cecbe1\u003c/code\u003e\u003c/a\u003e Run tests against Rails 8.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/34265ad1e045782e2c0824c7f0a72eedc8a4f66a\"\u003e\u003ccode\u003e34265ad\u003c/code\u003e\u003c/a\u003e Replace ActiveSupport::Configurable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/ec204b7198a24dd932a600f3051e7811c0ab1035\"\u003e\u003ccode\u003eec204b7\u003c/code\u003e\u003c/a\u003e Bump view_component versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x-govuk/govuk-components/commit/d6724bee5bc6866cf4637a2bfdcecea6a1abf0e9\"\u003e\u003ccode\u003ed6724be\u003c/code\u003e\u003c/a\u003e Use consistent brackets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/x-govuk/govuk-components/compare/v5.11.3...v5.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 4.0.2 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.2...v4.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/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeclare \u003ccode\u003eactionview\u003c/code\u003e as a \u003ccode\u003eview_component\u003c/code\u003e gem dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMichal Cichra\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/5ebefb32d1c492b858c68c7dc9046a1229fdf290\"\u003e\u003ccode\u003e5ebefb3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2472\"\u003e#2472\u003c/a\u003e from ViewComponent/release-4-1-0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/9c541a78ebfaa4a4789b5f4b1abb54777bee0127\"\u003e\u003ccode\u003e9c541a7\u003c/code\u003e\u003c/a\u003e release 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/044613756071110b51bc7fcf98df31be87b9f35f\"\u003e\u003ccode\u003e0446137\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2467\"\u003e#2467\u003c/a\u003e from ViewComponent/support-rails-head\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/177029d1016f8d6d40c121adf7b4e896b80f0df4\"\u003e\u003ccode\u003e177029d\u003c/code\u003e\u003c/a\u003e Keep benchmark on Rails 8.0 for now\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/129067b8d1bfac60dfe8c0930c4b425eee82da55\"\u003e\u003ccode\u003e129067b\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into support-rails-head\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/24849b14a591abf718011a1be11afe8f61ca032b\"\u003e\u003ccode\u003e24849b1\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/2baa84e3c916bf6f697e8ea637a55696638665ab\"\u003e\u003ccode\u003e2baa84e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2468\"\u003e#2468\u003c/a\u003e from ViewComponent/fix-bug-replication-script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/879141ff1d350810e5b53d054c5b743657b19b6a\"\u003e\u003ccode\u003e879141f\u003c/code\u003e\u003c/a\u003e Relax allocations for Ruby 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/d32c85627039cf107bae4f97491f64e8fd304c95\"\u003e\u003ccode\u003ed32c856\u003c/code\u003e\u003c/a\u003e Update docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/2fd86b76dc6d13907b22ce7f4f40628ac7e91407\"\u003e\u003ccode\u003e2fd86b7\u003c/code\u003e\u003c/a\u003e Alloooooocaaaaations!!!\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v4.0.2...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webmock` from 3.26.0 to 3.26.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/blob/master/CHANGELOG.md\"\u003ewebmock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.26.1\u003c/h1\u003e\n\u003cp\u003eFix compatibility with recent async-http versions\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eThanks to [Mikhail Doronin](https://github.com/misdoro)\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/bblimke/webmock/commit/56cb661b6aa2e711bcf3eb1e3a921a35727e7972\"\u003e\u003ccode\u003e56cb661\u003c/code\u003e\u003c/a\u003e Version 3.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/ea4cea3f01c7ec9019b7eae27a94f0f101e2ed26\"\u003e\u003ccode\u003eea4cea3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1109\"\u003e#1109\u003c/a\u003e from misdoro/duplicate_headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/c05fe472629da6ea6fc0ca065ce3bcafbfc56229\"\u003e\u003ccode\u003ec05fe47\u003c/code\u003e\u003c/a\u003e Split SAMPLE_REQUEST_HEADERS and SAMPLE_RESPONSE_HEADERS to be more realistic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/5f46ecabc3f4324ddde7ac4a948cc44145202828\"\u003e\u003ccode\u003e5f46eca\u003c/code\u003e\u003c/a\u003e Fix specs with recent Async-http versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/aa747ba5328a5fba500a16e54d3e1848106e1b0b\"\u003e\u003ccode\u003eaa747ba\u003c/code\u003e\u003c/a\u003e Run CI on pushes to all branches\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bblimke/webmock/compare/3.26.0...v3.26.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shoulda-matchers` from 6.5.0 to 7.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/releases\"\u003eshoulda-matchers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md\"\u003eshoulda-matchers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales\"\u003e\u003ccode\u003e@​matsales\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/commit/2a503318d6dfab04fa5d2b76ad8b790abda4e4df\"\u003e\u003ccode\u003e2a50331\u003c/code\u003e\u003c/a\u003e bump version to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/3ae93e62da8f0ed305ae9c3e41f8a5530a2010a7\"\u003e\u003ccode\u003e3ae93e6\u003c/code\u003e\u003c/a\u003e hotfix: Add mutex_m gem dependency (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/731aaa71c56125c1e2eef9c6fe28d47963216d37\"\u003e\u003ccode\u003e731aaa7\u003c/code\u003e\u003c/a\u003e Bump version to 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/9069b5994ac0a2fdc48017d92b582e92d52e7aa8\"\u003e\u003ccode\u003e9069b59\u003c/code\u003e\u003c/a\u003e * chore: Update supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/99e36980b0a63607df1104e6e204a0fd8ecd2167\"\u003e\u003ccode\u003e99e3698\u003c/code\u003e\u003c/a\u003e chore: Add Rails 8.1 support (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/5c79d3bb75730ebf6e2615713972cd9722b102e5\"\u003e\u003ccode\u003e5c79d3b\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 7.0 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/7c46150cf1467cb951df4901c4a8fb3b8d22595a\"\u003e\u003ccode\u003e7c46150\u003c/code\u003e\u003c/a\u003e chore: Add support for Rails 8 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/49113db8498288d59e7e2b405ba2ebfb836cbed2\"\u003e\u003ccode\u003e49113db\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 6.1 and older (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/15560c7d4874f867e4fe1ecee5e275c0027ead42\"\u003e\u003ccode\u003e15560c7\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to `have_attac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/024c055885c792ed45923812e582facbe55ea8c6\"\u003e\u003ccode\u003e024c055\u003c/code\u003e\u003c/a\u003e chore: Update Ruby versions to latest stable releases (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/compare/v6.5.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` 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\"\u003eactioncable'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/actioncable/CHANGELOG.md\"\u003eactioncable'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\u003eAllow passing composite channels to \u003ccode\u003eActionCable::Channel#stream_for\u003c/code\u003e – e.g. \u003ccode\u003estream_for [ group, group.owner ]\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ehey-leon\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow setting nil as subscription connection identifier for Redis.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eNguyen Nguyen\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/actioncable/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/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/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/b92d3020c662ffe7c58908c0a2be70e20ebfe6a3\"\u003e\u003ccode\u003eb92d302\u003c/code\u003e\u003c/a\u003e Address \u003ccode\u003eCan not start microsoftedge 17.17134 (Windows 10)\u003c/code\u003e error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/207a254cedef2c381c2898bac960b91ce14ab3a7\"\u003e\u003ccode\u003e207a254\u003c/code\u003e\u003c/a\u003e ActiveSupport::Callbacks add a fast path when there is no callbacks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/00dc4bf1f1413f34197f3c2be55a8fb8f3bf47af\"\u003e\u003ccode\u003e00dc4bf\u003c/code\u003e\u003c/a\u003e chore(deps-dev): update eslint from 8.57.1 to 9.24.0 with Flat Config\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\u003e\u003ca href=\"https://github.com/rails/rails/commit/466777f499b16ea2cf948fbeebd9f4ec89ddc503\"\u003e\u003ccode\u003e466777f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55197\"\u003e#55197\u003c/a\u003e from hey-leon/composite-broadcasting\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 `actionmailbox` 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\"\u003eactionmailbox'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/actionmailbox/CHANGELOG.md\"\u003eactionmailbox'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\u003ereply_to_address\u003c/code\u003e extension method on \u003ccode\u003eMail::Message\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMr0grog\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/actionmailbox/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/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/80827ca7ff33ca3026f2c74fe8249ccc6f513318\"\u003e\u003ccode\u003e80827ca\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.0.beta1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3e06703619cf13de78638580c175b0586bfa201\"\u003e\u003ccode\u003ef3e0670\u003c/code\u003e\u003c/a\u003e Remove deprecated \u003ccode\u003e:azure\u003c/code\u003e storage service\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a99903d464662db6b114b07fa56e90204a3b4778\"\u003e\u003ccode\u003ea99903d\u003c/code\u003e\u003c/a\u003e Bump RuboCop to fix some transient failures\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b0ff636ae0dfb0890e189f22d7dee274f1b5321d\"\u003e\u003ccode\u003eb0ff636\u003c/code\u003e\u003c/a\u003e Handle Rack 3.2 \u003ccode\u003eunprocessable_{entity,content}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3f31eed37a76fbe7dba59acb756227b858b790f\"\u003e\u003ccode\u003ef3f31ee\u003c/code\u003e\u003c/a\u003e Move StrictWarnings to the tools directory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bc2e492a80f7e8cf43377dfaccdd9a027e60971e\"\u003e\u003ccode\u003ebc2e492\u003c/code\u003e\u003c/a\u003e Run tests with \u003ccode\u003e--profile\u003c/code\u003e on CI\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 `actionmailer` 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\"\u003eactionmailer'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/actionmailer/CHANGELOG.md\"\u003eactionmailer'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 structured events for Action Mailer:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.delivered\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eaction_mailer.processed\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\u003eAdd \u003ccode\u003edeliver_all_later\u003c/code\u003e to enqueue multiple emails at once.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003euser_emails = User.all.map { |user| Notifier.welcome(user) }\nActionMailer.deliver_all_later(user_emails)\n\u003ch1\u003euse a custom queue\u003c/h1\u003e\n\u003cp\u003eActionMailer.deliver_all_later(user_emails, queue: :my_queue)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThis can greatly reduce the number of round-trips to the queue datastore.\nFor queue adapters that do not implement the \u003ccode\u003eenqueue_all\u003c/code\u003e method, we\nfall back to enqueuing email jobs indvidually.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/actionmailer/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/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/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/d2518fa2c974bfa97c378c9250c1256f83dff0de\"\u003e\u003ccode\u003ed2518fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55748\"\u003e#55748\u003c/a\u003e from Shopify/event_with_debug_helper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1e776998ed4ac8a415c1173ad55157f14368d939\"\u003e\u003ccode\u003e1e77699\u003c/code\u003e\u003c/a\u003e Make all framework log subscribers API private\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78857a394515c74e77db81da75f41f74d474b8e1\"\u003e\u003ccode\u003e78857a3\u003c/code\u003e\u003c/a\u003e Introduce with_debug_event_reporting to enable event reporter debug mode\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 `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 `actiontext` 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\"\u003eactiontext'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/actiontext/CHANGELOG.md\"\u003eactiontext'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\u003eDe-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eImplement \u003ccode\u003e@rails/actiontext/index.js\u003c/code\u003e with a \u003ccode\u003edirect-upload:progress\u003c/code\u003e event\nlisteners and \u003ccode\u003ePromise\u003c/code\u003e resolution.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCapture block content for form helper methods\u003c/p\u003e\n\u003cpre lang=\"erb\"\u003e\u003ccode\u003e\u0026lt;%= rich_textarea_tag :content, nil do %\u0026gt;\n  \u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;content\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\n\u003cp\u003e\u0026lt;%= rich_textarea :message, :content, input: \u0026quot;trix_input_1\u0026quot; do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;trix_input_1\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\u003c/p\u003e\n\u003cp\u003e\u0026lt;%= form_with model: Message.new do |form| %\u0026gt;\n\u0026lt;%= form.rich_textarea :content do %\u0026gt;\n\u0026lt;h1\u0026gt;hello world\u0026lt;/h1\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;% end %\u0026gt;\n\u0026lt;!-- \u0026lt;form action=\u0026quot;/messages\u0026quot; accept-charset=\u0026quot;UTF-8\u0026quot; method=\u0026quot;post\u0026quot;\u0026gt;\u0026lt;input type=\u0026quot;hidden\u0026quot; name=\u0026quot;message[content]\u0026quot; id=\u0026quot;message_content_trix_input_message\u0026quot; value=\u0026quot;\u0026amp;lt;h1\u0026amp;gt;hello world\u0026amp;lt;/h1\u0026amp;gt;\u0026quot;/\u0026gt;\u0026lt;trix-editor … --\u0026gt;\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\u003cli\u003e\n\u003cp\u003eGeneralize \u003ccode\u003e:rich_text_area\u003c/code\u003e Capybara selector\u003c/p\u003e\n\u003cp\u003ePrepare for more Action Text-capable WYSIWYG editors by making\n\u003ccode\u003e:rich_text_area\u003c/code\u003e rely on the presence of \u003ccode\u003e[role=\u0026quot;textbox\u0026quot;]\u003c/code\u003e and\n\u003ccode\u003e[contenteditable]\u003c/code\u003e HTML attributes rather than a \u003ccode\u003e\u0026lt;trix-editor\u0026gt;\u003c/code\u003e element.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSean Doyle\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eForward \u003ccode\u003efill_in_rich_text_area\u003c/code\u003e options to Capybara\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003efill_in_rich_textarea \u0026quot;Rich text editor\u0026quot;, id: \u0026quot;trix_editor_1\u0026quot;, with: \u0026quot;Hello world!\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/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/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/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/8c624be05a5660772cbb6305862c3921b2f5788f\"\u003e\u003ccode\u003e8c624be\u003c/code\u003e\u003c/a\u003e De-couple \u003ccode\u003e@rails/actiontext/attachment_upload.js\u003c/code\u003e from \u003ccode\u003eTrix.Attachment\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9825b1ba8bda30635c4a1eddbb4c9794d1ba8a3b\"\u003e\u003ccode\u003e9825b1b\u003c/code\u003e\u003c/a\u003e Action Text: change tag helpers to accept optional blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cd49fa3e8058d4d37112abcf5eb6d85a9bfa4137\"\u003e\u003ccode\u003ecd49fa3\u003c/code\u003e\u003c/a\u003e Fix label \u003ccode\u003efor\u003c/code\u003e attribute missing form namespace\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a20ee82fb14a955f55e49ae9db76779b250b3d9a\"\u003e\u003ccode\u003ea20ee82\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eimage_processing\u003c/code\u003e to the gemfile by default for active_storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0a5faeaf71745b05d937b579a4da5bd90e0b6b58\"\u003e\u003ccode\u003e0a5faea\u003c/code\u003e\u003c/a\u003e Prevent stack overflow in ActionText PlaintextConversion (\u003ca href=\"https://redirect.github.com/rails/rails/issues/55025\"\u003e#55025\u003c/a\u003e)\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\u003ch...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-apply-for-legal-aid/pull/8125","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-apply-for-legal-aid/issues/8125","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8125/packages"}},{"old_version":"8.0.3","new_version":"8.0.4","update_type":"patch","path":null,"pr_created_at":"2025-11-04T03:04:29.000Z","version_change":"8.0.3 → 8.0.4","issue":{"uuid":"3584528119","node_id":"PR_kwDOFOGO4c6xUMuv","number":1621,"state":"open","title":"Chore(deps): Bump the bundler group with 25 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-04T03:04:29.000Z","updated_at":"2025-11-04T03:04:56.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"bundler","update_count":25,"packages":[{"name":"rails","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"shoulda-matchers","old_version":"6.5.0","new_version":"7.0.1","repository_url":"https://github.com/thoughtbot/shoulda-matchers"},{"name":"actioncable","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"date","old_version":"3.4.1","new_version":"3.5.0","repository_url":"https://github.com/ruby/date"},{"name":"erb","old_version":"5.1.1","new_version":"5.1.3","repository_url":"https://github.com/ruby/erb"},{"name":"formatador","old_version":"1.2.1","new_version":"1.2.2","repository_url":"https://github.com/geemus/formatador"},{"name":"irb","old_version":"1.15.2","new_version":"1.15.3","repository_url":"https://github.com/ruby/irb"},{"name":"nio4r","old_version":"2.7.4","new_version":"2.7.5","repository_url":"https://github.com/socketry/nio4r"},{"name":"rack","old_version":"3.2.3","new_version":"3.2.4","repository_url":"https://github.com/rack/rack"},{"name":"railties","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"rake","old_version":"13.3.0","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rdoc","old_version":"6.15.0","new_version":"6.15.1","repository_url":"https://github.com/ruby/rdoc"},{"name":"rspec-mocks","old_version":"3.13.6","new_version":"3.13.7","repository_url":"https://github.com/rspec/rspec"},{"name":"timeout","old_version":"0.4.3","new_version":"0.4.4","repository_url":"https://github.com/ruby/timeout"},{"name":"uri","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [shoulda-matchers](https://github.com/thoughtbot/shoulda-matchers) | `6.5.0` | `7.0.1` |\n| [actioncable](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionmailbox](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionpack](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actiontext](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [actionview](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activejob](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activemodel](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activerecord](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activestorage](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [activesupport](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [date](https://github.com/ruby/date) | `3.4.1` | `3.5.0` |\n| [erb](https://github.com/ruby/erb) | `5.1.1` | `5.1.3` |\n| [formatador](https://github.com/geemus/formatador) | `1.2.1` | `1.2.2` |\n| [irb](https://github.com/ruby/irb) | `1.15.2` | `1.15.3` |\n| [nio4r](https://github.com/socketry/nio4r) | `2.7.4` | `2.7.5` |\n| [rack](https://github.com/rack/rack) | `3.2.3` | `3.2.4` |\n| [railties](https://github.com/rails/rails) | `8.0.3` | `8.0.4` |\n| [rake](https://github.com/ruby/rake) | `13.3.0` | `13.3.1` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.15.0` | `6.15.1` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.6` | `3.13.7` |\n| [timeout](https://github.com/ruby/timeout) | `0.4.3` | `0.4.4` |\n| [uri](https://github.com/ruby/uri) | `1.0.4` | `1.1.0` |\n\nUpdates `rails` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/47a763581331ecfa56fb27beceda04bc6b5bb1f4\"\u003e\u003ccode\u003e47a7635\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/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d96d698c3a78510d974f186d21e9b81d15b2a955\"\u003e\u003ccode\u003ed96d698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56021\"\u003e#56021\u003c/a\u003e from harsh183/hd/getting_started_add_note_about_mai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\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/95a073edcda76d06037df3d1c4904759e5d58163\"\u003e\u003ccode\u003e95a073e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55966\"\u003e#55966\u003c/a\u003e from alexanderadam/doc/remove_subclasses_documentat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ac0b8f0a6187d2d626f7c8c29dae41c8ff9217d1\"\u003e\u003ccode\u003eac0b8f0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54720\"\u003e#54720\u003c/a\u003e from gregmolnar/guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/82f2c96c394b0cf2c2208a7cbf8ebb4fa591ebd6\"\u003e\u003ccode\u003e82f2c96\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/94a28440cafca5c243821490956432b30d8a4fa4\"\u003e\u003ccode\u003e94a2844\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53068\"\u003e#53068\u003c/a\u003e from zzak/rails-probot-migration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `shoulda-matchers` from 6.5.0 to 7.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/releases\"\u003eshoulda-matchers's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/blob/main/CHANGELOG.md\"\u003eshoulda-matchers's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHotfix: Add mutex_m gem dependency by \u003ca href=\"https://github.com/matsales\"\u003e\u003ccode\u003e@​matsales\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/garrettgregor\"\u003e\u003ccode\u003e@​garrettgregor\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1687\"\u003ethoughtbot/shoulda-matchers#1687\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e7.0.0 - 2025-10-31\u003c/h2\u003e\n\u003ch3\u003eBackward-incompatible changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Rails 6.1 and older by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Rails 7.0 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure \u003ca href=\"https://github.com/options\"\u003e\u003ccode\u003e@​options\u003c/code\u003e\u003c/a\u003e is always set in ActiveModel::ValidationMatcher by \u003ca href=\"https://github.com/yelvert\"\u003e\u003ccode\u003e@​yelvert\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Rails 8 by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Rails 8.1 support by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport encrypted ActionText attributes by \u003ca href=\"https://github.com/spdawson\"\u003e\u003ccode\u003e@​spdawson\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to \u003ccode\u003ehave_attached\u003c/code\u003e matcher by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor Ruby manager setup, add mise integration by \u003ca href=\"https://github.com/amalrik\"\u003e\u003ccode\u003e@​amalrik\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Ruby versions to latest stable releases by \u003ca href=\"https://github.com/matsales28\"\u003e\u003ccode\u003e@​matsales28\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1667\"\u003e#1667\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1667\"\u003ethoughtbot/shoulda-matchers#1667\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1669\"\u003e#1669\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1669\"\u003ethoughtbot/shoulda-matchers#1669\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1674\"\u003e#1674\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1674\"\u003ethoughtbot/shoulda-matchers#1674\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1675\"\u003e#1675\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1675\"\u003ethoughtbot/shoulda-matchers#1675\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1676\"\u003ethoughtbot/shoulda-matchers#1676\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1677\"\u003ethoughtbot/shoulda-matchers#1677\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1678\"\u003ethoughtbot/shoulda-matchers#1678\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1680\"\u003ethoughtbot/shoulda-matchers#1680\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1682\"\u003ethoughtbot/shoulda-matchers#1682\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1683\"\u003e#1683\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/pull/1683\"\u003ethoughtbot/shoulda-matchers#1683\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/thoughtbot/shoulda-matchers/commit/2a503318d6dfab04fa5d2b76ad8b790abda4e4df\"\u003e\u003ccode\u003e2a50331\u003c/code\u003e\u003c/a\u003e bump version to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/3ae93e62da8f0ed305ae9c3e41f8a5530a2010a7\"\u003e\u003ccode\u003e3ae93e6\u003c/code\u003e\u003c/a\u003e hotfix: Add mutex_m gem dependency (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1687\"\u003e#1687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/731aaa71c56125c1e2eef9c6fe28d47963216d37\"\u003e\u003ccode\u003e731aaa7\u003c/code\u003e\u003c/a\u003e Bump version to 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/9069b5994ac0a2fdc48017d92b582e92d52e7aa8\"\u003e\u003ccode\u003e9069b59\u003c/code\u003e\u003c/a\u003e * chore: Update supported Ruby versions to 3.3.10 and 3.4.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/99e36980b0a63607df1104e6e204a0fd8ecd2167\"\u003e\u003ccode\u003e99e3698\u003c/code\u003e\u003c/a\u003e chore: Add Rails 8.1 support (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1682\"\u003e#1682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/5c79d3bb75730ebf6e2615713972cd9722b102e5\"\u003e\u003ccode\u003e5c79d3b\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 7.0 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/7c46150cf1467cb951df4901c4a8fb3b8d22595a\"\u003e\u003ccode\u003e7c46150\u003c/code\u003e\u003c/a\u003e chore: Add support for Rails 8 (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1677\"\u003e#1677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/49113db8498288d59e7e2b405ba2ebfb836cbed2\"\u003e\u003ccode\u003e49113db\u003c/code\u003e\u003c/a\u003e chore: Drop support for Rails 6.1 and older (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1678\"\u003e#1678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/15560c7d4874f867e4fe1ecee5e275c0027ead42\"\u003e\u003ccode\u003e15560c7\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003eservice\u003c/code\u003e, \u003ccode\u003estrict_loading\u003c/code\u003e, and \u003ccode\u003edependent\u003c/code\u003e options to `have_attac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/commit/024c055885c792ed45923812e582facbe55ea8c6\"\u003e\u003ccode\u003e024c055\u003c/code\u003e\u003c/a\u003e chore: Update Ruby versions to latest stable releases (\u003ca href=\"https://redirect.github.com/thoughtbot/shoulda-matchers/issues/1676\"\u003e#1676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/thoughtbot/shoulda-matchers/compare/v6.5.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2b495d8b0979bbefb9a233a6e1682c87759a7d83\"\u003e\u003ccode\u003e2b495d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55812\"\u003e#55812\u003c/a\u003e from yahonda/bump-microsoftedge-version-to-latest\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailbox` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionmailer` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/648192531f46da609b37f417d34f49af183b3e45\"\u003e\u003ccode\u003e6481925\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/243e606288bc6b13edf0d5c91ebbd90ab36bc430\"\u003e\u003ccode\u003e243e606\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/50390\"\u003e#50390\u003c/a\u003e from seanpdoyle/issue-50345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ab8e833991e493f57f03c10ee2a8a7fda218faae\"\u003e\u003ccode\u003eab8e833\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55820\"\u003e#55820\u003c/a\u003e from callmesangio/docs-fix-integrationtest-example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actiontext` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9ab450a023290ff50ed37c8561880a78dabbf19a\"\u003e\u003ccode\u003e9ab450a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55490\"\u003e#55490\u003c/a\u003e from Earlopain/bump-rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/95bee6a4c8132b4caf53e073f7b01ce5cdeed4a6\"\u003e\u003ccode\u003e95bee6a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55738\"\u003e#55738\u003c/a\u003e from skipkayhil/hm-nkxzsnnrqqlyrotw\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\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/52347e0467445b350f482838da5bb503c155eb72\"\u003e\u003ccode\u003e52347e0\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/d2826215f9c9c1fe2f1c91e292171a042be1e9c5\"\u003e\u003ccode\u003ed282621\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\u003e\u003ca href=\"https://github.com/rails/rails/commit/511dbf2665746e54240c07b93b0d0ddc184873f9\"\u003e\u003ccode\u003e511dbf2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55907\"\u003e#55907\u003c/a\u003e from ruyrocha/fix/sqlite3-data-loss\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/bf9219d62aed746260e853cebe98503c8c27cdd5\"\u003e\u003ccode\u003ebf9219d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55918\"\u003e#55918\u003c/a\u003e from baarde/with-bound-sql-literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/865bc776d039645bd4b7f2c826ab4e0aaadf51b6\"\u003e\u003ccode\u003e865bc77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55332\"\u003e#55332\u003c/a\u003e from zzak/re-54882\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/dee79c4a74723ce8016b2e96e3d6d5723f673aa6\"\u003e\u003ccode\u003edee79c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55778\"\u003e#55778\u003c/a\u003e from ianterrell/ianterrell/fix-autosave-changed-via...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activestorage` from 8.0.3 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivestorage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/82f2c96c394b0cf2c2208a7cbf8ebb4fa591ebd6\"\u003e\u003ccode\u003e82f2c96\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\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.0.4\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.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3c7a8a8208221c3f01bc841a8f7015ea00e86427\"\u003e\u003ccode\u003e3c7a8a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55864\"\u003e#55864\u003c/a\u003e from RicardoTrindade/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/00e1dfa973ce121d767c299a02d05b028caf8b5c\"\u003e\u003ccode\u003e00e1dfa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55840\"\u003e#55840\u003c/a\u003e from zzak/asup-xml-mini-bigdecimal-float-precision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f3148ba1cfc8482c7e9115bbc68a84bf62543c46\"\u003e\u003ccode\u003ef3148ba\u003c/code\u003e\u003c/a\u003e [ci skip] Fix \u003ccode\u003etransform_keys!\u003c/code\u003e example in 8.0.3 changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2e0b72cc3bd5afdc663ddbf35246dde880024e2e\"\u003e\u003ccode\u003e2e0b72c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55808\"\u003e#55808\u003c/a\u003e from olivier-thatch/fix-enum-sole\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6aab6c8a1cd9c87e9cab9dddeeae119a4df65a11\"\u003e\u003ccode\u003e6aab6c8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55794\"\u003e#55794\u003c/a\u003e from rails/fix-55513\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/edeeb0eeedce6e97c4186e75103c4d979da058f9\"\u003e\u003ccode\u003eedeeb0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55786\"\u003e#55786\u003c/a\u003e from rails/fix-55776\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `date` from 3.4.1 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/date/releases\"\u003edate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSimplify description of this library by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix broken rdoc-ref to the calendar page by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd TruffleRuby in CI by \u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnclose dangling else in braces and fix -Wmisleading-indentation by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/117\"\u003eruby/date#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd license files (COPYING, BSDL) to gem files by \u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewindows-2019 will be EOL at end of June, 2025 by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/124\"\u003eruby/date#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias value to take in 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/ruby/date/pull/127\"\u003eruby/date#127\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved workaround for assert_ractor by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/128\"\u003eruby/date#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress warnings by gcc-13 with \u003ccode\u003e-Og\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/129\"\u003eruby/date#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove references to FL_EXIVAR 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/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Date#hash for large years by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: check for fixnum lower bound in m_ajd by \u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/131\"\u003eruby/date#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuppress maybe-uninitialized warning by gcc-13 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/139\"\u003eruby/date#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not repeat conversions to string by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/140\"\u003eruby/date#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/141\"\u003eruby/date#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/142\"\u003eruby/date#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/date/pull/143\"\u003eruby/date#143\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/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/112\"\u003eruby/date#112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/113\"\u003eruby/date#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrykonchin\"\u003e\u003ccode\u003e@​andrykonchin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/115\"\u003eruby/date#115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seedot1234\"\u003e\u003ccode\u003e@​seedot1234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/121\"\u003eruby/date#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/132\"\u003eruby/date#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Stranger6667\"\u003e\u003ccode\u003e@​Stranger6667\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/date/pull/130\"\u003eruby/date#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ehttps://github.com/ruby/date/compare/v3.4.1...v3.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/c941d1a8a88ead5633679d13618217aa83a455a0\"\u003e\u003ccode\u003ec941d1a\u003c/code\u003e\u003c/a\u003e Need to compile before release-gem for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/d535f7e85fbb8841e0b1cd363b4497b195ebe110\"\u003e\u003ccode\u003ed535f7e\u003c/code\u003e\u003c/a\u003e v3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/b703fcb45036c59436af9d684558ce5cf1dc75f6\"\u003e\u003ccode\u003eb703fcb\u003c/code\u003e\u003c/a\u003e Update the latest versions of actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/af863b54f33c40be90fe8cc841202ec53b27a43e\"\u003e\u003ccode\u003eaf863b5\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/date/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/545066ca28b2a6536e6d58a4e2bdb0653ec82caa\"\u003e\u003ccode\u003e545066c\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eDate._parse\u003c/code\u003e does not accept \u003ccode\u003enil\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/4f7b6c9b421eacd74c1f34ddd482f3b7f002d316\"\u003e\u003ccode\u003e4f7b6c9\u003c/code\u003e\u003c/a\u003e Test for the \u003ca href=\"https://redirect.github.com/ruby/date/issues/140\"\u003e#140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/159e1ebb7fcd7d06d699d51f713637ee9c3cf406\"\u003e\u003ccode\u003e159e1eb\u003c/code\u003e\u003c/a\u003e Do not repeat conversions to string\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/5d48e5d1b8c65ce5551565cbca5f735e96d6275c\"\u003e\u003ccode\u003e5d48e5d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/138\"\u003e#138\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/0c8e5a68450e8421604e852e5f2630f59511933a\"\u003e\u003ccode\u003e0c8e5a6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/date/issues/139\"\u003e#139\u003c/a\u003e from nobu/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/date/commit/afaa4a997b45c8318b66a7b7ab30848793c01d99\"\u003e\u003ccode\u003eafaa4a9\u003c/code\u003e\u003c/a\u003e Suppress maybe-uninitialized warning by gcc-13\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/date/compare/v3.4.1...v3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 5.1.1 to 5.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/releases\"\u003eerb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.3\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.2...v5.1.3\"\u003ehttps://github.com/ruby/erb/compare/v5.1.2...v5.1.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor html_escape by \u003ca href=\"https://github.com/noteflakes\"\u003e\u003ccode\u003e@​noteflakes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/88\"\u003eruby/erb#88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata by \u003ca href=\"https://github.com/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/jgarber623\"\u003e\u003ccode\u003e@​jgarber623\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.2\"\u003ehttps://github.com/ruby/erb/compare/v5.1.1...v5.1.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRelease v5.1.2 with trusted publishing for JRuby\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata \u003ca href=\"https://redirect.github.com/ruby/erb/pull/89\"\u003eruby/erb#89\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/ruby/erb/commit/e8d382a83e899d21621e50fd27ade67ade1c1be5\"\u003e\u003ccode\u003ee8d382a\u003c/code\u003e\u003c/a\u003e Version 5.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ae5bc380b9adf6ca0fbbf7f4f67d8695541dd646\"\u003e\u003ccode\u003eae5bc38\u003c/code\u003e\u003c/a\u003e Publish a gem for JRuby as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/daa0e8712f41ba088b9af63cffd2328aefe6548b\"\u003e\u003ccode\u003edaa0e87\u003c/code\u003e\u003c/a\u003e Version 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/fa6a2c9f07ca47a614d7dcf6ecb71d2dc39287af\"\u003e\u003ccode\u003efa6a2c9\u003c/code\u003e\u003c/a\u003e Add a workflow for trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/85a4f10332a6b25b7b807a67447bb9bbfc00f3c3\"\u003e\u003ccode\u003e85a4f10\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003echangelog_uri\u003c/code\u003e to spec metadata (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/89\"\u003e#89\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/c231ced3f4c1b6e1b2a41215a45d4df54f44cb10\"\u003e\u003ccode\u003ec231ced\u003c/code\u003e\u003c/a\u003e html_escape: refactor redundant if (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/88\"\u003e#88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/erb/compare/v5.1.1...v5.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `formatador` from 1.2.1 to 1.2.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/geemus/formatador/blob/master/changelog.txt\"\u003eformatador's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev1.2.2 10/28/25\u003c/h1\u003e\n\u003cp\u003eadd faint\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/geemus/formatador/commit/6cbf36083a8acde5ccbe90e08f2229d6ffe63b42\"\u003e\u003ccode\u003e6cbf360\u003c/code\u003e\u003c/a\u003e Release 1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geemus/formatador/commit/9dd7df2195e9a27b2de54b90dfffe56ef8572dda\"\u003e\u003ccode\u003e9dd7df2\u003c/code\u003e\u003c/a\u003e v1.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/geemus/formatador/commit/53aaef72936e377ac5a07dafcb1720ae5ba67ec9\"\u003e\u003ccode\u003e53aaef7\u003c/code\u003e\u003c/a\u003e add faint\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/geemus/formatador/compare/v1.2.1...v1.2.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `irb` from 1.15.2 to 1.15.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/irb/releases\"\u003eirb's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.15.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove all internal frames from a backtrace by \u003ca href=\"https://github.com/mame\"\u003e\u003ccode\u003e@​mame\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/irb/pull/1106\"\u003eruby/irb#1106\u003c/a\u003e\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/legal-framework-api/pull/1621","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flegal-framework-api/issues/1621","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1621/packages"}},{"old_version":"8.0.3","new_version":"8.1.1","update_type":"minor","path":null,"pr_created_at":"2025-11-03T08:12:45.000Z","version_change":"8.0.3 → 8.1.1","issue":{"uuid":"3581011474","node_id":"PR_kwDOGhhTbc6xIjAv","number":34,"state":"closed","title":"Bump activemodel from 8.0.3 to 8.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T09:48:24.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-03T08:12:45.000Z","updated_at":"2026-01-12T09:48:26.000Z","time_to_close":6053739,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.0.3","new_version":"8.1.1","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/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\"\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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=activemodel\u0026package-manager=bundler\u0026previous-version=8.0.3\u0026new-version=8.1.1)](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/citizensadvice/ruby-gem-strong_attributes/pull/34","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/citizensadvice%2Fruby-gem-strong_attributes/issues/34","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/34/packages"}},{"old_version":"8.0.3","new_version":"8.0.4","update_type":"patch","path":null,"pr_created_at":"2025-10-29T18:16:24.000Z","version_change":"8.0.3 → 8.0.4","issue":{"uuid":"3567281907","node_id":"PR_kwDONoS3iM6wcIR1","number":143,"state":"closed","title":"Bump activemodel from 8.0.3 to 8.0.4","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-30T22:31:54.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-29T18:16:24.000Z","updated_at":"2025-10-30T22:31:56.000Z","time_to_close":101730,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"activemodel","old_version":"8.0.3","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [activemodel](https://github.com/rails/rails) from 8.0.3 to 8.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\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\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/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.3...v8.0.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=activemodel\u0026package-manager=bundler\u0026previous-version=8.0.3\u0026new-version=8.0.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 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/cpmurphy/bookmarks/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpmurphy%2Fbookmarks/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"}}]}