{"id":2826,"name":"globalid","ecosystem":"rubygems","repository_url":"https://github.com/rails/globalid","issues_count":192,"created_at":"2025-06-06T15:02:13.390Z","updated_at":"2025-06-06T15:02:13.390Z","purl":"pkg:gem/globalid","metadata":{"id":216245,"name":"globalid","ecosystem":"rubygems","description":"URIs for your models makes it easy to pass references around.","homepage":"http://www.rubyonrails.org","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/rails/globalid","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2014-08-18T00:01:34.551Z","latest_release_published_at":"2023-09-05T16:15:54.177Z","latest_release_number":"1.2.1","last_synced_at":"2025-06-06T01:36:01.304Z","created_at":"2022-04-05T23:45:22.782Z","updated_at":"2025-06-06T01:38:44.943Z","registry_url":"https://rubygems.org/gems/globalid","install_command":"gem install globalid -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/globalid/","metadata":{"funding":null},"repo_metadata":{"id":19735094,"uuid":"22991474","full_name":"rails/globalid","owner":"rails","description":"Identify app models with a URI","archived":false,"fork":false,"pushed_at":"2024-08-20T18:06:26.000Z","size":298,"stargazers_count":1237,"open_issues_count":24,"forks_count":131,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-06-04T07:24:48.906Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"MIT-LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-15T14:05:35.000Z","updated_at":"2025-05-23T14:24:53.000Z","dependencies_parsed_at":"2024-06-17T16:30:51.926Z","dependency_job_id":"aa01819a-1d6c-4761-ad1c-0075bed52b3f","html_url":"https://github.com/rails/globalid","commit_stats":{"total_commits":257,"total_committers":67,"mean_commits":"3.8358208955223883","dds":0.7587548638132295,"last_synced_commit":"e9548a3531a89abfaf036f88d4dac732355a5b80"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","download_url":"https://codeload.github.com/rails/globalid/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258301763,"owners_count":22680208,"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":"v1.2.1","sha":"488ab6c67d17219ba3b23fc5ade434a1faaa915f","kind":"tag","published_at":"2023-09-05T16:15:03.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v1.2.1","html_url":"https://github.com/rails/globalid/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%2Fglobalid/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"27dff728fc2e8a2f04234c911cedd631bd0fbc27","kind":"tag","published_at":"2023-09-02T00:13:23.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v1.2.0","html_url":"https://github.com/rails/globalid/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%2Fglobalid/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"10673ef83e23b4ad668c356419c7f70a66cb5c70","kind":"tag","published_at":"2023-01-25T18:47:02.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v1.1.0","html_url":"https://github.com/rails/globalid/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%2Fglobalid/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v1.1.0/manifests"},{"name":"v1.0.1","sha":"574b99fb9a23a9c637e44c0970616dd32b68e93f","kind":"tag","published_at":"2023-01-17T21:41:10.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v1.0.1","html_url":"https://github.com/rails/globalid/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"42f5ea6b4c638024c8865c1e4a4dbeb991198557","kind":"tag","published_at":"2021-11-25T23:16:18.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v1.0.0","html_url":"https://github.com/rails/globalid/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%2Fglobalid/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v1.0.0/manifests"},{"name":"v0.6.0","sha":"beab3e4bc7d3fe1af27367de6c90b4d31618ed44","kind":"tag","published_at":"2021-11-24T22:29:27.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.6.0","html_url":"https://github.com/rails/globalid/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%2Fglobalid/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.6.0/manifests"},{"name":"v0.5.2","sha":"0ed21fb86ed2ad5fc6c78b10d799155558bf55b7","kind":"tag","published_at":"2021-08-02T13:04:40.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.5.2","html_url":"https://github.com/rails/globalid/releases/tag/v0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.5.2/manifests"},{"name":"v0.5.1","sha":"20f6a4addb034ef5c46e7bca262fc3bebd7445df","kind":"tag","published_at":"2021-07-27T20:55:03.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.5.1","html_url":"https://github.com/rails/globalid/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"1366dc0e82ef3820ab19024c67d32d018f74efc9","kind":"tag","published_at":"2021-07-27T20:48:29.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.5.0","html_url":"https://github.com/rails/globalid/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%2Fglobalid/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.5.0/manifests"},{"name":"v0.4.2","sha":"c98b8091b4199510273ef3436819529dddf8b7d4","kind":"tag","published_at":"2019-01-11T13:58:27.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.4.2","html_url":"https://github.com/rails/globalid/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"b6abf002f677d9ca59811f1846c2ed261e011608","kind":"tag","published_at":"2017-10-24T15:47:59.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.4.1","html_url":"https://github.com/rails/globalid/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"e44679370c5b0d95e336cdfa798ef6e763845885","kind":"tag","published_at":"2017-04-16T15:35:16.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.4.0","html_url":"https://github.com/rails/globalid/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.4.0/manifests"},{"name":"v0.3.7","sha":"920ebcf980f421501ea9151291ca7cc52917fcdf","kind":"tag","published_at":"2016-07-26T20:35:46.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.7","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"8178ff2dc898a8f49dd71f6eb46f2a09712462de","kind":"tag","published_at":"2015-08-04T21:30:09.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.6","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"7a416483c30ec4d266213c75b87a333347ab6df6","kind":"tag","published_at":"2015-04-08T17:40:27.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.5","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"f7fe7ec3a66926e961bb1fd3446217cc7379781c","kind":"commit","published_at":"2015-04-08T14:53:44.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.4","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"62e3bb33cfc87a6f2073b6754d724d049fda3cd8","kind":"commit","published_at":"2015-02-12T17:59:15.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.3","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"64fb44bf8c8ebef7c0c7dbd68b19d8607e0866e7","kind":"commit","published_at":"2015-02-05T23:17:44.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.2","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"9c71bf85cbe3766bd7c1372863680ca8c160cacb","kind":"commit","published_at":"2015-02-05T19:19:20.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.1","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"e4cc3643b3dd1e46d8f8525140a81fc1edfb4595","kind":"tag","published_at":"2014-09-12T16:28:15.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.3.0","html_url":"https://github.com/rails/globalid/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.3.0/manifests"},{"name":"v0.2.3","sha":"5aaecafce51b9aa0bead930af57ad493db754268","kind":"tag","published_at":"2014-08-26T18:53:01.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.2.3","html_url":"https://github.com/rails/globalid/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"033bd2bf2e86c00712a19a285667479f8a2ff7d2","kind":"commit","published_at":"2014-08-18T23:31:57.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.2.2","html_url":"https://github.com/rails/globalid/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"cec187e600af9ed5639f099ffb272bcb02e817fb","kind":"commit","published_at":"2014-08-18T22:58:22.000Z","download_url":"https://codeload.github.com/rails/globalid/tar.gz/v0.2.1","html_url":"https://github.com/rails/globalid/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fglobalid/tags/v0.2.1/manifests"}]},"repo_metadata_updated_at":"2025-06-06T01:38:44.942Z","dependent_packages_count":37,"downloads":511194595,"downloads_period":"total","dependent_repos_count":514218,"rankings":{"downloads":0.039027218697382945,"dependent_repos_count":0.030106711566552556,"dependent_packages_count":0.6852064539869092,"stargazers_count":1.7913493382098773,"forks_count":2.3879082525841597,"docker_downloads_count":0.1477458993543783,"average":0.84689064573321},"purl":"pkg:gem/globalid","advisories":[{"uuid":"GSA_kwCzR0hTQS0yM2MyLWd3cDUtcHh3Oc4AAxDr","url":"https://github.com/advisories/GHSA-23c2-gwp5-pxw9","title":"ReDoS based DoS vulnerability in GlobalID","description":"There is a ReDoS based DoS vulnerability in the GlobalID gem. This vulnerability has been assigned the CVE identifier CVE-2023-22799.\n\nVersions Affected: \u003e= 0.2.1 Not affected: NOTAFFECTED Fixed Versions: 1.0.1\nImpact\n\nThere is a possible DoS vulnerability in the model name parsing section of the GlobalID gem. Carefully crafted input can cause the regular expression engine to take an unexpected amount of time. All users running an affected release should either upgrade or use one of the workarounds immediately.\nReleases\n\nThe FIXED releases are available at the normal locations.\nWorkarounds\n\nThere are no feasible workarounds for this issue.\nPatches\n\nTo aid users who aren’t able to upgrade immediately we have provided patches for the two supported release series. They are in git-am format and consist of a single changeset.\n\n    1-0-model-name-redos.patch - Patch for 1.0 series\n","origin":"UNSPECIFIED","severity":"LOW","published_at":"2023-01-18T18:13:19.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/rails/globalid/releases/tag/v1.0.1","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/globalid/CVE-2023-22799.yml","https://nvd.nist.gov/vuln/detail/CVE-2023-22799","https://discuss.rubyonrails.org/t/cve-2023-22799-possible-redos-based-dos-vulnerability-in-globalid/82127","https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc","https://github.com/advisories/GHSA-23c2-gwp5-pxw9"],"source_kind":"github","identifiers":["GHSA-23c2-gwp5-pxw9","CVE-2023-22799"],"repository_url":"https://github.com/rails/globalid","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"1.0.1","vulnerable_version_range":"\u003e= 0.2.1, \u003c 1.0.1"}],"ecosystem":"rubygems","package_name":"globalid"}],"created_at":"2023-01-18T19:03:22.137Z","updated_at":"2025-05-23T01:11:17.360Z","epss_percentage":0.01409,"epss_percentile":0.79504}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/globalid","docker_dependents_count":1240,"docker_downloads_count":815201144,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/globalid","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/globalid/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/globalid/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/globalid/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/globalid/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/globalid/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-09T09:33:43.101Z","updated_at":"2022-11-09T09:33:43.101Z","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-09T09:33:43.150Z","updated_at":"2022-11-09T09:33:43.150Z","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-09T09:33:43.093Z","updated_at":"2022-11-09T09:33:43.093Z","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-09T09:33:43.108Z","updated_at":"2022-11-09T09:33:43.108Z","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-09T09:33:43.114Z","updated_at":"2022-11-09T09:33:43.114Z","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-09T09:33:43.166Z","updated_at":"2022-11-09T09:33:43.166Z","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-09T09:33:43.143Z","updated_at":"2022-11-09T09:33:43.143Z","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-09T09:33:43.159Z","updated_at":"2022-11-09T09:33:43.159Z","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-09T09:33:43.121Z","updated_at":"2022-11-09T09:33:43.121Z","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-09T09:33:43.132Z","updated_at":"2022-11-09T09:33:43.132Z","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-09T09:33:43.174Z","updated_at":"2022-11-09T09:33:43.174Z","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-09T09:33:43.189Z","updated_at":"2022-11-09T09:33:43.189Z","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":198115,"maintainers_count":66429,"namespaces_count":0,"keywords_count":17799,"github":"rubygems","metadata":{"funded_packages_count":7045},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2025-06-06T05:59:27.395Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},"unique_repositories_count":168,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"5415119393","node_id":"PR_kwDOABNy5s8AAAABDBxkFA","number":346,"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-09-14T17:04:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-10T17:04:44.000Z","updated_at":"2026-09-14T17:04:17.000Z","time_to_close":345571,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":15,"packages":[{"name":"action_text-trix","old_version":"2.1.18","new_version":"2.1.19","repository_url":"https://github.com/basecamp/trix"},{"name":"concurrent-ruby","old_version":"1.3.7","new_version":"1.3.8"},{"name":"erb","old_version":"6.0.4","new_version":"6.0.7"},{"name":"globalid","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/rails/globalid"},{"name":"i18n","old_version":"1.14.8","new_version":"1.15.2"},{"name":"io-console","old_version":"0.8.2","new_version":"0.9.2"},{"name":"mail","old_version":"2.9.0","new_version":"2.9.1","repository_url":"https://github.com/mikel/mail"},{"name":"minitest","old_version":"6.0.5","new_version":"6.0.6"},{"name":"net-imap","old_version":"0.6.4.1","new_version":"0.6.7"},{"name":"net-protocol","old_version":"0.2.2","new_version":"0.3.0"},{"name":"pp","old_version":"0.6.3","new_version":"0.6.4"},{"name":"rack","old_version":"3.2.6","new_version":"3.2.7"},{"name":"rdoc","old_version":"7.2.0","new_version":"8.0.0"},{"name":"reline","old_version":"0.6.3","new_version":"0.7.0"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 3 updates in the / directory: [action_text-trix](https://github.com/basecamp/trix), [globalid](https://github.com/rails/globalid) and [mail](https://github.com/mikel/mail).\n\nUpdates `action_text-trix` from 2.1.18 to 2.1.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.19\u003c/h2\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade DOMPurify to 3.4.2 from 3.2.7 by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1310\"\u003ebasecamp/trix#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/23ab2f6504d2a07d9e319e3617331d03fa6c36db\"\u003e\u003ccode\u003e23ab2f6\u003c/code\u003e\u003c/a\u003e v2.1.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/6ba31fea451622707548de6cd6b3c8fcd4a8aaea\"\u003e\u003ccode\u003e6ba31fe\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 3.14.1 to 3.14.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/644a02c8802ae3fb1a5656f2ac55a6a0a5fca1f1\"\u003e\u003ccode\u003e644a02c\u003c/code\u003e\u003c/a\u003e dep: upgrade rangy to 1.3.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/a7c0e0945e4c98e12c1fd586c3e6c7858ce21a02\"\u003e\u003ccode\u003ea7c0e09\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.0 to 6.15.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/ce80a5ef31715d851222ee616421a33ea63574de\"\u003e\u003ccode\u003ece80a5e\u003c/code\u003e\u003c/a\u003e dep: upgrade DOMPurify to 3.4.2 from 3.2.7 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1310\"\u003e#1310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/50c5d4fecd4b36aadec5fc8fcc0dea124ce201b0\"\u003e\u003ccode\u003e50c5d4f\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e from 7.23.9 to 7.29.4 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/95addeb72a525bf26408e8bb480886024a7b9184\"\u003e\u003ccode\u003e95addeb\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.21 to 4.18.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/c76aeb707fb52cc412adb1fac10dd31267d3c024\"\u003e\u003ccode\u003ec76aeb7\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/f325978dc025923a9d149379edfa1017eaf83c0e\"\u003e\u003ccode\u003ef325978\u003c/code\u003e\u003c/a\u003e Bump ip-address from 10.1.0 to 10.2.0 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/d014617094cd974bb19eb15e325685cac909cb5c\"\u003e\u003ccode\u003ed014617\u003c/code\u003e\u003c/a\u003e Bump basic-ftp from 5.0.5 to 5.2.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `concurrent-ruby` from 1.3.7 to 1.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases\"\u003econcurrent-ruby's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProgramatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to use Concurrent::Map#compute_if_absent in a Ractor by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1109\"\u003eruby-concurrency/concurrent-ruby#1109\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/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\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-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ehttps://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\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-concurrency/concurrent-ruby/blob/master/CHANGELOG.md\"\u003econcurrent-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.3.8 (19 July 2026)\u003c/h2\u003e\n\u003cp\u003econcurrent-ruby:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.8\"\u003erelease notes on GitHub\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-concurrency/concurrent-ruby/commit/0b88d5ff75f69b3740c8f0868e76f833cb2fd45d\"\u003e\u003ccode\u003e0b88d5f\u003c/code\u003e\u003c/a\u003e Release 1.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/0f83a98928df59ea9f713adba8f68e2e9d518503\"\u003e\u003ccode\u003e0f83a98\u003c/code\u003e\u003c/a\u003e Allow to use Concurrent::Map#compute_if_absent in a Ractor (\u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/issues/1109\"\u003e#1109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/cc5a32fe96ba9b118752bd9b60548259580d2f1c\"\u003e\u003ccode\u003ecc5a32f\u003c/code\u003e\u003c/a\u003e Programatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception:\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 6.0.4 to 6.0.7\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\u003ev6.0.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression, add tests by \u003ca href=\"https://github.com/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/v6.0.6...v6.0.7\"\u003ehttps://github.com/ruby/erb/compare/v6.0.6...v6.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation typos and code examples by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/126\"\u003eruby/erb#126\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/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\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/v6.0.5...v6.0.6\"\u003ehttps://github.com/ruby/erb/compare/v6.0.5...v6.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: fix dead link to now removed issue by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: forward-port NEWS/changelog entries for clarity by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/114\"\u003eruby/erb#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConstrain RDoc below 8 for JRuby CI 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/erb/pull/122\"\u003eruby/erb#122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix wrong receiver in eoutvar example for #src 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/erb/pull/123\"\u003eruby/erb#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid dispatch in ERB initialization guard 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/erb/pull/124\"\u003eruby/erb#124\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/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.5\"\u003ehttps://github.com/ruby/erb/compare/v6.0.4...v6.0.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression in v6.0.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overridable method dispatch in the initialization guard\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/9907393a1f1dfc027e8e7f2a9f5fcc7c60632762\"\u003e\u003ccode\u003e9907393\u003c/code\u003e\u003c/a\u003e Version 6.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/50f434e7e5cc055348d4a744f8b0336bc511fe8f\"\u003e\u003ccode\u003e50f434e\u003c/code\u003e\u003c/a\u003e Simplify Scanner's Ractor safety code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/75f1ea059e9ed55d910589f6da5989e2ba65150c\"\u003e\u003ccode\u003e75f1ea0\u003c/code\u003e\u003c/a\u003e Fix Ractor compatibility regression, add tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/26f674e48eed5ec2f503812758b24fc9415a84f4\"\u003e\u003ccode\u003e26f674e\u003c/code\u003e\u003c/a\u003e Bump lewagon/wait-on-check-action from 1.8.0 to 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/58411353a15accf5395593dc541d8168fa134c10\"\u003e\u003ccode\u003e5841135\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.4 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/488683a7785a11b2b706b5b6e0708bed311ec577\"\u003e\u003ccode\u003e488683a\u003c/code\u003e\u003c/a\u003e Version 6.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/0f9a6d6a7ad49dd322df352dc66fc7c3793a44c6\"\u003e\u003ccode\u003e0f9a6d6\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e-h\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37daba66e03c588d66a42fc391bd35c21fd0c665\"\u003e\u003ccode\u003e37daba6\u003c/code\u003e\u003c/a\u003e Fix documentation typos and code examples (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37c941cb6df14463150b73f43db497f7e23dea4e\"\u003e\u003ccode\u003e37c941c\u003c/code\u003e\u003c/a\u003e Version 6.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ce08ffbeff70dfc44b5551a5bb51cc471bb7c3d2\"\u003e\u003ccode\u003ece08ffb\u003c/code\u003e\u003c/a\u003e Hide ERB init guard internals from RDoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors by \u003ca href=\"https://github.com/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange the underlying URI parser (from RFC2396 to RFC3986) by \u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't try to constantize GID's class too soon by \u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow custom locators to override model class by \u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/globalid/compare/v1.3.0...v1.4.0\"\u003ehttps://github.com/rails/globalid/compare/v1.3.0...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c81267b4ca2eb41aa1d39178e281fbf38b6e5685\"\u003e\u003ccode\u003ec81267b\u003c/code\u003e\u003c/a\u003e Release 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/ce280b7e793a31bb604222407e8812ffca559a61\"\u003e\u003ccode\u003ece280b7\u003c/code\u003e\u003c/a\u003e Frozen string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9325789f231ed6b7cbc0c2bdd34ec45e9d5d893b\"\u003e\u003ccode\u003e9325789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/203\"\u003e#203\u003c/a\u003e from xijo/support_model_class_override_for_custom_loc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/241657bd6049738972c439d3402732744a86edd4\"\u003e\u003ccode\u003e241657b\u003c/code\u003e\u003c/a\u003e Allow custom locators to override model class derivation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/dc5bc56320a093c1ca24fa22c78fa64be37a717f\"\u003e\u003ccode\u003edc5bc56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/204\"\u003e#204\u003c/a\u003e from paulRbr/dont-constantize-model-when-not-needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26498976f018312c1949e2f11e40ec9f0f70815c\"\u003e\u003ccode\u003e2649897\u003c/code\u003e\u003c/a\u003e Don't try to constantize GID's class too soon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/018ccf19597f97513f5b5786634bcb532f476681\"\u003e\u003ccode\u003e018ccf1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/202\"\u003e#202\u003c/a\u003e from Drowze/swappable-uri-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/0f2efb5753009a64107f18071d6c1f0217cba6fa\"\u003e\u003ccode\u003e0f2efb5\u003c/code\u003e\u003c/a\u003e Change the underlying URI parser (from RFC2396 to RFC3986)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4fd30dd77f645d6c03191e2936e4d3370004c729\"\u003e\u003ccode\u003e4fd30dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/206\"\u003e#206\u003c/a\u003e from rosa/fetch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/948503f198cff5b951b1b7210b5648891e1d049c\"\u003e\u003ccode\u003e948503f\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.3.0...v1.4.0\"\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.8 to 1.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 3.1 support by \u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/739\"\u003eruby-i18n/i18n#739\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.15.1...v1.15.2\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.1...v1.15.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix feature fiber storage by \u003ca href=\"https://github.com/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore Ruby 3.2 + Rails main from the matrix 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-i18n/i18n/pull/737\"\u003eruby-i18n/i18n#737\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/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\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.15.0...v1.15.1\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.0...v1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake lazy loading of I18n translations thread safe ( part 2 ) by \u003ca href=\"https://github.com/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to not replace non-ASCII chars not in map by \u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd transliteration for O with ogonek 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-i18n/i18n/pull/733\"\u003eruby-i18n/i18n#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: exclude Ruby 3.2 from rails-main matrix 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-i18n/i18n/pull/734\"\u003eruby-i18n/i18n#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFiber-aware I18n config storage 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/731\"\u003eruby-i18n/i18n#731\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/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\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.8...v1.15.0\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/8beba78761637f6677fa94e26e19b50790161f78\"\u003e\u003ccode\u003e8beba78\u003c/code\u003e\u003c/a\u003e Bump to 1.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d6964f2b60e65223573fbba9e51e2689ef4324bc\"\u003e\u003ccode\u003ed6964f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/739\"\u003e#739\u003c/a\u003e from koic/restore_ruby_3_1_support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/e4c806e513bf51f19c956fefbee38b5a105bebf8\"\u003e\u003ccode\u003ee4c806e\u003c/code\u003e\u003c/a\u003e Restore Ruby 3.1 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/02841cb7fcf17458c6574fbf43fb36f25a00e9ad\"\u003e\u003ccode\u003e02841cb\u003c/code\u003e\u003c/a\u003e Bump to 1.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/a56484de2167826995867f0a34f9e03a581ebad7\"\u003e\u003ccode\u003ea56484d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/737\"\u003e#737\u003c/a\u003e from ruby-i18n/ignore-ruby32-rails-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/52deabaf8e1f6e9ec5ea300b180f749fc6554294\"\u003e\u003ccode\u003e52deaba\u003c/code\u003e\u003c/a\u003e Ignore Ruby 3.2 + Rails main from the matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/94891ca7fd503d57b00ab8abb6e8a5025b5ed284\"\u003e\u003ccode\u003e94891ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/736\"\u003e#736\u003c/a\u003e from YashaVinter/fix-feature-fiber-storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/5a7913e587cd8db5417a359049ad7decfac86bcc\"\u003e\u003ccode\u003e5a7913e\u003c/code\u003e\u003c/a\u003e Test against Ruby 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/cd337a8a8ba25351a08c0118e52a796113da7802\"\u003e\u003ccode\u003ecd337a8\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/735\"\u003eruby-i18n/i18n#735\u003c/a\u003e NoMethodError: undefined met...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/78fa20aa9a4f8d3632fc5c0e146aaca73fdea098\"\u003e\u003ccode\u003e78fa20a\u003c/code\u003e\u003c/a\u003e Bump to 1.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.2 to 0.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCI: Add more platforms to matrix by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/147\"\u003eruby/io-console#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOrganize JRuby console implementations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/148\"\u003eruby/io-console#148\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.9.1...v0.9.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.9.1...v0.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix stty redirection on JRuby by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/146\"\u003eruby/io-console#146\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/io-console/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove no longer used variable by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/119\"\u003eruby/io-console#119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Use \u003ccode\u003e:nodoc:\u003c/code\u003e instead of \u003ccode\u003e:stopdoc:\u003c/code\u003e for internal C-defined classes 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/io-console/pull/123\"\u003eruby/io-console#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument that getch can return nil by \u003ca href=\"https://github.com/zonuexe\"\u003e\u003ccode\u003e@​zonuexe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/130\"\u003eruby/io-console#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Pin rbs on JRuby to a pre-release with JRuby support 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/io-console/pull/135\"\u003eruby/io-console#135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake win32_vk generator portable to cmd.exe by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/136\"\u003eruby/io-console#136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove stale checks by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/138\"\u003eruby/io-console#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtend \u003ccode\u003eIO#tty?\u003c/code\u003e to recognize Windows PTYs by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/139\"\u003eruby/io-console#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged File.exists? to File.exist? in lib/ffi/io/console/stty_console.rb by \u003ca href=\"https://github.com/Kostadin\"\u003e\u003ccode\u003e@​Kostadin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/137\"\u003eruby/io-console#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up platform dispatch in the FFI version by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/141\"\u003eruby/io-console#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement FFI console mode support by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/142\"\u003eruby/io-console#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce the \u003ccode\u003eIO::Console\u003c/code\u003e namespace by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/143\"\u003eruby/io-console#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor and fix \u003ccode\u003eIO#_io_console_stty\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/io-console/pull/144\"\u003eruby/io-console#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows console support by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/140\"\u003eruby/io-console#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/123\"\u003eruby/io-console#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zonuexe\"\u003e\u003ccode\u003e@​zonuexe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/130\"\u003eruby/io-console#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kostadin\"\u003e\u003ccode\u003e@​Kostadin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/137\"\u003eruby/io-console#137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.2...v0.9.0\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.2...v0.9.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/io-console/commit/23f96614704a59f69411ca2ece24d5361dd27601\"\u003e\u003ccode\u003e23f9661\u003c/code\u003e\u003c/a\u003e bump up to 0.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/48942c2803258eb32b231d3aa8a0a48b5d40cd61\"\u003e\u003ccode\u003e48942c2\u003c/code\u003e\u003c/a\u003e Support JRuby FFI console on arm64 Darwin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/0ec2d9d45acb2c6b60dac59724f16fbf0a99e52b\"\u003e\u003ccode\u003e0ec2d9d\u003c/code\u003e\u003c/a\u003e Separate JRuby FFI bindings from constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/8b57c65011c0919bdb3a9fb111e2f330754861bc\"\u003e\u003ccode\u003e8b57c65\u003c/code\u003e\u003c/a\u003e Organize JRuby console implementations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/b7ac2e04e94a636b66b19ee04d912dcdb70404b1\"\u003e\u003ccode\u003eb7ac2e0\u003c/code\u003e\u003c/a\u003e Move JRuby implementation under jruby/lib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d6e1af6eb394cfd88c6b33b0a1a642f214d5a867\"\u003e\u003ccode\u003ed6e1af6\u003c/code\u003e\u003c/a\u003e Clarify JRuby test load path setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/fcb28a3ff7ba5bb3c8229f4b8becc50a7a495820\"\u003e\u003ccode\u003efcb28a3\u003c/code\u003e\u003c/a\u003e Improve stty console support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/1b4a781de34fc1d2fbb54bce38ff08bf492b9163\"\u003e\u003ccode\u003e1b4a781\u003c/code\u003e\u003c/a\u003e Test bad keywords on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/14ca994f43f42a71e0337af86105e40a13ff206c\"\u003e\u003ccode\u003e14ca994\u003c/code\u003e\u003c/a\u003e Test more platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/3837d1a955b8a5907f699d1ba16754f11cdeec02\"\u003e\u003ccode\u003e3837d1a\u003c/code\u003e\u003c/a\u003e bump up to 0.9.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.2...v0.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.9.0 to 2.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Ruby 3.4 to CI matrix in GitHub Actions workflow by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove decoding of Q- and B-encoded strings by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1664\"\u003emikel/mail#1664\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump to 2.9.1 by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1665\"\u003emikel/mail#1665\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\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/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\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/mikel/mail/compare/2.9.0...2.9.1\"\u003ehttps://github.com/mikel/mail/compare/2.9.0...2.9.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/mikel/mail/commit/d645d7b5b7d03218b0bc8971ef041c991a63f5f7\"\u003e\u003ccode\u003ed645d7b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1665\"\u003e#1665\u003c/a\u003e from mikel/tag-291\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/5c863ed0489571e7572669018739dc47ed1f9189\"\u003e\u003ccode\u003e5c863ed\u003c/code\u003e\u003c/a\u003e Bump to 2.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/14915fa4c5f30ade18f3745ecc6d5d141a48104d\"\u003e\u003ccode\u003e14915fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1664\"\u003e#1664\u003c/a\u003e from mikel/sec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/4eab5623419079d6b972f063f16b536c02ecee62\"\u003e\u003ccode\u003e4eab562\u003c/code\u003e\u003c/a\u003e Potential fix for pull request finding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f9d59c2e447af42e2c3dec5a56b1bb25c7292859\"\u003e\u003ccode\u003ef9d59c2\u003c/code\u003e\u003c/a\u003e Improve decoding of Q- and B-encoded strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f98fb653956d246661394b1e98cf6e77eb8dd0a0\"\u003e\u003ccode\u003ef98fb65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1653\"\u003e#1653\u003c/a\u003e from ydah/add-ci-matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d9081000b1c3e9a07f2b58e0e6c0b8f360bc8c8f\"\u003e\u003ccode\u003ed908100\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI matrix in GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mikel/mail/compare/2.9.0...2.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.5 to 6.0.6\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=== 6.0.6 / 2026-04-30\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e2 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e. (mtasaka)\u003c/li\u003e\n\u003cli\u003eRemoved private Assertions#_where as it is no longer used.\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/f6180b07ea6e8504a71d220246da0875f392c51c\"\u003e\u003ccode\u003ef6180b0\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/23bc7f25a8853b9b3c75b9b73c65d231e42cb452\"\u003e\u003ccode\u003e23bc7f2\u003c/code\u003e\u003c/a\u003e - Removed private Assertions#_where as it is no longer used.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c471347e5daf7f3e362c530170ae3302edad9117\"\u003e\u003ccode\u003ec471347\u003c/code\u003e\u003c/a\u003e - Fix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.5...v6.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.6.4.1 to 0.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add SequenceSet predicates for comparing any/all/none above/below a number by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/737\"\u003eruby/net-imap#737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse NIL APPENDLIMIT values in STATUS responses by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/749\"\u003eruby/net-imap#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔓️ Add \u003ccode\u003e#tls_socket?\u003c/code\u003e and \u003ccode\u003e#tls_connected?\u003c/code\u003e debug methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/767\"\u003eruby/net-imap#767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCompare SearchResult values instead of hashes in eql? by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/738\"\u003eruby/net-imap#738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor clone freeze keywords for \u003ccode\u003eConfig\u003c/code\u003e and \u003ccode\u003eSequenceSet\u003c/code\u003e by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/739\"\u003eruby/net-imap#739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize response types consistently when clearing responses by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/747\"\u003eruby/net-imap#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle zero and negative SequenceSet min/max counts by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/742\"\u003eruby/net-imap#742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep large ordered sequence indices as integers by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/743\"\u003eruby/net-imap#743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept string arguments in SequenceSet delete? by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/741\"\u003eruby/net-imap#741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the documented 16 KiB non-synchronizing literal default by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/744\"\u003eruby/net-imap#744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse STATUS responses with empty attribute lists by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/748\"\u003eruby/net-imap#748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatch ID string literal bytes without encoding conflicts by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/740\"\u003eruby/net-imap#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003e#inspect\u003c/code\u003e output when \u003ccode\u003eSSLSocket#connect\u003c/code\u003e fails by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/764\"\u003eruby/net-imap#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Don't freeze caller's \u003ccode\u003essl: ctx_params\u003c/code\u003e hash by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/765\"\u003eruby/net-imap#765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚️ Fix Config attributes docs broken by rdoc 8.0 by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/735\"\u003eruby/net-imap#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚️ Fix ghost \u003ccode\u003emethod:\u003c/code\u003e directives broken by rdoc 8.0 by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/734\"\u003eruby/net-imap#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Various documentation updates by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/763\"\u003eruby/net-imap#763\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse benchmark_driver by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/733\"\u003eruby/net-imap#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Match subclasses in \u003ccode\u003eSearchResult#eql?\u003c/code\u003e/\u003ccode\u003e#hash\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/751\"\u003eruby/net-imap#751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve caller fetch modifiers when adding keyword options by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/746\"\u003eruby/net-imap#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⚡ Scan raw command literals without copying the remaining input by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/745\"\u003eruby/net-imap#745\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Style tweaks to \u003ccode\u003eRawData.split\u003c/code\u003e update by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/762\"\u003eruby/net-imap#762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update bin/test test runner and README by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/727\"\u003eruby/net-imap#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Ratchet up minimum test coverage requirements by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/725\"\u003eruby/net-imap#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Move various IMAP client tests to their own files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/728\"\u003eruby/net-imap#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Use release version of test-unit-ruby-core by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/736\"\u003eruby/net-imap#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix JRuby local backtrace test assertions by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/732\"\u003eruby/net-imap#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Improve \u003ccode\u003eSearchResult#eql?\u003c/code\u003e and \u003ccode\u003e#hash\u003c/code\u003e tests by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/750\"\u003eruby/net-imap#750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.20.0 to 2.21.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/731\"\u003eruby/net-imap#731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.21.0 to 2.21.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/net-imap/pull/761\"\u003eruby/net-imap#761\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/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/738\"\u003eruby/net-imap#738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.6...v0.6.7\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.6...v0.6.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/5ef99839958cdc9153ae0f147c5fb3bfbc437a10\"\u003e\u003ccode\u003e5ef9983\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to v0.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8bca190508109b89070cf824d5008a8f244bc887\"\u003e\u003ccode\u003e8bca190\u003c/code\u003e\u003c/a\u003e 🔀 Merge branch 'tls-state-inspection-predicates'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9dc5d1dd4547b6f71dbcae2f02370f1e1b4e758f\"\u003e\u003ccode\u003e9dc5d1d\u003c/code\u003e\u003c/a\u003e 🔓️ Add \u003ccode\u003etls_socket?\u003c/code\u003e and \u003ccode\u003etls_connected?\u003c/code\u003e methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/40bff51aac21c985d75edac03ec24cbf98b8ab49\"\u003e\u003ccode\u003e40bff51\u003c/code\u003e\u003c/a\u003e 📚 Link to SSLSocket in ssl_ctx rdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6236f4d1e0c39c743be54b70cfdbdc0ad7f3e3e2\"\u003e\u003ccode\u003e6236f4d\u003c/code\u003e\u003c/a\u003e 🐛 Don't freeze caller's \u003ccode\u003essl: ctx_params\u003c/code\u003e hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6fe079675bc18ad7fa9377aae4ca89235ff69217\"\u003e\u003ccode\u003e6fe0796\u003c/code\u003e\u003c/a\u003e 🐛 Fix #inspect when TLS connect fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/a945a9d5ea9b65ea1db86f825e8777d78ad4deca\"\u003e\u003ccode\u003ea945a9d\u003c/code\u003e\u003c/a\u003e ✅ Improve TLS/STARTTLS tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bd1400a90abe3bc635e1789613cb6d38fc502764\"\u003e\u003ccode\u003ebd1400a\u003c/code\u003e\u003c/a\u003e ⬆️ Bump step-security/harden-runner from 2.21.0 to 2.21.1 (\u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/61c8d3e3c5321448907944b8b508a5685fea1dfd\"\u003e\u003ccode\u003e61c8d3e\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/762\"\u003e#762\u003c/a\u003e from ruby/raw_data-split-style\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/e7e91f9941b631f24ba23c4149a42aeb34d182fd\"\u003e\u003ccode\u003ee7e91f9\u003c/code\u003e\u003c/a\u003e ♻️ Style tweaks to RawDate.split\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-protocol` from 0.2.2 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-protocol/releases\"\u003enet-protocol's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProvide a 'Changelog' link on rubygems.org/gems/net-protocol by \u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/29\"\u003eruby/net-protocol#29\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/net-protocol/pull/33\"\u003eruby/net-protocol#33\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/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/net-protocol/pull/39\"\u003eruby/net-protocol#39\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Net::Protocol::TCP_SOCKET_NEW_HAS_OPEN_TIMEOUT by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/43\"\u003eruby/net-protocol#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix readuntil missing a terminator that spans two reads by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/66\"\u003eruby/net-protocol#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd limit option to Net::BufferedIO#readuntil by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/67\"\u003eruby/net-protocol#67\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/29\"\u003eruby/net-protocol#29\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/43\"\u003eruby/net-protocol#43\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-protocol/compare/v0.2.2...v0.3.0\"\u003ehttps://github.com/ruby/net-protocol/compare/v0.2.2...v0.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/fb347d5ff4c1129780cdf771b741325f61e69586\"\u003e\u003ccode\u003efb347d5\u003c/code\u003e\u003c/a\u003e v0.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/74c234899c29c1726442a7ba48e137aac6c35a04\"\u003e\u003ccode\u003e74c2348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-protocol/issues/67\"\u003e#67\u003c/a\u003e from ruby/readuntil-limit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/6ffd258b7cd2626dfd855a37aa2fa1236e610f5d\"\u003e\u003ccode\u003e6ffd258\u003c/code\u003e\u003c/a\u003e Trim the comments added with the readuntil rewind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/e1b38d98b7be6210166ed3ef0726cb872449c820\"\u003e\u003ccode\u003ee1b38d9\u003c/code\u003e\u003c/a\u003e Add limit option to Net::BufferedIO#readuntil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/716719edd55bcfc1bc97ff3011feab896c9ccbf9\"\u003e\u003ccode\u003e716719e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-protocol/issues/66\"\u003e#66\u003c/a\u003e from ruby/readuntil-chunk-boundary\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/0dbbaea0eb498e66deb768763ce92324dd0d8143\"\u003e\u003ccode\u003e0dbbaea\u003c/code\u003e\u003c/a\u003e Ignore Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/215cc3566663fab49520cbea03f094cf07fa5cc7\"\u003e\u003ccode\u003e215cc35\u003c/code\u003e\u003c/a\u003e Add regression tests for the readuntil rewind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/84ef3aba09c37a6343b5a09b80e83b82132af35d\"\u003e\u003ccode\u003e84ef3ab\u003c/code\u003e\u003c/a\u003e Fix readuntil missing a terminator that spans two reads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/c1d4563ecf75860da451897e7f1ad26f07d32012\"\u003e\u003ccode\u003ec1d4563\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-protocol/issues/65\"\u003e#65\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/0c9e23be6c309b395dc8bf9df76896aab547a6a2\"\u003e\u003ccode\u003e0c9e23b\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.4.0 to 1.4.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-protocol/compare/v0.2.2...v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.3 to 0.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Suppress documentation for internals 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/pp/pull/65\"\u003eruby/pp#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport private instance_variables_to_inspect by \u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\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/pp/compare/v0.6.3...v0.6.4\"\u003ehttps://github.com/ruby/pp/compare/v0.6.3...v0.6.4\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/pp/commit/29552e894c8cd5700c50135b2e4a385fbda512a4\"\u003e\u003ccode\u003e29552e8\u003c/code\u003e\u003c/a\u003e v0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/e08d84ce10b8a2e994ba99af9b1e31b6397b7fc9\"\u003e\u003ccode\u003ee08d84c\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/91079ce0774a21e68e53c410479c0fadcd4d28b8\"\u003e\u003ccode\u003e91079ce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/87\"\u003e#87\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/a39f73e604ce38bdeae5171eaa3a37c83b0566f8\"\u003e\u003ccode\u003ea39f73e\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.2.0 to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/5a688e4d35123147426fa6bd91871318eb3e3985\"\u003e\u003ccode\u003e5a688e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/86\"\u003e#86\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/d649a95151c205a0be351c37fb74193fddb30a12\"\u003e\u003ccode\u003ed649a95\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.3 to 2.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/54a425d7a53d56e1abab525491653837e86d5c42\"\u003e\u003ccode\u003e54a425d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/85\"\u003e#85\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/34941a375b6d46a9e42ec04d7bcf747b5ca2485c\"\u003e\u003ccode\u003e34941a3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.1 to 2.19.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/670c8c0b3cd69fb64375be97943c01f96981729e\"\u003e\u003ccode\u003e670c8c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/84\"\u003e#84\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/bd8165d5a628d2707853ba2e5b50b04bbc008ad6\"\u003e\u003ccode\u003ebd8165d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.0 to 2.19.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.3...v0.6.4\"\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.6 to 3.2.7\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.7] - 2026-08-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 2.4/2.5 compatibility.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/70d2e1046789a70e240e01b9ac0b3ffc9b26d33f\"\u003e\u003ccode\u003e70d2e10\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9b31adf2a8a1fa443cda4825f35b1fff76b2eedd\"\u003e\u003ccode\u003e9b31adf\u003c/code\u003e\u003c/a\u003e Fix specs on Ruby 2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/7c0ababcbad4e4b3fe0cc45c3a8d8b4e2a8cfcef\"\u003e\u003ccode\u003e7c0abab\u003c/code\u003e\u003c/a\u003e Do not ignore Ruby 2.4/2.5 errors in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ef52d4e87ba4346ba381361712c8f714ae9dbe11\"\u003e\u003ccode\u003eef52d4e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eFORWARDED\u003c/code\u003e typo.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/108405ea9fec02dc14c8317e25619d1001ffe4a9\"\u003e\u003ccode\u003e108405e\u003c/code\u003e\u003c/a\u003e Restore Ruby 2.4/2.5 compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c3fe39348bc688f6c02096c04fa6fbc668300c1a\"\u003e\u003ccode\u003ec3fe393\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v3.2.6...v3.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRDoc 8.0.0 is the biggest RDoc release in years. It brings together the work we have been doing to modernize Ruby's documentation experience: a Prism-based parser, RBS signatures in generated documentation, \u003ccode\u003e.rbs\u003c/code\u003e files as documentation input, a live preview server, theme polish, and many long-standing bug fixes.\u003c/p\u003e\n\u003cp\u003eFor users, the biggest visible change is that RDoc can now show type information next to method documentation. RBS signatures are rendered in both HTML and \u003ccode\u003eri\u003c/code\u003e, and the Aliki theme now presents method entries as signature cards. This should make generated documentation more useful for both human readers and tools that consume Ruby documentation.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eFor documentation authors, RDoc 8.0.0 adds \u003ccode\u003erdoc --server\u003c/code\u003e and \u003ccode\u003erake rdoc:server\u003c/code\u003e, giving you a local preview server with live reload. This release also includes many fixes around Markdown, cross-references, page links, C source handling, server mode, and generated HTML structure. The goal is to make writing and checking documentation less tedious.\u003c/p\u003e\n\u003cp\u003eInternally, RDoc has migrated to the Prism-based parser and removed the old Ripper-based parser. This saves RDoc from re-implementing new Ruby syntax support manually going forward. The release also includes a refreshed coverage report, a new user-facing configuration reference, more Aliki polish, and finally, an RDoc logo.\u003c/p\u003e\n\u003cp\u003eThere are breaking changes in this release, so please read the details below before upgrading. But overall, RDoc 8.0.0 is a big step toward making Ruby's documentation tooling feel actively maintained again.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e💥 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange default ruby parser to RDoc::Parser::PrismRuby 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/rdoc/pull/1581\"\u003eruby/rdoc#1581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated CLI options and directives 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/1616\"\u003eruby/rdoc#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor formatter options 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/1623\"\u003eruby/rdoc#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused memoized caches from Context 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/1644\"\u003eruby/rdoc#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd server mode with live reload (\u003ccode\u003erdoc --server\u003c/code\u003e) 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/1620\"\u003eruby/rdoc#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Ripper-based parser 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/1690\"\u003eruby/rdoc#1690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStyle method entries as signature cards in aliki theme 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/1669\"\u003eruby/rdoc#1669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul coverage report 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/1663\"\u003eruby/rdoc#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisplay RBS type signatures in documentation 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/1665\"\u003eruby/rdoc#1665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse RBS files as RDoc input 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/1728\"\u003eruby/rdoc#1728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish Aliki documentation theme 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/1742\"\u003eruby/rdoc#1742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop generating a separate page file for \u003ccode\u003emain_page\u003c/code\u003e 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/1624\"\u003eruby/rdoc#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown table parser consuming lines without pipes as table rows 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/1626\"\u003eruby/rdoc#1626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix section comments with the prism parser 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/rdoc/pull/1639\"\u003eruby/rdoc#1639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deadlock on Ctrl+C in server mode 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/1649\"\u003eruby/rdoc#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix server mode live reload for C files 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/1647\"\u003eruby/rdoc#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't auto-link to non-text source files in cross-references 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/1646\"\u003eruby/rdoc#1646\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix encoding error when C parser reads external source files 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/1657\"\u003eruby/rdoc#1657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix page links returning 404 in server mode 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/1671\"\u003eruby/rdoc#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indentation not being preserved on first line in code fences by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1672\"\u003eruby/rdoc#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broken sidebar links for chained class aliases 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/1675\"\u003eruby/rdoc#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003e#\u003c/code\u003e prefix for unresolved cross-references 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/1676\"\u003eruby/rdoc#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Markdown blockquote parsing 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/1627\"\u003eruby/rdoc#1627\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop lazy alias resolver from overwriting real classes (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1662\"\u003e#1662\u003c/a\u003e) 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/1689\"\u003eruby/rdoc#1689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip markdown HTML comments within paragraph 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/rdoc/pull/1698\"\u003eruby/rdoc#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete -V short flag from --visibility option 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/1703\"\u003eruby/rdoc#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u0026quot;check syntax\u0026quot; message when it isn't a ruby file by \u003ca href=\"https://github.com/rwstauner\"\u003e\u003ccode\u003e@​rwstauner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1715\"\u003eruby/rdoc#1715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid detecting encoding comments in documentation text 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/1727\"\u003eruby/rdoc#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix colorization of imaginary/rational numbers 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/rdoc/pull/1733\"\u003eruby/rdoc#1733\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/rdoc/commit/4e303b392092fe731de1a10e53a9862d7c9cecc8\"\u003e\u003ccode\u003e4e303b3\u003c/code\u003e\u003c/a\u003e Bump RDoc to 8.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/004278532b01e40316fe22266946936cd931218b\"\u003e\u003ccode\u003e0042785\u003c/code\u003e\u003c/a\u003e Polish Aliki documentation theme (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/daa7768b81c703b84c796bf60c27977c62cd4aa1\"\u003e\u003ccode\u003edaa7768\u003c/code\u003e\u003c/a\u003e Encapsulate superclass method link rendering (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/a8df5c5d03b63cf05425bf676644688ac673a329\"\u003e\u003ccode\u003ea8df5c5\u003c/code\u003e\u003c/a\u003e Parse RBS files as RDoc input (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1728\"\u003e#1728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f89b93a8fb10eca11bb307319bbab295ab468192\"\u003e\u003ccode\u003ef89b93a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.3 to 7.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/be20315862d7834402ffa289fafb7bf40524ca23\"\u003e\u003ccode\u003ebe20315\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.313.0 to 1.314.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1739\"\u003e#1739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/66c1d658014dcc277486d94af65ed07005125217\"\u003e\u003ccode\u003e66c1d65\u003c/code\u003e\u003c/a\u003e Simplify CrossReference resolve (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/7daa43156f2713db5763e2879af74d15a88be193\"\u003e\u003ccode\u003e7daa431\u003c/code\u003e\u003c/a\u003e Add RDoc logo to documentation (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/bb8b2d4587d64df8cd70924fb52021c0941e728a\"\u003e\u003ccode\u003ebb8b2d4\u003c/code\u003e\u003c/a\u003e Fix colorization of imaginary/rational numbers (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1733\"\u003e#1733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1ae9dc17903e363228fa507e607fdbfb2acad50e\"\u003e\u003ccode\u003e1ae9dc1\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.3 to 0.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\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/reline/pull/861\"\u003eruby/reline#861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] New document \u0026quot;For Users\u0026quot; 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/reline/pull/856\"\u003eruby/reline#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Doc for init file 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/reline/pull/869\"\u003eruby/reline#869\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/reline/pull/871\"\u003eruby/reline#871\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/reline/pull/872\"\u003eruby/reline#872\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/reline/pull/874\"\u003eruby/reline#874\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/reline/pull/873\"\u003eruby/reline#873\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/reline/pull/876\"\u003eruby/reline#876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDuplicate console handles and use them by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/875\"\u003eruby/reline#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.14.0 to 2.14.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/881\"\u003eruby/reline#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 6.0.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/882\"\u003eruby/reline#882\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rprompt support for right-side prompt display (take 2) by \u003ca href=\"https://github.com/amatsuda\"\u003e\u003ccode\u003e@​amatsuda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/879\"\u003eruby/reline#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.14.1 to 2.15.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/887\"\u003eruby/reline#887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse cursor-x-coordinate instead of byte_pointer in em_exchange_mark by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/868\"\u003eruby/reline#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEm yank pop fix by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/867\"\u003eruby/reline#867\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.2 to 1.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/890\"\u003eruby/reline#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.15.1 to 2.16.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/889\"\u003eruby/reline#889\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/configure-pages 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/reline/pull/893\"\u003eruby/reline#893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/deploy-pages ...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/346","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/346","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/346/packages"},{"uuid":"5068882425","node_id":"PR_kwDOABNy5s769r94","number":340,"state":"closed","title":"Bump the dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T17:04:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-05T08:17:45.000Z","updated_at":"2026-08-07T17:04:40.000Z","time_to_close":204413,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":13,"packages":[{"name":"json","old_version":"2.19.4","new_version":"2.21.2","repository_url":"https://github.com/ruby/json"},{"name":"action_text-trix","old_version":"2.1.18","new_version":"2.1.19","repository_url":"https://github.com/basecamp/trix"},{"name":"globalid","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/rails/globalid"},{"name":"mail","old_version":"2.9.0","new_version":"2.9.1","repository_url":"https://github.com/mikel/mail"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [json](https://github.com/ruby/json) | `2.19.4` | `2.21.2` |\n| [action_text-trix](https://github.com/basecamp/trix) | `2.1.18` | `2.1.19` |\n| [globalid](https://github.com/rails/globalid) | `1.3.0` | `1.4.0` |\n| [mail](https://github.com/mikel/mail) | `2.9.0` | `2.9.1` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n\n\nUpdates `json` from 2.19.4 to 2.21.2\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.21.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a use-after-free bug in \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e. [GHSA-9hj4-r449-hfvc].\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.21.1...v2.21.2\"\u003ehttps://github.com/ruby/json/compare/v2.21.1...v2.21.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.21.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON.generate\u003c/code\u003e now accept a \u003ccode\u003esort_keys\u003c/code\u003e option, which takes either a boolean or a block.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e#empty?\u003c/code\u003e and \u003ccode\u003e#partial_value?\u003c/code\u003e methods on \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNumerous correctness and performance fixes for \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAvoid triggering Ruby's \u003ccode\u003efloat out of range\u003c/code\u003e warning when parsing out of range numbers.\u003c/li\u003e\n\u003cli\u003eDeclare C types with Ruby 4.1 \u003ccode\u003eRUBY_TYPED_THREAD_SAFE_FREE\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.20.0...v2.21.0\"\u003ehttps://github.com/ruby/json/compare/v2.20.0...v2.21.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\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.19.8...v2.20.0\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\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.19.8...v2.19.9\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.19.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\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.19.7...v2.19.8\"\u003ehttps://github.com/ruby/json/compare/v2.19.7...v2.19.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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\u003e2026-07-31 (2.21.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a use-after-free bug in \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e. [GHSA-9hj4-r449-hfvc].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-07-13 (2.21.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a compilation issue on Window and Microsoft Visual C++.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-07-12 (2.21.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON.generate\u003c/code\u003e now accept a \u003ccode\u003esort_keys\u003c/code\u003e option, which takes either a boolean or a block.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e#empty?\u003c/code\u003e and \u003ccode\u003e#partial_value?\u003c/code\u003e methods on \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNumerous correctness and performance fixes for \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAvoid triggering Ruby's \u003ccode\u003efloat out of range\u003c/code\u003e warning when parsing out of range numbers.\u003c/li\u003e\n\u003cli\u003eDeclare C types with Ruby 4.1 \u003ccode\u003eRUBY_TYPED_THREAD_SAFE_FREE\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-23 (2.20.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-11 (2.19.9)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-03 (2.19.8)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.7)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003cli\u003eAdd missing write barriers in \u003ccode\u003eState#dup\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFurther validate generator \u003ccode\u003edepth\u003c/code\u003e config.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.6)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCleanly handle overly large \u003ccode\u003edepth\u003c/code\u003e generator argument.\u003c/li\u003e\n\u003cli\u003eAdd missing write barrier in \u003ccode\u003eParserConfig\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-04 (2.19.5)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/5a32e4367ca5976f62af12887a09685b7109b054\"\u003e\u003ccode\u003e5a32e43\u003c/code\u003e\u003c/a\u003e Release 2.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/2c332bfe2bfb0e754da07e2a0310ef106bf46482\"\u003e\u003ccode\u003e2c332bf\u003c/code\u003e\u003c/a\u003e Also don't compute ResumableParser cursor position for warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/5499aa54a46a8e399e2568e6569b504f0f0e2a41\"\u003e\u003ccode\u003e5499aa5\u003c/code\u003e\u003c/a\u003e Improve max_nesting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/499d9bcf22e6a9183f7b765446a458a57ca127ae\"\u003e\u003ccode\u003e499d9bc\u003c/code\u003e\u003c/a\u003e Fix the parser benchmark bytes report\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/f5fc2454fdf518a3ef7a024ed0d946587f94bd00\"\u003e\u003ccode\u003ef5fc245\u003c/code\u003e\u003c/a\u003e Pass '-mno-outline' to the compiler (if supported) to prevent function outlin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/fd61def38b9bb859fee7eec8e7d3143600e5b347\"\u003e\u003ccode\u003efd61def\u003c/code\u003e\u003c/a\u003e Release 2.21.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/db70b1432157d1c01b556c1367babe72a6a1fe21\"\u003e\u003ccode\u003edb70b14\u003c/code\u003e\u003c/a\u003e Rely on Ruby's HAVE_BUILTIN___BUILTIN_CLZLL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/9be0e8ed39c29f08ad9c72eabdb8aa0851bfa990\"\u003e\u003ccode\u003e9be0e8e\u003c/code\u003e\u003c/a\u003e Release 2.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d1299d42ac3042f6756af7673ab4ca76178f2d65\"\u003e\u003ccode\u003ed1299d4\u003c/code\u003e\u003c/a\u003e Avoid re-decoding an incomplete number on every ResumableParser chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/cc010c46889c8516a9a357336b262ce35779985f\"\u003e\u003ccode\u003ecc010c4\u003c/code\u003e\u003c/a\u003e Fix ResumableParser losing tokens before a feed-boundary suspension\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.19.4...v2.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `action_text-trix` from 2.1.18 to 2.1.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.19\u003c/h2\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade DOMPurify to 3.4.2 from 3.2.7 by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1310\"\u003ebasecamp/trix#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/23ab2f6504d2a07d9e319e3617331d03fa6c36db\"\u003e\u003ccode\u003e23ab2f6\u003c/code\u003e\u003c/a\u003e v2.1.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/6ba31fea451622707548de6cd6b3c8fcd4a8aaea\"\u003e\u003ccode\u003e6ba31fe\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 3.14.1 to 3.14.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/644a02c8802ae3fb1a5656f2ac55a6a0a5fca1f1\"\u003e\u003ccode\u003e644a02c\u003c/code\u003e\u003c/a\u003e dep: upgrade rangy to 1.3.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/a7c0e0945e4c98e12c1fd586c3e6c7858ce21a02\"\u003e\u003ccode\u003ea7c0e09\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.0 to 6.15.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/ce80a5ef31715d851222ee616421a33ea63574de\"\u003e\u003ccode\u003ece80a5e\u003c/code\u003e\u003c/a\u003e dep: upgrade DOMPurify to 3.4.2 from 3.2.7 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1310\"\u003e#1310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/50c5d4fecd4b36aadec5fc8fcc0dea124ce201b0\"\u003e\u003ccode\u003e50c5d4f\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e from 7.23.9 to 7.29.4 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/95addeb72a525bf26408e8bb480886024a7b9184\"\u003e\u003ccode\u003e95addeb\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.21 to 4.18.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/c76aeb707fb52cc412adb1fac10dd31267d3c024\"\u003e\u003ccode\u003ec76aeb7\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/f325978dc025923a9d149379edfa1017eaf83c0e\"\u003e\u003ccode\u003ef325978\u003c/code\u003e\u003c/a\u003e Bump ip-address from 10.1.0 to 10.2.0 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/d014617094cd974bb19eb15e325685cac909cb5c\"\u003e\u003ccode\u003ed014617\u003c/code\u003e\u003c/a\u003e Bump basic-ftp from 5.0.5 to 5.2.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `concurrent-ruby` from 1.3.7 to 1.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases\"\u003econcurrent-ruby's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProgramatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to use Concurrent::Map#compute_if_absent in a Ractor by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1109\"\u003eruby-concurrency/concurrent-ruby#1109\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/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\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-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ehttps://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\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-concurrency/concurrent-ruby/blob/master/CHANGELOG.md\"\u003econcurrent-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.3.8 (19 July 2026)\u003c/h2\u003e\n\u003cp\u003econcurrent-ruby:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.8\"\u003erelease notes on GitHub\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-concurrency/concurrent-ruby/commit/0b88d5ff75f69b3740c8f0868e76f833cb2fd45d\"\u003e\u003ccode\u003e0b88d5f\u003c/code\u003e\u003c/a\u003e Release 1.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/0f83a98928df59ea9f713adba8f68e2e9d518503\"\u003e\u003ccode\u003e0f83a98\u003c/code\u003e\u003c/a\u003e Allow to use Concurrent::Map#compute_if_absent in a Ractor (\u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/issues/1109\"\u003e#1109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/cc5a32fe96ba9b118752bd9b60548259580d2f1c\"\u003e\u003ccode\u003ecc5a32f\u003c/code\u003e\u003c/a\u003e Programatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception:\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 6.0.4 to 6.0.7\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\u003ev6.0.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression, add tests by \u003ca href=\"https://github.com/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/v6.0.6...v6.0.7\"\u003ehttps://github.com/ruby/erb/compare/v6.0.6...v6.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation typos and code examples by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/126\"\u003eruby/erb#126\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/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\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/v6.0.5...v6.0.6\"\u003ehttps://github.com/ruby/erb/compare/v6.0.5...v6.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: fix dead link to now removed issue by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: forward-port NEWS/changelog entries for clarity by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/114\"\u003eruby/erb#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConstrain RDoc below 8 for JRuby CI 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/erb/pull/122\"\u003eruby/erb#122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix wrong receiver in eoutvar example for #src 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/erb/pull/123\"\u003eruby/erb#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid dispatch in ERB initialization guard 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/erb/pull/124\"\u003eruby/erb#124\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/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.5\"\u003ehttps://github.com/ruby/erb/compare/v6.0.4...v6.0.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression in v6.0.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overridable method dispatch in the initialization guard\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/9907393a1f1dfc027e8e7f2a9f5fcc7c60632762\"\u003e\u003ccode\u003e9907393\u003c/code\u003e\u003c/a\u003e Version 6.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/50f434e7e5cc055348d4a744f8b0336bc511fe8f\"\u003e\u003ccode\u003e50f434e\u003c/code\u003e\u003c/a\u003e Simplify Scanner's Ractor safety code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/75f1ea059e9ed55d910589f6da5989e2ba65150c\"\u003e\u003ccode\u003e75f1ea0\u003c/code\u003e\u003c/a\u003e Fix Ractor compatibility regression, add tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/26f674e48eed5ec2f503812758b24fc9415a84f4\"\u003e\u003ccode\u003e26f674e\u003c/code\u003e\u003c/a\u003e Bump lewagon/wait-on-check-action from 1.8.0 to 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/58411353a15accf5395593dc541d8168fa134c10\"\u003e\u003ccode\u003e5841135\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.4 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/488683a7785a11b2b706b5b6e0708bed311ec577\"\u003e\u003ccode\u003e488683a\u003c/code\u003e\u003c/a\u003e Version 6.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/0f9a6d6a7ad49dd322df352dc66fc7c3793a44c6\"\u003e\u003ccode\u003e0f9a6d6\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e-h\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37daba66e03c588d66a42fc391bd35c21fd0c665\"\u003e\u003ccode\u003e37daba6\u003c/code\u003e\u003c/a\u003e Fix documentation typos and code examples (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37c941cb6df14463150b73f43db497f7e23dea4e\"\u003e\u003ccode\u003e37c941c\u003c/code\u003e\u003c/a\u003e Version 6.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ce08ffbeff70dfc44b5551a5bb51cc471bb7c3d2\"\u003e\u003ccode\u003ece08ffb\u003c/code\u003e\u003c/a\u003e Hide ERB init guard internals from RDoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors by \u003ca href=\"https://github.com/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange the underlying URI parser (from RFC2396 to RFC3986) by \u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't try to constantize GID's class too soon by \u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow custom locators to override model class by \u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/globalid/compare/v1.3.0...v1.4.0\"\u003ehttps://github.com/rails/globalid/compare/v1.3.0...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c81267b4ca2eb41aa1d39178e281fbf38b6e5685\"\u003e\u003ccode\u003ec81267b\u003c/code\u003e\u003c/a\u003e Release 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/ce280b7e793a31bb604222407e8812ffca559a61\"\u003e\u003ccode\u003ece280b7\u003c/code\u003e\u003c/a\u003e Frozen string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9325789f231ed6b7cbc0c2bdd34ec45e9d5d893b\"\u003e\u003ccode\u003e9325789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/203\"\u003e#203\u003c/a\u003e from xijo/support_model_class_override_for_custom_loc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/241657bd6049738972c439d3402732744a86edd4\"\u003e\u003ccode\u003e241657b\u003c/code\u003e\u003c/a\u003e Allow custom locators to override model class derivation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/dc5bc56320a093c1ca24fa22c78fa64be37a717f\"\u003e\u003ccode\u003edc5bc56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/204\"\u003e#204\u003c/a\u003e from paulRbr/dont-constantize-model-when-not-needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26498976f018312c1949e2f11e40ec9f0f70815c\"\u003e\u003ccode\u003e2649897\u003c/code\u003e\u003c/a\u003e Don't try to constantize GID's class too soon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/018ccf19597f97513f5b5786634bcb532f476681\"\u003e\u003ccode\u003e018ccf1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/202\"\u003e#202\u003c/a\u003e from Drowze/swappable-uri-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/0f2efb5753009a64107f18071d6c1f0217cba6fa\"\u003e\u003ccode\u003e0f2efb5\u003c/code\u003e\u003c/a\u003e Change the underlying URI parser (from RFC2396 to RFC3986)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4fd30dd77f645d6c03191e2936e4d3370004c729\"\u003e\u003ccode\u003e4fd30dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/206\"\u003e#206\u003c/a\u003e from rosa/fetch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/948503f198cff5b951b1b7210b5648891e1d049c\"\u003e\u003ccode\u003e948503f\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.3.0...v1.4.0\"\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.8 to 1.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 3.1 support by \u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/739\"\u003eruby-i18n/i18n#739\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.15.1...v1.15.2\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.1...v1.15.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix feature fiber storage by \u003ca href=\"https://github.com/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore Ruby 3.2 + Rails main from the matrix 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-i18n/i18n/pull/737\"\u003eruby-i18n/i18n#737\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/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\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.15.0...v1.15.1\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.0...v1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake lazy loading of I18n translations thread safe ( part 2 ) by \u003ca href=\"https://github.com/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to not replace non-ASCII chars not in map by \u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd transliteration for O with ogonek 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-i18n/i18n/pull/733\"\u003eruby-i18n/i18n#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: exclude Ruby 3.2 from rails-main matrix 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-i18n/i18n/pull/734\"\u003eruby-i18n/i18n#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFiber-aware I18n config storage 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/731\"\u003eruby-i18n/i18n#731\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/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\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.8...v1.15.0\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/8beba78761637f6677fa94e26e19b50790161f78\"\u003e\u003ccode\u003e8beba78\u003c/code\u003e\u003c/a\u003e Bump to 1.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d6964f2b60e65223573fbba9e51e2689ef4324bc\"\u003e\u003ccode\u003ed6964f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/739\"\u003e#739\u003c/a\u003e from koic/restore_ruby_3_1_support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/e4c806e513bf51f19c956fefbee38b5a105bebf8\"\u003e\u003ccode\u003ee4c806e\u003c/code\u003e\u003c/a\u003e Restore Ruby 3.1 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/02841cb7fcf17458c6574fbf43fb36f25a00e9ad\"\u003e\u003ccode\u003e02841cb\u003c/code\u003e\u003c/a\u003e Bump to 1.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/a56484de2167826995867f0a34f9e03a581ebad7\"\u003e\u003ccode\u003ea56484d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/737\"\u003e#737\u003c/a\u003e from ruby-i18n/ignore-ruby32-rails-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/52deabaf8e1f6e9ec5ea300b180f749fc6554294\"\u003e\u003ccode\u003e52deaba\u003c/code\u003e\u003c/a\u003e Ignore Ruby 3.2 + Rails main from the matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/94891ca7fd503d57b00ab8abb6e8a5025b5ed284\"\u003e\u003ccode\u003e94891ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/736\"\u003e#736\u003c/a\u003e from YashaVinter/fix-feature-fiber-storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/5a7913e587cd8db5417a359049ad7decfac86bcc\"\u003e\u003ccode\u003e5a7913e\u003c/code\u003e\u003c/a\u003e Test against Ruby 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/cd337a8a8ba25351a08c0118e52a796113da7802\"\u003e\u003ccode\u003ecd337a8\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/735\"\u003eruby-i18n/i18n#735\u003c/a\u003e NoMethodError: undefined met...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/78fa20aa9a4f8d3632fc5c0e146aaca73fdea098\"\u003e\u003ccode\u003e78fa20a\u003c/code\u003e\u003c/a\u003e Bump to 1.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.9.0 to 2.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Ruby 3.4 to CI matrix in GitHub Actions workflow by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove decoding of Q- and B-encoded strings by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1664\"\u003emikel/mail#1664\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump to 2.9.1 by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1665\"\u003emikel/mail#1665\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\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/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\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/mikel/mail/compare/2.9.0...2.9.1\"\u003ehttps://github.com/mikel/mail/compare/2.9.0...2.9.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/mikel/mail/commit/d645d7b5b7d03218b0bc8971ef041c991a63f5f7\"\u003e\u003ccode\u003ed645d7b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1665\"\u003e#1665\u003c/a\u003e from mikel/tag-291\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/5c863ed0489571e7572669018739dc47ed1f9189\"\u003e\u003ccode\u003e5c863ed\u003c/code\u003e\u003c/a\u003e Bump to 2.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/14915fa4c5f30ade18f3745ecc6d5d141a48104d\"\u003e\u003ccode\u003e14915fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1664\"\u003e#1664\u003c/a\u003e from mikel/sec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/4eab5623419079d6b972f063f16b536c02ecee62\"\u003e\u003ccode\u003e4eab562\u003c/code\u003e\u003c/a\u003e Potential fix for pull request finding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f9d59c2e447af42e2c3dec5a56b1bb25c7292859\"\u003e\u003ccode\u003ef9d59c2\u003c/code\u003e\u003c/a\u003e Improve decoding of Q- and B-encoded strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f98fb653956d246661394b1e98cf6e77eb8dd0a0\"\u003e\u003ccode\u003ef98fb65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1653\"\u003e#1653\u003c/a\u003e from ydah/add-ci-matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d9081000b1c3e9a07f2b58e0e6c0b8f360bc8c8f\"\u003e\u003ccode\u003ed908100\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI matrix in GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mikel/mail/compare/2.9.0...2.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.5 to 6.0.6\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=== 6.0.6 / 2026-04-30\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e2 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e. (mtasaka)\u003c/li\u003e\n\u003cli\u003eRemoved private Assertions#_where as it is no longer used.\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/f6180b07ea6e8504a71d220246da0875f392c51c\"\u003e\u003ccode\u003ef6180b0\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/23bc7f25a8853b9b3c75b9b73c65d231e42cb452\"\u003e\u003ccode\u003e23bc7f2\u003c/code\u003e\u003c/a\u003e - Removed private Assertions#_where as it is no longer used.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c471347e5daf7f3e362c530170ae3302edad9117\"\u003e\u003ccode\u003ec471347\u003c/code\u003e\u003c/a\u003e - Fix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.5...v6.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.6.4.1 to 0.6.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix incorrect regexp for testing if string is quotable by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/723\"\u003eruby/net-imap#723\u003c/a\u003e\nThis bug was introduced by v0.6.5 as part of \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/712\"\u003e#712\u003c/a\u003e.\nIt causes some valid string arguments (which should be sent as IMAP \u003ccode\u003eliteral\u003c/code\u003e values) to raise a \u003ccode\u003eDataFormatError\u003c/code\u003e exception (without sending).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.5...v0.6.6\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.5...v0.6.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🧵 Add thread join timeout to \u003ccode\u003e#disconnect\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/689\"\u003eruby/net-imap#689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003e#utf8_enabled?\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/715\"\u003eruby/net-imap#715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Remember set of enabled server capabilities by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/716\"\u003eruby/net-imap#716\u003c/a\u003e\nAdds \u003ccode\u003e#enabled\u003c/code\u003e and \u003ccode\u003e#enabled?\u003c/code\u003e methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🥅 Fix premature tagged response guard for IDLE by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/688\"\u003eruby/net-imap#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Test for NULL bytes before sending string args by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/712\"\u003eruby/net-imap#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Use literal syntax for invalid UTF8 or non-UTF8 strings by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/713\"\u003eruby/net-imap#713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🧵🥅 Reraise receiver thread errors with caller's backtrace by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/691\"\u003eruby/net-imap#691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧵🥅 Reraise \u003ccode\u003e#starttls\u003c/code\u003e receiver thread errors with caller's backtrace by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/711\"\u003eruby/net-imap#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Extract InvalidTaggedResponseError error by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/687\"\u003eruby/net-imap#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧵 Refactor thread synchronization for sending commands by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/692\"\u003eruby/net-imap#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧵Refactor receive responses thread sync by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/694\"\u003eruby/net-imap#694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Extract \u003ccode\u003ehandle_response\u003c/code\u003e from \u003ccode\u003ereceive_responses\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/695\"\u003eruby/net-imap#695\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔀 Merge v0.6.4.1 patches by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/702\"\u003eruby/net-imap#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix flaky test_starttls_stripping_ok_sent_before_response by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/709\"\u003eruby/net-imap#709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump actions/checkout from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/708\"\u003eruby/net-imap#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅⚡ Faster tests by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/714\"\u003eruby/net-imap#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin simplecov version by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/717\"\u003eruby/net-imap#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esimplecov-{html,json} have been incorporated in SimpleCov 1.0.0 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/718\"\u003eruby/net-imap#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.19.4 to 2.20.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/719\"\u003eruby/net-imap#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix issues with simplecov v1.0 upgrade by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/721\"\u003eruby/net-imap#721\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.5\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/7cc1dd0a11a4f5faeb5c92676f78e348a0104a87\"\u003e\u003ccode\u003e7cc1dd0\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/416ada408ace8dead7bc468fe435cf191de30c7e\"\u003e\u003ccode\u003e416ada4\u003c/code\u003e\u003c/a\u003e 🐛 Fix bug in \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/712\"\u003e#712\u003c/a\u003e, testing if string is quotable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8fb302986a45c589ec700b195b131e31a6575f4e\"\u003e\u003ccode\u003e8fb3029\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/adfe70d1fad2a0d6cac5d0c271211c2421a70bc2\"\u003e\u003ccode\u003eadfe70d\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/721\"\u003e#721\u003c/a\u003e from ruby/fix-simplecov-upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/e38a03dda2fa8738d1d6a1a34ceedb499e4f389d\"\u003e\u003ccode\u003ee38a03d\u003c/code\u003e\u003c/a\u003e ✅ Change CI simplecov minimum coverage handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/74cd62764ffe93786ac545acb206fd3dad9d3102\"\u003e\u003ccode\u003e74cd627\u003c/code\u003e\u003c/a\u003e ✅ Update simplecov groups so nothing is ungrouped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/f4afcc7ee39bd362966864c57ce782cd61c37e24\"\u003e\u003ccode\u003ef4afcc7\u003c/code\u003e\u003c/a\u003e ✅ Update simplecov config for v1.0 syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ce44000297a63e3f927be542eb194d6e01c09718\"\u003e\u003ccode\u003ece44000\u003c/code\u003e\u003c/a\u003e ✅ Move simplecov config into .simplecov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8e0c450f79118490154af790fc98a3c064195784\"\u003e\u003ccode\u003e8e0c450\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump step-security/harden-runner from 2.19.4 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/fd526d8165292e23726d5624f9d775a9f371a9a7\"\u003e\u003ccode\u003efd526d8\u003c/code\u003e\u003c/a\u003e simplecov-{html,json} have been incorporated in SimpleCov 1.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.3 to 0.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Suppress documentation for internals 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/pp/pull/65\"\u003eruby/pp#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport private instance_variables_to_inspect by \u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\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/pp/compare/v0.6.3...v0.6.4\"\u003ehttps://github.com/ruby/pp/compare/v0.6.3...v0.6.4\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/pp/commit/29552e894c8cd5700c50135b2e4a385fbda512a4\"\u003e\u003ccode\u003e29552e8\u003c/code\u003e\u003c/a\u003e v0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/e08d84ce10b8a2e994ba99af9b1e31b6397b7fc9\"\u003e\u003ccode\u003ee08d84c\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/91079ce0774a21e68e53c410479c0fadcd4d28b8\"\u003e\u003ccode\u003e91079ce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/87\"\u003e#87\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/a39f73e604ce38bdeae5171eaa3a37c83b0566f8\"\u003e\u003ccode\u003ea39f73e\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.2.0 to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/5a688e4d35123147426fa6bd91871318eb3e3985\"\u003e\u003ccode\u003e5a688e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/86\"\u003e#86\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/d649a95151c205a0be351c37fb74193fddb30a12\"\u003e\u003ccode\u003ed649a95\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.3 to 2.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/54a425d7a53d56e1abab525491653837e86d5c42\"\u003e\u003ccode\u003e54a425d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/85\"\u003e#85\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/34941a375b6d46a9e42ec04d7bcf747b5ca2485c\"\u003e\u003ccode\u003e34941a3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.1 to 2.19.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/670c8c0b3cd69fb64375be97943c01f96981729e\"\u003e\u003ccode\u003e670c8c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/84\"\u003e#84\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/bd8165d5a628d2707853ba2e5b50b04bbc008ad6\"\u003e\u003ccode\u003ebd8165d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.0 to 2.19.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.3...v0.6.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRDoc 8.0.0 is the biggest RDoc release in years. It brings together the work we have been doing to modernize Ruby's documentation experience: a Prism-based parser, RBS signatures in generated documentation, \u003ccode\u003e.rbs\u003c/code\u003e files as documentation input, a live preview server, theme polish, and many long-standing bug fixes.\u003c/p\u003e\n\u003cp\u003eFor users, the biggest visible change is that RDoc can now show type information next to method documentation. RBS signatures are rendered in both HTML and \u003ccode\u003eri\u003c/code\u003e, and the Aliki theme now presents method entries as signature cards. This should make generated documentation more useful for both human readers and tools that consume Ruby documentation.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eFor documentation authors, RDoc 8.0.0 adds \u003ccode\u003erdoc --server\u003c/code\u003e and \u003ccode\u003erake rdoc:server\u003c/code\u003e, giving you a local preview server with live reload. This release also includes many fixes around Markdown, cross-references, page links, C source handling, server mode, and generated HTML structure. The goal is to make writing and checking documentation less tedious.\u003c/p\u003e\n\u003cp\u003eInternally, RDoc has migrated to the Prism-based parser and removed the old Ripper-based parser. This saves RDoc from re-implementing new Ruby syntax support manually going forward. The release also includes a refreshed coverage report, a new user-facing configuration reference, more Aliki polish, and finally, an RDoc logo.\u003c/p\u003e\n\u003cp\u003eThere are breaking changes in this release, so please read the details below before upgrading. But overall, RDoc 8.0.0 is a big step toward making Ruby's documentation tooling feel actively maintained again.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e💥 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange default ruby parser to RDoc::Parser::PrismRuby 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/rdoc/pull/1581\"\u003eruby/rdoc#1581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated CLI options and directives 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/1616\"\u003eruby/rdoc#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor formatter options 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/1623\"\u003eruby/rdoc#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused memoized caches from Context 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/1644\"\u003eruby/rdoc#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd server mode with live reload (\u003ccode\u003erdoc --server\u003c/code\u003e) 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/1620\"\u003eruby/rdoc#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Ripper-based parser 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/1690\"\u003eruby/rdoc#1690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStyle method entries as signature cards in aliki theme 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/1669\"\u003eruby/rdoc#1669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul coverage report 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/1663\"\u003eruby/rdoc#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisplay RBS type signatures in documentation 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/1665\"\u003eruby/rdoc#1665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse RBS files as RDoc input 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/1728\"\u003eruby/rdoc#1728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish Aliki documentation theme 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/1742\"\u003eruby/rdoc#1742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop generating a separate page file for \u003ccode\u003emain_page\u003c/code\u003e 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/1624\"\u003eruby/rdoc#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown table parser consuming lines without pipes as table rows 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/1626\"\u003eruby/rdoc#1626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix section comments with the prism parser 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/rdoc/pull/1639\"\u003eruby/rdoc#1639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deadlock on Ctrl+C in server mode 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/1649\"\u003eruby/rdoc#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix server mode live reload for C files 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/1647\"\u003eruby/rdoc#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't auto-link to non-text source files in cross-references 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/1646\"\u003eruby/rdoc#1646\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix encoding error when C parser reads external source files 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/1657\"\u003eruby/rdoc#1657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix page links returning 404 in server mode 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/1671\"\u003eruby/rdoc#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indentation not being preserved on first line in code fences by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1672\"\u003eruby/rdoc#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broken sidebar links for chained class aliases 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/1675\"\u003eruby/rdoc#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003e#\u003c/code\u003e prefix for unresolved cross-references 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/1676\"\u003eruby/rdoc#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Markdown blockquote parsing 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/1627\"\u003eruby/rdoc#1627\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop lazy alias resolver from overwriting real classes (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1662\"\u003e#1662\u003c/a\u003e) 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/1689\"\u003eruby/rdoc#1689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip markdown HTML comments within paragraph 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/rdoc/pull/1698\"\u003eruby/rdoc#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete -V short flag from --visibility option 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/1703\"\u003eruby/rdoc#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u0026quot;check syntax\u0026quot; message when it isn't a ruby file by \u003ca href=\"https://github.com/rwstauner\"\u003e\u003ccode\u003e@​rwstauner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1715\"\u003eruby/rdoc#1715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid detecting encoding comments in documentation text 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/1727\"\u003eruby/rdoc#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix colorization of imaginary/rational numbers 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/rdoc/pull/1733\"\u003eruby/rdoc#1733\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/rdoc/commit/4e303b392092fe731de1a10e53a9862d7c9cecc8\"\u003e\u003ccode\u003e4e303b3\u003c/code\u003e\u003c/a\u003e Bump RDoc to 8.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/004278532b01e40316fe22266946936cd931218b\"\u003e\u003ccode\u003e0042785\u003c/code\u003e\u003c/a\u003e Polish Aliki documentation theme (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/daa7768b81c703b84c796bf60c27977c62cd4aa1\"\u003e\u003ccode\u003edaa7768\u003c/code\u003e\u003c/a\u003e Encapsulate superclass method link rendering (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/a8df5c5d03b63cf05425bf676644688ac673a329\"\u003e\u003ccode\u003ea8df5c5\u003c/code\u003e\u003c/a\u003e Parse RBS files as RDoc input (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1728\"\u003e#1728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f89b93a8fb10eca11bb307319bbab295ab468192\"\u003e\u003ccode\u003ef89b93a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.3 to 7.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/be20315862d7834402ffa289fafb7bf40524ca23\"\u003e\u003ccode\u003ebe20315\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.313.0 to 1.314.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1739\"\u003e#1739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/66c1d658014dcc277486d94af65ed07005125217\"\u003e\u003ccode\u003e66c1d65\u003c/code\u003e\u003c/a\u003e Simplify CrossReference resolve (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/7daa43156f2713db5763e2879af74d15a88be193\"\u003e\u003ccode\u003e7daa431\u003c/code\u003e\u003c/a\u003e Add RDoc logo to documentation (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/bb8b2d4587d64df8cd70924fb52021c0941e728a\"\u003e\u003ccode\u003ebb8b2d4\u003c/code\u003e\u003c/a\u003e Fix colorization of imaginary/rational numbers (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1733\"\u003e#1733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1ae9dc17903e363228fa507e607fdbfb2acad50e\"\u003e\u003ccode\u003e1ae9dc1\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.7.5 to 2.8.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md\"\u003ezeitwerk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.3 (1 Aug 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2.8.0 introduced a regression: Collapsed directories that were also configured as eager load exclusions were eager loaded. The exclusion was not honored. This has been fixed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.2 (23 May 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eon_load\u003c/code\u003e and \u003ccode\u003eon_unload\u003c/code\u003e accept constant paths with leading colons. For example:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eloader.on_load('::User') { ... }\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eon_load\u003c/code\u003e and \u003ccode\u003eon_unload\u003c/code\u003e validate that their input is a constant path. For example:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eloader.on_load(':User') { ... }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eraises \u003ccode\u003eNameError\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.1 (19 May 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eReplace anonymous block parameters with regular named ones.\u003c/p\u003e\n\u003cp\u003eRuby 3.3.0 has a bug: it does not parse anonymous block parameters, which were\nintroduced in Ruby 3.1.\u003c/p\u003e\n\u003cp\u003eWhile this is a Ruby bug and people could upgrade to 3.3.1, I prefer users\njust do not hit this. At the end of the day, it is cosmetic.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.0 (18 May 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds support for namespace files, \u003cem\u003ensfiles\u003c/em\u003e for short.\u003c/p\u003e\n\u003cp\u003eIf a loader has an nsfile configured (\u003ccode\u003enil\u003c/code\u003e by default):\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eloader.nsfile = 'ns.rb' # must be set before setup\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eexplicit namespaces can be defined by such special file inside their\ndirectories:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003emy_component/ns.rb     # MyComponent\nmy_component/widget.rb # MyComponent::Widget\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis may be handy for self-contained units for which a \u003ccode\u003emy_component.rb\u003c/code\u003e file\nin the parent directory would feel unnatural.\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/fxn/zeitwerk/commit/607973fc0bd8c3131d1651d2558ebcd006dbf69b\"\u003e\u003ccode\u003e607973f\u003c/code\u003e\u003c/a\u003e Ready for 2.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/8f09b9625cbb3ff6f21b97fafb7cc85df2d7615d\"\u003e\u003ccode\u003e8f09b96\u003c/code\u003e\u003c/a\u003e Let eager loading skip collapsed eager loading exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/f548f2c534277737fded7629036a89636bf641c7\"\u003e\u003ccode\u003ef548f2c\u003c/code\u003e\u003c/a\u003e Remove unused variables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/76f0790a53552ff90ffbe687ba01d1c6b2bad803\"\u003e\u003ccode\u003e76f0790\u003c/code\u003e\u003c/a\u003e Ready for 2.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/14cff5ed89b51ec15c7c67a6da387c0fddd66365\"\u003e\u003ccode\u003e14cff5e\u003c/code\u003e\u003c/a\u003e Refactor cpath validation for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/8c263936395d9ece17c7f97a3cbc7750ede4f875\"\u003e\u003ccode\u003e8c26393\u003c/code\u003e\u003c/a\u003e on_load and on_unload validate their input is a constant path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/ea55f02094c269701967ba90a4b7cdb74725071b\"\u003e\u003ccode\u003eea55f02\u003c/code\u003e\u003c/a\u003e Add a constant path validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/80e925bd2e395d1f3d3489068b162fe9e4dbc16e\"\u003e\u003ccode\u003e80e925b\u003c/code\u003e\u003c/a\u003e Let on_load/on_unload use a sentinel for 0 args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/2a25bce94c2abf2be69e8c6210d4d6ccbd390147\"\u003e\u003ccode\u003e2a25bce\u003c/code\u003e\u003c/a\u003e Add RuboCop to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/198fe83097bbd7f3c8061563228545fbd15501c8\"\u003e\u003ccode\u003e198fe83\u003c/code\u003e\u003c/a\u003e Linting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fxn/zeitwerk/compare/v2.7.5...v2.8.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 \u003cdepen...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/340","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/340","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/340/packages"},{"uuid":"4753749176","node_id":"PR_kwDOABNy5s7rEK1D","number":327,"state":"closed","title":"Bump the dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-01T17:04:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T17:04:43.000Z","updated_at":"2026-07-01T17:04:41.000Z","time_to_close":431996,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":13,"packages":[{"name":"json","old_version":"2.19.4","new_version":"2.20.0","repository_url":"https://github.com/ruby/json"},{"name":"action_text-trix","old_version":"2.1.18","new_version":"2.1.19","repository_url":"https://github.com/basecamp/trix"},{"name":"globalid","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"},{"name":"websocket-driver","old_version":"0.8.0","new_version":"0.8.2","repository_url":"https://github.com/faye/websocket-driver-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [json](https://github.com/ruby/json) | `2.19.4` | `2.20.0` |\n| [action_text-trix](https://github.com/basecamp/trix) | `2.1.18` | `2.1.19` |\n| [globalid](https://github.com/rails/globalid) | `1.3.0` | `1.4.0` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n| [websocket-driver](https://github.com/faye/websocket-driver-ruby) | `0.8.0` | `0.8.2` |\n\n\nUpdates `json` from 2.19.4 to 2.20.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.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\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.19.8...v2.20.0\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\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.19.8...v2.19.9\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.19.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\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.19.7...v2.19.8\"\u003ehttps://github.com/ruby/json/compare/v2.19.7...v2.19.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003cli\u003eAdd missing write barriers in \u003ccode\u003eState#dup\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFurther validate generator \u003ccode\u003edepth\u003c/code\u003e config.\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.19.6...v2.19.7\"\u003ehttps://github.com/ruby/json/compare/v2.19.6...v2.19.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanly handle overly large \u003ccode\u003edepth\u003c/code\u003e generator argument.\u003c/li\u003e\n\u003cli\u003eAdd missing write barrier in \u003ccode\u003eParserConfig\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.19.5...v2.19.6\"\u003ehttps://github.com/ruby/json/compare/v2.19.5...v2.19.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCap the parser to emit a maximum of 5 deprecation warnings per document. Emitting more is not helpful.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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\u003e2026-06-23 (2.20.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-11 (2.19.9)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-03 (2.19.8)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.7)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003cli\u003eAdd missing write barriers in \u003ccode\u003eState#dup\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFurther validate generator \u003ccode\u003edepth\u003c/code\u003e config.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.6)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCleanly handle overly large \u003ccode\u003edepth\u003c/code\u003e generator argument.\u003c/li\u003e\n\u003cli\u003eAdd missing write barrier in \u003ccode\u003eParserConfig\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-04 (2.19.5)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCap the parser to emit a maximum of 5 deprecation warnings per document. Emitting more is not helpful.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/13162921b89c4f662aa018771403457f069f7e26\"\u003e\u003ccode\u003e1316292\u003c/code\u003e\u003c/a\u003e Release 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/1443265cd178fcacfea41ba531b770c2dbf7feef\"\u003e\u003ccode\u003e1443265\u003c/code\u003e\u003c/a\u003e Remove useless executable bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/532065c259a87c78a0a2af1e6ea0177aeca85539\"\u003e\u003ccode\u003e532065c\u003c/code\u003e\u003c/a\u003e Preserve UTF-8 encoding when reallocating a frozen ResumableParser buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/7c8af4b9ef509f6d989a0da1d1cdfdd7650ae10b\"\u003e\u003ccode\u003e7c8af4b\u003c/code\u003e\u003c/a\u003e Update extconf.rb guard to use RUBY_ENGINE_VERSION\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/2afd1a9a61de2e58ff5a65c724de22d91c37db2e\"\u003e\u003ccode\u003e2afd1a9\u003c/code\u003e\u003c/a\u003e Cleanup the \u003ccode\u003erb_catch_obj\u003c/code\u003e workaround\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/98925145d2ac1f87a6bb3e5add1fb5dd2a9901f8\"\u003e\u003ccode\u003e9892514\u003c/code\u003e\u003c/a\u003e Simplify parser_config_init\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/b30a8f852dada93093a215b1519cc3bde526316c\"\u003e\u003ccode\u003eb30a8f8\u003c/code\u003e\u003c/a\u003e ResumableParser: eagerly drop the buffer when reaching EOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/f08c66338cd0155a44dbda81d889f6db9ba4d205\"\u003e\u003ccode\u003ef08c663\u003c/code\u003e\u003c/a\u003e ResumableParser: accept only keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/9d8efcb08b90b1543765e50783efaabc6f921ad6\"\u003e\u003ccode\u003e9d8efcb\u003c/code\u003e\u003c/a\u003e Workaround TruffleRuby buggy \u003ccode\u003erb_catch_obj\u003c/code\u003e implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/4bd1e9bce64c82b6e829f4583a62bab485529a00\"\u003e\u003ccode\u003e4bd1e9b\u003c/code\u003e\u003c/a\u003e ResumableParser: use throw rather than raise for handled EOS\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.19.4...v2.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `action_text-trix` from 2.1.18 to 2.1.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.19\u003c/h2\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade DOMPurify to 3.4.2 from 3.2.7 by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1310\"\u003ebasecamp/trix#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/23ab2f6504d2a07d9e319e3617331d03fa6c36db\"\u003e\u003ccode\u003e23ab2f6\u003c/code\u003e\u003c/a\u003e v2.1.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/6ba31fea451622707548de6cd6b3c8fcd4a8aaea\"\u003e\u003ccode\u003e6ba31fe\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 3.14.1 to 3.14.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/644a02c8802ae3fb1a5656f2ac55a6a0a5fca1f1\"\u003e\u003ccode\u003e644a02c\u003c/code\u003e\u003c/a\u003e dep: upgrade rangy to 1.3.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/a7c0e0945e4c98e12c1fd586c3e6c7858ce21a02\"\u003e\u003ccode\u003ea7c0e09\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.0 to 6.15.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/ce80a5ef31715d851222ee616421a33ea63574de\"\u003e\u003ccode\u003ece80a5e\u003c/code\u003e\u003c/a\u003e dep: upgrade DOMPurify to 3.4.2 from 3.2.7 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1310\"\u003e#1310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/50c5d4fecd4b36aadec5fc8fcc0dea124ce201b0\"\u003e\u003ccode\u003e50c5d4f\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e from 7.23.9 to 7.29.4 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/95addeb72a525bf26408e8bb480886024a7b9184\"\u003e\u003ccode\u003e95addeb\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.21 to 4.18.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/c76aeb707fb52cc412adb1fac10dd31267d3c024\"\u003e\u003ccode\u003ec76aeb7\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/f325978dc025923a9d149379edfa1017eaf83c0e\"\u003e\u003ccode\u003ef325978\u003c/code\u003e\u003c/a\u003e Bump ip-address from 10.1.0 to 10.2.0 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/d014617094cd974bb19eb15e325685cac909cb5c\"\u003e\u003ccode\u003ed014617\u003c/code\u003e\u003c/a\u003e Bump basic-ftp from 5.0.5 to 5.2.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `concurrent-ruby` from 1.3.6 to 1.3.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases\"\u003econcurrent-ruby's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThere are 3 security fixes in this release, so updating is recommended.\nThese security vulnerabilities are not very likely to be hit in practice and have a corresponding \u003ccode\u003eLow\u003c/code\u003e severity score.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/security/advisories/GHSA-h8w8-99g7-qmvj\"\u003eCVE-2026-54904\u003c/a\u003e \u003ccode\u003eAtomicReference#update\u003c/code\u003e livelocks when the stored value is \u003ccode\u003eFloat::NAN\u003c/code\u003e. Fix by \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/security/advisories/GHSA-wv3x-4vxv-whpp\"\u003eCVE-2026-54905\u003c/a\u003e \u003ccode\u003eReentrantReadWriteLock\u003c/code\u003e read-count overflow grants a write lock without exclusivity. Fix by \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/security/advisories/GHSA-6wx8-w4f5-wwcr\"\u003eCVE-2026-54906\u003c/a\u003e \u003ccode\u003eReadWriteLock\u003c/code\u003e allows wrong-thread write release and stray read-release counter corruption. Fix by \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003econcurrent-ruby-ext: fix build on Darwin 32-bit by \u003ca href=\"https://github.com/barracuda156\"\u003e\u003ccode\u003e@​barracuda156\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1064\"\u003eruby-concurrency/concurrent-ruby#1064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1104\"\u003eruby-concurrency/concurrent-ruby#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 4.0 in CI by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1106\"\u003eruby-concurrency/concurrent-ruby#1106\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/barracuda156\"\u003e\u003ccode\u003e@​barracuda156\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1064\"\u003eruby-concurrency/concurrent-ruby#1064\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-concurrency/concurrent-ruby/compare/v1.3.6...v1.3.7\"\u003ehttps://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.6...v1.3.7\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-concurrency/concurrent-ruby/blob/master/CHANGELOG.md\"\u003econcurrent-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.3.7 (16 June 2026)\u003c/h2\u003e\n\u003cp\u003econcurrent-ruby:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.7\"\u003erelease notes on GitHub\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-concurrency/concurrent-ruby/commit/4c8fc28ab6bb9bd8258a4c0c2fa6d35ebe77b3cb\"\u003e\u003ccode\u003e4c8fc28\u003c/code\u003e\u003c/a\u003e Release 1.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/d91ca9426cb819d6cc63f1bd64bfe54644d0beca\"\u003e\u003ccode\u003ed91ca94\u003c/code\u003e\u003c/a\u003e Fix AtomicReference#update livelock when stored value is Float::NAN on JRuby ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/7e4d711bacf7a1dac3ef6bda44004387be2dc7e6\"\u003e\u003ccode\u003e7e4d711\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eReentrantReadWriteLock\u003c/code\u003e read hold overflow into write-lock bit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/6e37e0644b83b182971dc540d2e4bee38df61386\"\u003e\u003ccode\u003e6e37e06\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eAtomicReference#update\u003c/code\u003e livelock when stored value is \u003ccode\u003eFloat::NAN\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/2825cfa12cb708b76557803957f76862eb1151a2\"\u003e\u003ccode\u003e2825cfa\u003c/code\u003e\u003c/a\u003e Cleanup spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/3fd493283ca5f84f0ef4e84aabd43ad68df4626b\"\u003e\u003ccode\u003e3fd4932\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eReadWriteLock\u003c/code\u003e wrong-thread write release and stray read release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/1974b4772efc034ee8eaa562b4370343f4c5c54b\"\u003e\u003ccode\u003e1974b47\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/df8706d40c483d76bbb0b3a35a633c68fa9e17be\"\u003e\u003ccode\u003edf8706d\u003c/code\u003e\u003c/a\u003e Add SECURITY.md (\u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/issues/1104\"\u003e#1104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/7a1b78941c081106c20a9ca0144ac73a48d254ab\"\u003e\u003ccode\u003e7a1b789\u003c/code\u003e\u003c/a\u003e Bump actions/upload-pages-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/9b2dbf712896a638a73d2fa221206961c8d6484d\"\u003e\u003ccode\u003e9b2dbf7\u003c/code\u003e\u003c/a\u003e Bump actions/deploy-pages from 4 to 5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.6...v1.3.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crass` from 1.0.6 to 1.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rgrove/crass/releases\"\u003ecrass's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.7\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHigh: Fixed a denial of service vulnerability in which a large numeric exponent could consume disproportionate CPU and memory before the value was clamped. Exponents are now bounded before \u003ccode\u003e10**exponent\u003c/code\u003e is computed. (GHSA-6wmf-3r64-vcwv)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which deeply nested simple blocks or functions could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e, or could result in excessive memory usage. Parser nesting is now limited to a configurable maximum depth via a new option (\u003ccode\u003e:maximum_depth\u003c/code\u003e, with a conservative default of 25). Constructs nested more deeply are discarded as an \u003ccode\u003e:error\u003c/code\u003e node with the value \u0026quot;maximum-depth-exceeded\u0026quot;. (GHSA-6jxj-px6v-747w)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which a long run of adjacent comments could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e. Discarded comments are now skipped iteratively rather than recursively. (GHSA-wwpr-jff3-395c)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a denial of service vulnerability in which inputs containing many non-ASCII characters could cause excessive CPU usage due to inefficient handling of multi-byte characters during tokenization. (GHSA-8vfg-2r28-hvhj)\u003c/p\u003e\n\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/rgrove/crass/blob/main/HISTORY.md\"\u003ecrass's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.7 (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHigh: Fixed a denial of service vulnerability in which a large numeric exponent could consume disproportionate CPU and memory before the value was clamped. Exponents are now bounded before \u003ccode\u003e10**exponent\u003c/code\u003e is computed. (GHSA-6wmf-3r64-vcwv)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which deeply nested simple blocks or functions could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e, or could result in excessive memory usage. Parser nesting is now limited to a configurable maximum depth via a new option (\u003ccode\u003e:maximum_depth\u003c/code\u003e, with a conservative default of 25). Constructs nested more deeply are discarded as an \u003ccode\u003e:error\u003c/code\u003e node with the value \u0026quot;maximum-depth-exceeded\u0026quot;. (GHSA-6jxj-px6v-747w)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which a long run of adjacent comments could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e. Discarded comments are now skipped iteratively rather than recursively. (GHSA-wwpr-jff3-395c)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a denial of service vulnerability in which inputs containing many non-ASCII characters could cause excessive CPU usage due to inefficient handling of multi-byte characters during tokenization. (GHSA-8vfg-2r28-hvhj)\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/rgrove/crass/commit/cfd5daa3ce23cd7b2356acf90ecb7a02defe002c\"\u003e\u003ccode\u003ecfd5daa\u003c/code\u003e\u003c/a\u003e Release 1.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/da29664648bf80a97a6439e030a4814291c9afa5\"\u003e\u003ccode\u003eda29664\u003c/code\u003e\u003c/a\u003e Fix inefficient handling of non-ASCII characters during tokenization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/25d78cc607c54262e9d43ea1930f3ba5bb03dfb5\"\u003e\u003ccode\u003e25d78cc\u003c/code\u003e\u003c/a\u003e Prevent a long run of adjacent comments from exhausting the stack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/cf68287356ec6e20d51cfc4a2d0c3912b7334e99\"\u003e\u003ccode\u003ecf68287\u003c/code\u003e\u003c/a\u003e Limit recursion depth to prevent stack overflow and memory exhaustion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/ea6726b7f7cf7e85b23aa2240b8512b4f8d11ad9\"\u003e\u003ccode\u003eea6726b\u003c/code\u003e\u003c/a\u003e Prevent resource exhaustion denial of service via excessively large exponents\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/2b873477774cb1b0ff66fcb55c898a376e688db3\"\u003e\u003ccode\u003e2b87347\u003c/code\u003e\u003c/a\u003e Bump version to 1.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/0d3be207d624d53f9d4ca11fd03185e9c08f5635\"\u003e\u003ccode\u003e0d3be20\u003c/code\u003e\u003c/a\u003e Update CI workflow dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/a3cc4f7c5b607236e1dc24f38b20ffec2774c5d2\"\u003e\u003ccode\u003ea3cc4f7\u003c/code\u003e\u003c/a\u003e Update CI test matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/846de61f49a86fc384488bb2c91d139583a48eac\"\u003e\u003ccode\u003e846de61\u003c/code\u003e\u003c/a\u003e Upgrade minitest and rake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/b51a88e541a3ba8657f03e63fe4c4f65fcaa04ca\"\u003e\u003ccode\u003eb51a88e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rgrove/crass/issues/18\"\u003e#18\u003c/a\u003e from stoivo/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rgrove/crass/compare/v1.0.6...v1.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors by \u003ca href=\"https://github.com/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange the underlying URI parser (from RFC2396 to RFC3986) by \u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't try to constantize GID's class too soon by \u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow custom locators to override model class by \u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/globalid/compare/v1.3.0...v1.4.0\"\u003ehttps://github.com/rails/globalid/compare/v1.3.0...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c81267b4ca2eb41aa1d39178e281fbf38b6e5685\"\u003e\u003ccode\u003ec81267b\u003c/code\u003e\u003c/a\u003e Release 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/ce280b7e793a31bb604222407e8812ffca559a61\"\u003e\u003ccode\u003ece280b7\u003c/code\u003e\u003c/a\u003e Frozen string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9325789f231ed6b7cbc0c2bdd34ec45e9d5d893b\"\u003e\u003ccode\u003e9325789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/203\"\u003e#203\u003c/a\u003e from xijo/support_model_class_override_for_custom_loc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/241657bd6049738972c439d3402732744a86edd4\"\u003e\u003ccode\u003e241657b\u003c/code\u003e\u003c/a\u003e Allow custom locators to override model class derivation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/dc5bc56320a093c1ca24fa22c78fa64be37a717f\"\u003e\u003ccode\u003edc5bc56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/204\"\u003e#204\u003c/a\u003e from paulRbr/dont-constantize-model-when-not-needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26498976f018312c1949e2f11e40ec9f0f70815c\"\u003e\u003ccode\u003e2649897\u003c/code\u003e\u003c/a\u003e Don't try to constantize GID's class too soon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/018ccf19597f97513f5b5786634bcb532f476681\"\u003e\u003ccode\u003e018ccf1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/202\"\u003e#202\u003c/a\u003e from Drowze/swappable-uri-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/0f2efb5753009a64107f18071d6c1f0217cba6fa\"\u003e\u003ccode\u003e0f2efb5\u003c/code\u003e\u003c/a\u003e Change the underlying URI parser (from RFC2396 to RFC3986)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4fd30dd77f645d6c03191e2936e4d3370004c729\"\u003e\u003ccode\u003e4fd30dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/206\"\u003e#206\u003c/a\u003e from rosa/fetch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/948503f198cff5b951b1b7210b5648891e1d049c\"\u003e\u003ccode\u003e948503f\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.3.0...v1.4.0\"\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.8 to 1.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 3.1 support by \u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/739\"\u003eruby-i18n/i18n#739\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.15.1...v1.15.2\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.1...v1.15.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix feature fiber storage by \u003ca href=\"https://github.com/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore Ruby 3.2 + Rails main from the matrix 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-i18n/i18n/pull/737\"\u003eruby-i18n/i18n#737\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/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\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.15.0...v1.15.1\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.0...v1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake lazy loading of I18n translations thread safe ( part 2 ) by \u003ca href=\"https://github.com/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to not replace non-ASCII chars not in map by \u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd transliteration for O with ogonek 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-i18n/i18n/pull/733\"\u003eruby-i18n/i18n#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: exclude Ruby 3.2 from rails-main matrix 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-i18n/i18n/pull/734\"\u003eruby-i18n/i18n#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFiber-aware I18n config storage 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/731\"\u003eruby-i18n/i18n#731\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/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\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.8...v1.15.0\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/8beba78761637f6677fa94e26e19b50790161f78\"\u003e\u003ccode\u003e8beba78\u003c/code\u003e\u003c/a\u003e Bump to 1.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d6964f2b60e65223573fbba9e51e2689ef4324bc\"\u003e\u003ccode\u003ed6964f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/739\"\u003e#739\u003c/a\u003e from koic/restore_ruby_3_1_support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/e4c806e513bf51f19c956fefbee38b5a105bebf8\"\u003e\u003ccode\u003ee4c806e\u003c/code\u003e\u003c/a\u003e Restore Ruby 3.1 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/02841cb7fcf17458c6574fbf43fb36f25a00e9ad\"\u003e\u003ccode\u003e02841cb\u003c/code\u003e\u003c/a\u003e Bump to 1.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/a56484de2167826995867f0a34f9e03a581ebad7\"\u003e\u003ccode\u003ea56484d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/737\"\u003e#737\u003c/a\u003e from ruby-i18n/ignore-ruby32-rails-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/52deabaf8e1f6e9ec5ea300b180f749fc6554294\"\u003e\u003ccode\u003e52deaba\u003c/code\u003e\u003c/a\u003e Ignore Ruby 3.2 + Rails main from the matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/94891ca7fd503d57b00ab8abb6e8a5025b5ed284\"\u003e\u003ccode\u003e94891ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/736\"\u003e#736\u003c/a\u003e from YashaVinter/fix-feature-fiber-storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/5a7913e587cd8db5417a359049ad7decfac86bcc\"\u003e\u003ccode\u003e5a7913e\u003c/code\u003e\u003c/a\u003e Test against Ruby 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/cd337a8a8ba25351a08c0118e52a796113da7802\"\u003e\u003ccode\u003ecd337a8\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/735\"\u003eruby-i18n/i18n#735\u003c/a\u003e NoMethodError: undefined met...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/78fa20aa9a4f8d3632fc5c0e146aaca73fdea098\"\u003e\u003ccode\u003e78fa20a\u003c/code\u003e\u003c/a\u003e Bump to 1.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.5 to 6.0.6\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=== 6.0.6 / 2026-04-30\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e2 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e. (mtasaka)\u003c/li\u003e\n\u003cli\u003eRemoved private Assertions#_where as it is no longer used.\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/f6180b07ea6e8504a71d220246da0875f392c51c\"\u003e\u003ccode\u003ef6180b0\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/23bc7f25a8853b9b3c75b9b73c65d231e42cb452\"\u003e\u003ccode\u003e23bc7f2\u003c/code\u003e\u003c/a\u003e - Removed private Assertions#_where as it is no longer used.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c471347e5daf7f3e362c530170ae3302edad9117\"\u003e\u003ccode\u003ec471347\u003c/code\u003e\u003c/a\u003e - Fix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.5...v6.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.19.3 to 1.19.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.4 / 2026-06-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible invalid memory read when \u003ccode\u003eXML::Node#initialize_copy_with_args\u003c/code\u003e is called with an argument that is not a \u003ccode\u003eNode\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-g9g8-vgvw-g3vf\"\u003eGHSA-g9g8-vgvw-g3vf\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when an \u003ccode\u003eXML::XPathContext\u003c/code\u003e is used after its source document has been garbage collected. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-p67v-3w7g-wjg7\"\u003eGHSA-p67v-3w7g-wjg7\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free during XInclude processing via \u003ccode\u003eNode#do_xinclude\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wfpw-mmfh-qq69\"\u003eGHSA-wfpw-mmfh-qq69\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#root=\u003c/code\u003e is assigned a non-element node. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wjv4-x9w8-wm3h\"\u003eGHSA-wjv4-x9w8-wm3h\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when setting an attribute value via \u003ccode\u003eXML::Attr#value=\u003c/code\u003e or \u003ccode\u003e#content=\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-phwj-rprq-35pp\"\u003eGHSA-phwj-rprq-35pp\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a null pointer dereference when methods are called on uninitialized wrapper objects (e.g. via \u003ccode\u003eallocate\u003c/code\u003e); these now raise instead of crashing the process. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-9cv2-cfxc-v4v2\"\u003eGHSA-9cv2-cfxc-v4v2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#encoding=\u003c/code\u003e raises an exception. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5v8h-3h3q-446p\"\u003eGHSA-5v8h-3h3q-446p\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Medium) Fixed an out-of-bounds read in \u003ccode\u003eXML::NodeSet#[]\u003c/code\u003e (alias \u003ccode\u003e#slice\u003c/code\u003e) when given a large negative index. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5prr-v3j2-97mh\"\u003eGHSA-5prr-v3j2-97mh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[JRuby] (Low) \u003ccode\u003eXML::Schema\u003c/code\u003e now enforces the \u003ccode\u003eNONET\u003c/code\u003e parse option, which Nokogiri enables by default. It was not enforced on JRuby, so a schema parsed with default options could still fetch external resources over the network, potentially enabling SSRF or XXE attacks and bypassing the mitigation for CVE-2020-26247. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-8678-w3jw-xfc2\"\u003eGHSA-8678-w3jw-xfc2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f  nokogiri-1.19.4-aarch64-linux-gnu.gem\r\n35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af  nokogiri-1.19.4-aarch64-linux-musl.gem\r\na301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca  nokogiri-1.19.4-arm-linux-gnu.gem\r\n588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb  nokogiri-1.19.4-arm-linux-musl.gem\r\na46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527  nokogiri-1.19.4-arm64-darwin.gem\r\nce04b9e268c9626852231a48b49128ed52034f1ccb39484a6da3875491cd709e  nokogiri-1.19.4-java.gem\r\n051da97b8eccfdb5444fed40246a35e10d7298b9efe759b4cd25455ea04c587e  nokogiri-1.19.4-x64-mingw-ucrt.gem\r\n7fd17057d3e1f00e9954a74b3cd76595d3d4a5ef233b7ed9599047c204f70551  nokogiri-1.19.4-x86_64-darwin.gem\r\n379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a  nokogiri-1.19.4-x86_64-linux-gnu.gem\r\n17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b  nokogiri-1.19.4-x86_64-linux-musl.gem\r\n50c951611c92bca05c51411aef45f1cbc50f2821c4802758c5c6d34696533ab5  nokogiri-1.19.4.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.4 / 2026-06-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible invalid memory read when \u003ccode\u003eXML::Node#initialize_copy_with_args\u003c/code\u003e is called with an argument that is not a \u003ccode\u003eNode\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-g9g8-vgvw-g3vf\"\u003eGHSA-g9g8-vgvw-g3vf\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when an \u003ccode\u003eXML::XPathContext\u003c/code\u003e is used after its source document has been garbage collected. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-p67v-3w7g-wjg7\"\u003eGHSA-p67v-3w7g-wjg7\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free during XInclude processing via \u003ccode\u003eNode#do_xinclude\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wfpw-mmfh-qq69\"\u003eGHSA-wfpw-mmfh-qq69\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#root=\u003c/code\u003e is assigned a non-element node. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wjv4-x9w8-wm3h\"\u003eGHSA-wjv4-x9w8-wm3h\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when setting an attribute value via \u003ccode\u003eXML::Attr#value=\u003c/code\u003e or \u003ccode\u003e#content=\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-phwj-rprq-35pp\"\u003eGHSA-phwj-rprq-35pp\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a null pointer dereference when methods are called on uninitialized wrapper objects (e.g. via \u003ccode\u003eallocate\u003c/code\u003e); these now raise instead of crashing the process. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-9cv2-cfxc-v4v2\"\u003eGHSA-9cv2-cfxc-v4v2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#encoding=\u003c/code\u003e raises an exception. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5v8h-3h3q-446p\"\u003eGHSA-5v8h-3h3q-446p\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Medium) Fixed an out-of-bounds read in \u003ccode\u003eXML::NodeSet#[]\u003c/code\u003e (alias \u003ccode\u003e#slice\u003c/code\u003e) when given a large negative index. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5prr-v3j2-97mh\"\u003eGHSA-5prr-v3j2-97mh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[JRuby] (Low) \u003ccode\u003eXML::Schema\u003c/code\u003e now enforces the \u003ccode\u003eNONET\u003c/code\u003e parse option, which Nokogiri enables by default. It was not enforced on JRuby, so a schema parsed with default options could still fetch external resources over the network, potentially enabling SSRF or XXE attacks and bypassing the mitigation for CVE-2020-26247. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-8678-w3jw-xfc2\"\u003eGHSA-8678-w3jw-xfc2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/8cfb9daae9ee4a0837508eab43c40fbc8c4138c9\"\u003e\u003ccode\u003e8cfb9da\u003c/code\u003e\u003c/a\u003e version bump to v1.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/a856d1e46bda04ef47a0bd2b9eefe86df1eb0bb2\"\u003e\u003ccode\u003ea856d1e\u003c/code\u003e\u003c/a\u003e fix: JRuby NONET bypass in XML::Schema (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3639\"\u003e#3639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6a0aa1e7042ea58e10db713d4984c692a8db1a30\"\u003e\u003ccode\u003e6a0aa1e\u003c/code\u003e\u003c/a\u003e fix(CRuby): use-after-free in Document#encoding= when setter raises (v1.19.x)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f658a54ab2df58a3525967c339edce9649c197d4\"\u003e\u003ccode\u003ef658a54\u003c/code\u003e\u003c/a\u003e fix: JRuby NONET bypass in XML::Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/39d26fea52cda8ac15313561824fd0bc018818aa\"\u003e\u003ccode\u003e39d26fe\u003c/code\u003e\u003c/a\u003e fix(CRuby): use-after-free in Document#encoding= when setter raises\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/04a09ddd67a4b573eb5c634655c2fb857e0436ad\"\u003e\u003ccode\u003e04a09dd\u003c/code\u003e\u003c/a\u003e fix(CRuby): out-of-bounds read in NodeSet#[] with large negative index (v1.19...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/7799fbd325f9f5e10fcccc77daaa903949a9d545\"\u003e\u003ccode\u003e7799fbd\u003c/code\u003e\u003c/a\u003e fix: avoid NPE on uninitialized XML::Node structs (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/ef19e1329c39f885e980b301f33fb233f3431d14\"\u003e\u003ccode\u003eef19e13\u003c/code\u003e\u003c/a\u003e fix(CRuby): avoid UAF in XML::Attr#value= (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3644\"\u003e#3644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/5524fa97868ae26dfd74d700aba256b117262267\"\u003e\u003ccode\u003e5524fa9\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eDocument#root=\u003c/code\u003e rejects non-element nodes (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3643\"\u003e#3643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9891ad1092a265ae1cef220c377ebbabc9fde622\"\u003e\u003ccode\u003e9891ad1\u003c/code\u003e\u003c/a\u003e fix(CRuby): use-after-free in XPathContext document lifetime (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3641\"\u003e#3641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.19.3...v1.19.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.3 to 0.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Suppress documentation for internals 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/pp/pull/65\"\u003eruby/pp#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport private instance_variables_to_inspect by \u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\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/pp/compare/v0.6.3...v0.6.4\"\u003ehttps://github.com/ruby/pp/compare/v0.6.3...v0.6.4\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/pp/commit/29552e894c8cd5700c50135b2e4a385fbda512a4\"\u003e\u003ccode\u003e29552e8\u003c/code\u003e\u003c/a\u003e v0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/e08d84ce10b8a2e994ba99af9b1e31b6397b7fc9\"\u003e\u003ccode\u003ee08d84c\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/91079ce0774a21e68e53c410479c0fadcd4d28b8\"\u003e\u003ccode\u003e91079ce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/87\"\u003e#87\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/a39f73e604ce38bdeae5171eaa3a37c83b0566f8\"\u003e\u003ccode\u003ea39f73e\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.2.0 to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/5a688e4d35123147426fa6bd91871318eb3e3985\"\u003e\u003ccode\u003e5a688e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/86\"\u003e#86\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/d649a95151c205a0be351c37fb74193fddb30a12\"\u003e\u003ccode\u003ed649a95\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.3 to 2.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/54a425d7a53d56e1abab525491653837e86d5c42\"\u003e\u003ccode\u003e54a425d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/85\"\u003e#85\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/34941a375b6d46a9e42ec04d7bcf747b5ca2485c\"\u003e\u003ccode\u003e34941a3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.1 to 2.19.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/670c8c0b3cd69fb64375be97943c01f96981729e\"\u003e\u003ccode\u003e670c8c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/84\"\u003e#84\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/bd8165d5a628d2707853ba2e5b50b04bbc008ad6\"\u003e\u003ccode\u003ebd8165d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.0 to 2.19.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.3...v0.6.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e💥 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange default ruby parser to RDoc::Parser::PrismRuby 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/rdoc/pull/1581\"\u003eruby/rdoc#1581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated CLI options and directives 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/1616\"\u003eruby/rdoc#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor formatter options 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/1623\"\u003eruby/rdoc#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused memoized caches from Context 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/1644\"\u003eruby/rdoc#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd server mode with live reload (\u003ccode\u003erdoc --server\u003c/code\u003e) 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/1620\"\u003eruby/rdoc#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Ripper-based parser 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/1690\"\u003eruby/rdoc#1690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStyle method entries as signature cards in aliki theme 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/1669\"\u003eruby/rdoc#1669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul coverage report 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/1663\"\u003eruby/rdoc#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisplay RBS type signatures in documentation 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/1665\"\u003eruby/rdoc#1665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse RBS files as RDoc input 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/1728\"\u003eruby/rdoc#1728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish Aliki documentation theme 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/1742\"\u003eruby/rdoc#1742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop generating a separate page file for \u003ccode\u003emain_page\u003c/code\u003e 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/1624\"\u003eruby/rdoc#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown table parser consuming lines without pipes as table rows 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/1626\"\u003eruby/rdoc#1626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix section comments with the prism parser 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/rdoc/pull/1639\"\u003eruby/rdoc#1639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deadlock on Ctrl+C in server mode 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/1649\"\u003eruby/rdoc#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix server mode live reload for C files 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/1647\"\u003eruby/rdoc#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't auto-link to non-text source files in cross-references 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/1646\"\u003eruby/rdoc#1646\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix encoding error when C parser reads external source files 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/1657\"\u003eruby/rdoc#1657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix page links returning 404 in server mode 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/1671\"\u003eruby/rdoc#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indentation not being preserved on first line in code fences by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1672\"\u003eruby/rdoc#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broken sidebar links for chained class aliases 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/1675\"\u003eruby/rdoc#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003e#\u003c/code\u003e prefix for unresolved cross-references 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/1676\"\u003eruby/rdoc#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Markdown blockquote parsing 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/1627\"\u003eruby/rdoc#1627\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop lazy alias resolver from overwriting real classes (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1662\"\u003e#1662\u003c/a\u003e) 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/1689\"\u003eruby/rdoc#1689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip markdown HTML comments within paragraph 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/rdoc/pull/1698\"\u003eruby/rdoc#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete -V short flag from --visibility option 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/1703\"\u003eruby/rdoc#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u0026quot;check syntax\u0026quot; message when it isn't a ruby file by \u003ca href=\"https://github.com/rwstauner\"\u003e\u003ccode\u003e@​rwstauner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1715\"\u003eruby/rdoc#1715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid detecting encoding comments in documentation text 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/1727\"\u003eruby/rdoc#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix colorization of imaginary/rational numbers 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/rdoc/pull/1733\"\u003eruby/rdoc#1733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify CrossReference resolve 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/rdoc/pull/1571\"\u003eruby/rdoc#1571\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Move \u003ccode\u003eRubygemsHook\u003c/code\u003e doc to the right place 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/1629\"\u003eruby/rdoc#1629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comparison with GitHub Flavored Markdown spec 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/1550\"\u003eruby/rdoc#1550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd user-facing configuration reference 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/1692\"\u003eruby/rdoc#1692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd RDoc logo to documentation 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/1734\"\u003eruby/rdoc#1734\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erubocop --autocorrect 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/rdoc/pull/1611\"\u003eruby/rdoc#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand RDoc::Attr#dd_alias test cases for aliased attributes access types by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1612\"\u003eruby/rdoc#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump required ruby version to 2.7 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/rdoc/pull/1615\"\u003eruby/rdoc#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd breaking-change category to release notes and release-check skill 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/1619\"\u003eruby/rdoc#1619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport constant assign parsed before class/module definition 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/rdoc/pull/1621\"\u003eruby/rdoc#1621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CI check for RI backward compatibility 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/1625\"\u003eruby/rdoc#1625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.14.2 to 2.15.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/rdoc/pull/1632\"\u003eruby/rdoc#1632\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/rdoc/commit/4e303b392092fe731de1a10e53a9862d7c9cecc8\"\u003e\u003ccode\u003e4e303b3\u003c/code\u003e\u003c/a\u003e Bump RDoc to 8.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/004278532b01e40316fe22266946936cd931218b\"\u003e\u003ccode\u003e0042785\u003c/code\u003e\u003c/a\u003e Polish Aliki documentation theme (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/daa7768b81c703b84c796bf60c27977c62cd4aa1\"\u003e\u003ccode\u003edaa7768\u003c/code\u003e\u003c/a\u003e Encapsulate superclass method link rendering (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/a8df5c5d03b63cf05425bf676644688ac673a329\"\u003e\u003ccode\u003ea8df5c5\u003c/code\u003e\u003c/a\u003e Parse RBS files as RDoc input (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1728\"\u003e#1728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f89b93a8fb10eca11bb307319bbab295ab468192\"\u003e\u003ccode\u003ef89b93a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.3 to 7.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/be20315862d7834402ffa289fafb7bf40524ca23\"\u003e\u003ccode\u003ebe20315\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.313.0 to 1.314.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1739\"\u003e#1739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/66c1d658014dcc277486d94af65ed07005125217\"\u003e\u003ccode\u003e66c1d65\u003c/code\u003e\u003c/a\u003e Simplify CrossReference resolve (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/7daa43156f2713db5763e2879af74d15a88be193\"\u003e\u003ccode\u003e7daa431\u003c/code\u003e\u003c/a\u003e Add RDoc logo to documentation (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/bb8b2d4587d64df8cd70924fb52021c0941e728a\"\u003e\u003ccode\u003ebb8b2d4\u003c/code\u003e\u003c/a\u003e Fix colorization of imaginary/rational numbers (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1733\"\u003e#1733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1ae9dc17903e363228fa507e607fdbfb2acad50e\"\u003e\u003ccode\u003e1ae9dc1\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `websocket-driver` from 0.8.0 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faye/websocket-driver-ruby/blob/main/CHANGELOG.md\"\u003ewebsocket-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.8.2 / 2026-06-23\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGracefully handle malformed \u003ccode\u003eHost\u003c/code\u003e headers in the \u003ccode\u003eServer\u003c/code\u003e driver\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.8.1 / 2026-06-04\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClose a draft-75/76 connection if a length header grows to exceed the\nconfigured max length\u003c/li\u003e\n\u003cli\u003eFail the connection if a message is larger than the configured max length\nafter extension processing\u003c/li\u003e\n\u003cli\u003eLimit the total HTTP request line and headers size to 32K\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/49e230b252817632c1ab14a8c501fa460d5fa9bf\"\u003e\u003ccode\u003e49e230b\u003c/code\u003e\u003c/a\u003e Bump version to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/7d6fd87759a2fdc83590d3b49ffa661dc53fa128\"\u003e\u003ccode\u003e7d6fd87\u003c/code\u003e\u003c/a\u003e Gracefully handle malformed \u003ccode\u003eHost\u003c/code\u003e headers in the \u003ccode\u003eServer\u003c/code\u003e driver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/5cab908d5e72d40345751edbd4f1e1ef75d53d89\"\u003e\u003ccode\u003e5cab908\u003c/code\u003e\u003c/a\u003e Bump version to 0.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/17b569f232896e71d458404ccf4854f80e987710\"\u003e\u003ccode\u003e17b569f\u003c/code\u003e\u003c/a\u003e Limit the total HTTP request line and headers size to 32K\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/fa8641724f10bf3273585f1dcf9041f540bbd036\"\u003e\u003ccode\u003efa86417\u003c/code\u003e\u003c/a\u003e Fail the connection if a message is larger than the configured max length aft...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/d0141f041f6e3677a951255d547a313e732ccbe0\"\u003e\u003ccode\u003ed0141f0\u003c/code\u003e\u003c/a\u003e Close a draft-75/76 connection if a length header grows to exceed the configu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/1e4475e3753e3b614c49739e8eb0bc3e0d1c2580\"\u003e\u003ccode\u003e1e4475e\u003c/code\u003e\u003c/a\u003e Test on Ruby 4.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/faye/websocket-driver-ruby/compare/0.8.0...0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.7.5 to 2.8.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md\"\u003ezeitwerk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.2 (23 May 202...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/327","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/327","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/327/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":"3704347542","node_id":"PR_kwDOCB6Cus63kn9K","number":1308,"state":"closed","title":"Bump the production-dependencies-minor group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T03:02:53.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T02:10:24.000Z","updated_at":"2026-01-12T03:02:55.000Z","time_to_close":3027149,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies-minor","update_count":29,"packages":[{"name":"rake","old_version":"13.2.1","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rails","old_version":"7.1.5.2","new_version":"7.1.6","repository_url":"https://github.com/rails/rails"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"test-unit","old_version":"3.2.7","new_version":"3.7.3","repository_url":"https://github.com/test-unit/test-unit"},{"name":"aws-sdk-s3","old_version":"1.113.0","new_version":"1.206.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"json","old_version":"2.12.2","new_version":"2.17.1","repository_url":"https://github.com/ruby/json"},{"name":"rack-attack","old_version":"6.5.0","new_version":"6.8.0","repository_url":"https://github.com/rack/rack-attack"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"dalli","old_version":"3.2.3","new_version":"3.2.8","repository_url":"https://github.com/petergoldstein/dalli"},{"name":"carrierwave","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/carrierwaveuploader/carrierwave"},{"name":"mini_magick","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/minimagick/minimagick"},{"name":"httparty","old_version":"0.21.0","new_version":"0.23.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"devise-two-factor","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/tinfoil/devise-two-factor"},{"name":"geocoder","old_version":"1.6.1","new_version":"1.8.6","repository_url":"https://github.com/alexreisner/geocoder"},{"name":"table_print","old_version":"1.5.4","new_version":"1.5.7","repository_url":"https://github.com/arches/table_print"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"csv","old_version":"3.3.4","new_version":"3.3.5","repository_url":"https://github.com/ruby/csv"},{"name":"maintenance_tasks","old_version":"2.12.0","new_version":"2.13.0","repository_url":"https://github.com/Shopify/maintenance_tasks"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"rails-autoscale-web","old_version":"1.11.1","new_version":"1.12.1","repository_url":"https://github.com/judoscale/judoscale-ruby"},{"name":"lograge","old_version":"0.3.6","new_version":"0.14.0","repository_url":"https://github.com/roidrage/lograge"},{"name":"recaptcha","old_version":"5.19.0","new_version":"5.21.1","repository_url":"https://github.com/ambethia/recaptcha"},{"name":"barnes","old_version":"0.0.8","new_version":"0.0.9","repository_url":"https://github.com/heroku/barnes"},{"name":"has_scope","old_version":"0.8.2","new_version":"0.9.0","repository_url":"https://github.com/heartcombo/has_scope"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"js-routes","old_version":"2.2.7","new_version":"2.3.5","repository_url":"https://github.com/railsware/js-routes"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies-minor group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rake](https://github.com/ruby/rake) | `13.2.1` | `13.3.1` |\n| [rails](https://github.com/rails/rails) | `7.1.5.2` | `7.1.6` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.4` | `1.19.0` |\n| [test-unit](https://github.com/test-unit/test-unit) | `3.2.7` | `3.7.3` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.113.0` | `1.206.0` |\n| [json](https://github.com/ruby/json) | `2.12.2` | `2.17.1` |\n| [rack-attack](https://github.com/rack/rack-attack) | `6.5.0` | `6.8.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [dalli](https://github.com/petergoldstein/dalli) | `3.2.3` | `3.2.8` |\n| [carrierwave](https://github.com/carrierwaveuploader/carrierwave) | `3.1.1` | `3.1.2` |\n| [mini_magick](https://github.com/minimagick/minimagick) | `5.2.0` | `5.3.1` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.21.0` | `0.23.2` |\n| [devise-two-factor](https://github.com/tinfoil/devise-two-factor) | `6.1.0` | `6.2.0` |\n| [geocoder](https://github.com/alexreisner/geocoder) | `1.6.1` | `1.8.6` |\n| [table_print](https://github.com/arches/table_print) | `1.5.4` | `1.5.7` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [csv](https://github.com/ruby/csv) | `3.3.4` | `3.3.5` |\n| [maintenance_tasks](https://github.com/Shopify/maintenance_tasks) | `2.12.0` | `2.13.0` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [rails-autoscale-web](https://github.com/judoscale/judoscale-ruby) | `1.11.1` | `1.12.1` |\n| [lograge](https://github.com/roidrage/lograge) | `0.3.6` | `0.14.0` |\n| [recaptcha](https://github.com/ambethia/recaptcha) | `5.19.0` | `5.21.1` |\n| [barnes](https://github.com/heroku/barnes) | `0.0.8` | `0.0.9` |\n| [has_scope](https://github.com/heartcombo/has_scope) | `0.8.2` | `0.9.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [js-routes](https://github.com/railsware/js-routes) | `2.2.7` | `2.3.5` |\n\n\nUpdates `rake` from 13.2.1 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.2.1...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 7.1.5.2 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\"\u003erails'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/10a0f90fd21addbe480287116fe3e9fe7ff6bef4\"\u003e\u003ccode\u003e10a0f90\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/4df996b7a074737d882b61786160e82127789fff\"\u003e\u003ccode\u003e4df996b\u003c/code\u003e\u003c/a\u003e Sync changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/310c904351226378e0abbcf47a15c0d68e578883\"\u003e\u003ccode\u003e310c904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55570\"\u003e#55570\u003c/a\u003e from zzak/8-0-sidekiq-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c274de0b8b49d848f0a905477e7cd9e82838a46d\"\u003e\u003ccode\u003ec274de0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55747\"\u003e#55747\u003c/a\u003e from skipkayhil/hm-kwzpqqkssmwtsunu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1d82970391205443f7c2d84286448e385cadabba\"\u003e\u003ccode\u003e1d82970\u003c/code\u003e\u003c/a\u003e Add the Action Cable configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8323dd632c7ef03e95e82031117515654f9bde94\"\u003e\u003ccode\u003e8323dd6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54164\"\u003e#54164\u003c/a\u003e from zzak/asto-test-mini_magick-deprecation-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4eb8085a610235e6b44be342b2445ba6a1c6e733\"\u003e\u003ccode\u003e4eb8085\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/d100e466f68f42d841846781167a66966e0901a2\"\u003e\u003ccode\u003ed100e46\u003c/code\u003e\u003c/a\u003e Don't load action cable in the activestorage dummy app\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/91fc9b2cac7e2e0d101e9faece99f1d13d10b9a3\"\u003e\u003ccode\u003e91fc9b2\u003c/code\u003e\u003c/a\u003e Don't load sprockets-rails and propshaft in the same application\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.1.5.2...v7.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.13.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.4 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAttempt to detect a QEMU bug that can cause \u003ccode\u003ebootsnap precompile\u003c/code\u003e to hang forever when building ARM64 docker images\nfrom x86_64 machines. See \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/495\"\u003e#495\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove CLI to detect cgroup CPU limits and avoid spawning too many worker processes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a0f8e62788d6e6304be06de5d4a313a94291492\"\u003e\u003ccode\u003e4a0f8e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/508\"\u003e#508\u003c/a\u003e from byroot/remove-json-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5df6e04afd8cb8c9463d219518baaffaf2c48b6e\"\u003e\u003ccode\u003e5df6e04\u003c/code\u003e\u003c/a\u003e Remove Bootsnap::CompileCache::JSON\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e6272f8c7f2935efc1000ec654da2d196e91f4e2\"\u003e\u003ccode\u003ee6272f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/506\"\u003e#506\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/89879b4161b6e62bbb0d139208e1eb8cb30c1b40\"\u003e\u003ccode\u003e89879b4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55d663fbc419d3a4ad32d200f7ba45c64e04d772\"\u003e\u003ccode\u003e55d663f\u003c/code\u003e\u003c/a\u003e Move bootsnap to the Rails org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/03629f633ee1e591d4d9f3c351406465c3cf3ead\"\u003e\u003ccode\u003e03629f6\u003c/code\u003e\u003c/a\u003e Add devcontainer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/037ad17aa546c080238a979fce8b393b4fc7f577\"\u003e\u003ccode\u003e037ad17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/505\"\u003e#505\u003c/a\u003e from beauraF/add-know-issues-note-to-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/3019588dd3823dcdfbb24dd950cfba1516c2e662\"\u003e\u003ccode\u003e3019588\u003c/code\u003e\u003c/a\u003e Add a knows issues note into README.md related to QEMU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/b3333f644b4bd0c82a3ec52a3fdd3c9752abcf71\"\u003e\u003ccode\u003eb3333f6\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.4...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-unit` from 3.2.7 to 3.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-unit/test-unit/releases\"\u003etest-unit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etest-unit 3.7.3 - 2025-11-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved duplicated power_assert require code.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/337\"\u003eGH-337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Nobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.7.2 - 2025-11-25\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppressed warnings from power_assert.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/335\"\u003eGH-335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Nobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.7.1 - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUsed absolute path instead of relative path for autoload.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/311\"\u003eGH-311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/325\"\u003eGH-325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggested by nicholas a. evans\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved compatibility with power_assert 3.0 on older rubies.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/329\"\u003eGH-329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/330\"\u003eGH-330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Jean Boussier\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enicholas a. evans\u003c/li\u003e\n\u003cli\u003eJean Boussier\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.7.0 - 2025-07-06\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that \u003ccode\u003eTest::Unit::TestCase\u003c/code\u003e and \u003ccode\u003eTest::Unit::AutoRunner\u003c/code\u003e\naren't loaded when they are redefined by open class before referring\nto these constants.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/8d3e65169346814513a4787bac1eb89b88ca0269\"\u003e\u003ccode\u003e8d3e651\u003c/code\u003e\u003c/a\u003e Add 3.7.3 entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/ff3a4ce85d3bfce11ab965a092c15e751327e3fe\"\u003e\u003ccode\u003eff3a4ce\u003c/code\u003e\u003c/a\u003e Move suppressing experimental warnings (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/9028d9c920b9164d73831c36468ad81b8a0a66da\"\u003e\u003ccode\u003e9028d9c\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/54e7ecf4afc4513cf7e4651b5a08348adb8594c7\"\u003e\u003ccode\u003e54e7ecf\u003c/code\u003e\u003c/a\u003e Add 3.7.2 entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/692c7ae4e869f58390a295fcc90127fd704fbb13\"\u003e\u003ccode\u003e692c7ae\u003c/code\u003e\u003c/a\u003e Squash syntax warnings as well as syntax errors (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/2a08297934418f2e329b0b3211a27d4172bf68b7\"\u003e\u003ccode\u003e2a08297\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/edfa50cf4fef5521f34dca1995c1c8f3efe77d7b\"\u003e\u003ccode\u003eedfa50c\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/97e3f4368c12f1ffe346e86d6c9d46b8bf852cae\"\u003e\u003ccode\u003e97e3f43\u003c/code\u003e\u003c/a\u003e Add 3.7.1 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/dd28c55e359ca78099f18fa150c7b83401e86d1c\"\u003e\u003ccode\u003edd28c55\u003c/code\u003e\u003c/a\u003e Fix compatibility with power_assert 3.0 on older rubies (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/2cefbb7d34fce93c846c244e3d7051685e803163\"\u003e\u003ccode\u003e2cefbb7\u003c/code\u003e\u003c/a\u003e test: clear called state in setup (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-unit/test-unit/compare/3.2.7...3.7.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.113.0 to 1.206.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.206.0 (2025-12-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - New S3 Storage Class FSX_ONTAP\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.205.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Enable / Disable ABAC on a general purpose bucket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.204.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for blocking SSE-C writes to general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.1 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Deprecated \u003ccode\u003e:checksum_mode\u003c/code\u003e parameter in \u003ccode\u003eFileDownloader#download\u003c/code\u003e. When set to \u0026quot;DISABLED\u0026quot;, a deprecation warning is issued and the parameter is ignored. Use \u003ccode\u003e:response_checksum_validation\u003c/code\u003e on the S3 client instead to control checksum validation behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.0 (2025-11-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Launch IPv6 dual-stack support for S3 Express\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart upload to respect \u003ccode\u003erequest_checksum_calculation\u003c/code\u003e \u003ccode\u003ewhen_required\u003c/code\u003e mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.200.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add lightweight thread pool executor for multipart \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add custom executor support for \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.199.0 (2025-09-08)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.12.2 to 2.17.1\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.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eJSON.load\u003c/code\u003e and \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e to allow passing options as second argument.\u003c/li\u003e\n\u003cli\u003eFix the parser to no longer ignore invalid escapes in strings.\nOnly \u003ccode\u003e\\\u0026quot;\u003c/code\u003e, \u003ccode\u003e\\\\\u003c/code\u003e, \u003ccode\u003e\\b\u003c/code\u003e, \u003ccode\u003e\\f\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\t\u003c/code\u003e and \u003ccode\u003e\\u\u003c/code\u003e are valid JSON escapes.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eJSON::Coder\u003c/code\u003e to use the depth it was initialized with.\u003c/li\u003e\n\u003cli\u003eOn TruffleRuby, fix the generator to not call \u003ccode\u003eto_json\u003c/code\u003e on the return value of \u003ccode\u003eas_json\u003c/code\u003e for \u003ccode\u003eFloat::NAN\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed handling of \u003ccode\u003estate.depth\u003c/code\u003e: when \u003ccode\u003eto_json\u003c/code\u003e changes \u003ccode\u003estate.depth\u003c/code\u003e but does not restore it, it is reset\nautomatically to its initial value.\nIn particular, when a \u003ccode\u003eNestingError\u003c/code\u003e is raised, \u003ccode\u003edepth\u003c/code\u003e is no longer equal to \u003ccode\u003emax_nesting\u003c/code\u003e after the call to\ngenerate, and is reset to its initial value. Similarly when \u003ccode\u003eto_json\u003c/code\u003e raises an exception.\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.16.0...v2.17.0\"\u003ehttps://github.com/ruby/json/compare/v2.16.0...v2.17.0\u003c/a\u003e\u003c/p\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\u003ch2\u003ev2.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\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.0...v2.15.1\"\u003ehttps://github.com/ruby/json/compare/v2.15.0...v2.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-12-04 (2.17.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression in parsing of unicode surogate pairs (\u003ccode\u003e\\uXX\\uXX\u003c/code\u003e) that could cause an invalid string to be returned.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-12-03 (2.17.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eJSON.load\u003c/code\u003e and \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e to allow passing options as second argument.\u003c/li\u003e\n\u003cli\u003eFix the parser to no longer ignore invalid escapes in strings.\nOnly \u003ccode\u003e\\\u0026quot;\u003c/code\u003e, \u003ccode\u003e\\\\\u003c/code\u003e, \u003ccode\u003e\\b\u003c/code\u003e, \u003ccode\u003e\\f\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\t\u003c/code\u003e and \u003ccode\u003e\\u\u003c/code\u003e are valid JSON escapes.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eJSON::Coder\u003c/code\u003e to use the depth it was initialized with.\u003c/li\u003e\n\u003cli\u003eOn TruffleRuby, fix the generator to not call \u003ccode\u003eto_json\u003c/code\u003e on the return value of \u003ccode\u003eas_json\u003c/code\u003e for \u003ccode\u003eFloat::NAN\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed handling of \u003ccode\u003estate.depth\u003c/code\u003e: when \u003ccode\u003eto_json\u003c/code\u003e changes \u003ccode\u003estate.depth\u003c/code\u003e but does not restore it, it is reset\nautomatically to its initial value.\nIn particular, when a \u003ccode\u003eNestingError\u003c/code\u003e is raised, \u003ccode\u003edepth\u003c/code\u003e is no longer equal to \u003ccode\u003emax_nesting\u003c/code\u003e after the call to\ngenerate, and is reset to its initial value. Similarly when \u003ccode\u003eto_json\u003c/code\u003e raises an exception.\u003c/li\u003e\n\u003c/ul\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\u003ch3\u003e2025-10-07 (2.15.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-22 (2.15.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\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/ruby/json/commit/e5e4fd558e5a8d53db63eeaeca9212e8f0042e19\"\u003e\u003ccode\u003ee5e4fd5\u003c/code\u003e\u003c/a\u003e Release 2.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/0fce370c417bc16e7deed688e2d2a5ce6a0b31c7\"\u003e\u003ccode\u003e0fce370\u003c/code\u003e\u003c/a\u003e Fix a regression in parsing of unicode surogate pairs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/4bdb2d14fe30733b02e4c58ce9521d70ee56f2af\"\u003e\u003ccode\u003e4bdb2d1\u003c/code\u003e\u003c/a\u003e Release 2.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ccca602274401eedf894c0e633040665dc425e78\"\u003e\u003ccode\u003eccca602\u003c/code\u003e\u003c/a\u003e Fix handling of depth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/7b62fac5253ac17e53fff9c68f5607b58117e77a\"\u003e\u003ccode\u003e7b62fac\u003c/code\u003e\u003c/a\u003e Fix duplicated test_unsafe_load_with_options test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e0257b9f82fc0c5aa0de0816abe7d1798c1d6411\"\u003e\u003ccode\u003ee0257b9\u003c/code\u003e\u003c/a\u003e Reproduce C ext behavior of ignoring mutated depth in arrays\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/386b36fde5ef3955fbbbc70b7f3423636a53d440\"\u003e\u003ccode\u003e386b36f\u003c/code\u003e\u003c/a\u003e Test and restore behavior around to_json changing depth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/c54de70f9084d16136e23e694033fb54bfdfcef3\"\u003e\u003ccode\u003ec54de70\u003c/code\u003e\u003c/a\u003e Improve \u003ccode\u003eJSON.load\u003c/code\u003e and \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e to allow passing options as second...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/65d62dc7411808dcb89f7df44f80d99e93cdc8c6\"\u003e\u003ccode\u003e65d62dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/909\"\u003e#909\u003c/a\u003e from nobu/macro_args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/8fb727901e530dad3321ad6930d8f00dbe3d0b1d\"\u003e\u003ccode\u003e8fb7279\u003c/code\u003e\u003c/a\u003e Fix macro arguments\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.12.2...v2.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack-attack` from 6.5.0 to 6.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/releases\"\u003erack-attack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\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/floehopper\"\u003e\u003ccode\u003e@​floehopper\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/618\"\u003erack/rack-attack#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mttkay\"\u003e\u003ccode\u003e@​mttkay\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/622\"\u003erack/rack-attack#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/625\"\u003erack/rack-attack#625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/629\"\u003erack/rack-attack#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/654\"\u003erack/rack-attack#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fynsta\"\u003e\u003ccode\u003e@​fynsta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/658\"\u003erack/rack-attack#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexsmartens\"\u003e\u003ccode\u003e@​alexsmartens\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/664\"\u003erack/rack-attack#664\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/587\"\u003erack/rack-attack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/612\"\u003erack/rack-attack#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/586\"\u003erack/rack-attack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/614\"\u003erack/rack-attack#614\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/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md\"\u003erack-attack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.8.0] - 2025-10-14\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.7.0] - 2023-07-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/587\"\u003e#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.1] - 2022-04-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes deprecation warning in redis 4.6+ ([\u003ca href=\"https://github.com/ixti\"\u003e\u003ccode\u003e@​ixti\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2022-01-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbility to have access to the \u003ccode\u003erequest\u003c/code\u003e object instead of only \u003ccode\u003eenv\u003c/code\u003e (still can access env with \u003ccode\u003erequest.env\u003c/code\u003e) when\ncustomizing throttle and blocklist responses with new methods \u003ccode\u003eRack::Attack.blocklisted_responder=\u003c/code\u003e and\n\u003ccode\u003eRack::Attack.throttled_responder=\u003c/code\u003e which yield the request to your lambda. ([\u003ca href=\"https://github.com/NikolayRys\"\u003e\u003ccode\u003e@​NikolayRys\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.blocklisted_response=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.throttled_response=\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/rack/rack-attack/commit/65f1ead3bc648b1e972fd8df0078949f056699d9\"\u003e\u003ccode\u003e65f1ead\u003c/code\u003e\u003c/a\u003e Bumps gem version to v6.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e84eaf57cd1cc8541de260326df5d84070011b68\"\u003e\u003ccode\u003ee84eaf5\u003c/code\u003e\u003c/a\u003e Upgrade GHA Runners (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/4606efbe5ec8dfef5ab824fd03797ed67396ecb7\"\u003e\u003ccode\u003e4606efb\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/40d83d1281694c13230a272026f6b291abe84dd0\"\u003e\u003ccode\u003e40d83d1\u003c/code\u003e\u003c/a\u003e Fix GHA Runner (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/1dba6ec133e76e6496c8bc89822b52696d671d46\"\u003e\u003ccode\u003e1dba6ec\u003c/code\u003e\u003c/a\u003e Remove CodeClimate (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/467770882daa6f3865cc207c8b5dfdbc4028d7cb\"\u003e\u003ccode\u003e4677708\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to the CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/87108769f8b4e847f12fbad76d0b6dc98e41bd89\"\u003e\u003ccode\u003e8710876\u003c/code\u003e\u003c/a\u003e Fix CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/86650c4f7ea1af24fe4a89d3040e1309ee8a88bc\"\u003e\u003ccode\u003e86650c4\u003c/code\u003e\u003c/a\u003e Fix reset! when using namespaced cache store (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/8d5b210fcd5b864300e90f70ad12f7a25bd71c03\"\u003e\u003ccode\u003e8d5b210\u003c/code\u003e\u003c/a\u003e Fix wrong merge resolution (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/6db4a73253c78494ce0b9aed8d587bd989bccce4\"\u003e\u003ccode\u003e6db4a73\u003c/code\u003e\u003c/a\u003e Drop Dalli 2 support (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.5.0...v6.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.5.9 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 [2025-09-02] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove several absolute paths from native binaries which pointed to build directories. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/668\"\u003e#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bad fallback path to \u003ccode\u003epg_service.conf\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/666\"\u003e#666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erbpg_\u003c/code\u003e prefix for \u003ccode\u003ebase64_*\u003c/code\u003e functions to avoid name clashes with functions provided by other libraries like Heimdal on Macos. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/667\"\u003e#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise a more descriptive error message in case of \u003ccode\u003epg_ext\u003c/code\u003e LoadError. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/664\"\u003e#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze some constants to make them available in a Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/660\"\u003e#660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral documentation improvements.\u003c/li\u003e\n\u003cli\u003eUpdate native binary gems to OpenSSL-3.5.2, krb5-1.22.1 and PostgreSQL-17.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.1 [2025-08-03] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for platforms \u003ccode\u003eaarch64-linux-musl\u003c/code\u003e and \u003ccode\u003ex86_64-linux-musl\u003c/code\u003e without the need to install package \u003ccode\u003egcompat\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/657\"\u003e#657\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSerialize CompositeCoder#dimensions only when set. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/652\"\u003e#652\u003c/a\u003e\nThis fixes the compatibility to pg-1.5.9, when deserializing Marshal data from pg-1.6, as long as the new attribute isn't used.\u003c/li\u003e\n\u003cli\u003eRemove dependency to MSYS2 package \u0026quot;postgresql\u0026quot; from binary Windows gem \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 [2025-07-27] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby 3.4.\u003c/li\u003e\n\u003cli\u003eAdd fat binary gem for platform \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e aka Windows on ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/626\"\u003e#626\u003c/a\u003e, for platform Macos on Intel and ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/643\"\u003e#643\u003c/a\u003e, for platform \u003ccode\u003eaarch64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/646\"\u003e#646\u003c/a\u003e and for platform \u003ccode\u003ex86_64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/551#issuecomment-2504715762\"\u003e#551\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.5.1 and PostgreSQL-17.5.\u003c/li\u003e\n\u003cli\u003eAdd a patch to libpq to avoid starvation on bigger SSL records, which some database engines other than vanilla PostgreSQL use.\nThis patch applies to platform specific binary gems only.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/616\"\u003e#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new query cancel functions of PostgreSQL-17.\nThis adds the new class \u003ccode\u003ePG::CancelConnection\u003c/code\u003e which provides the ability to cancel a query per blocking or per non-blocking functions.\nIf the new functions are available they are used and the older are no longer compiled in.\nThis way we can get rid of reading out the internal \u003ccode\u003ePGcancel\u003c/code\u003e struct by \u003ccode\u003eConnection#backend_key\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/603\"\u003e#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd possibility to define the number of array dimensions to be encoded.\nSetting dimensions is especially useful, when a Record shall be encoded into an Array, since the Array encoder can not distinguish if the array shall be encoded as a higher dimension or as a record otherwise.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/622\"\u003e#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#set_chunked_rows_mode \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/610\"\u003e#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/611\"\u003e#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MINGW package dependency which is resolved by RubyInstaller.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003econn.server_version\u003c/code\u003e and \u003ccode\u003econn.protocol_version\u003c/code\u003e to raise instead of return 0 on error.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/632\"\u003e#632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix connecting to multiple hosts after \u003ccode\u003econnnect_timeout\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/637\"\u003e#637\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/ged/ruby-pg/commit/c75ed8da19c356b52d83da2627295760780d3d36\"\u003e\u003ccode\u003ec75ed8d\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/90a00e51d296e8614ed6815589a26d971e9f444f\"\u003e\u003ccode\u003e90a00e5\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for pg-1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/c58434835ab6b077e757ef0c16e7b9dc1d1fccf6\"\u003e\u003ccode\u003ec584348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/670\"\u003e#670\u003c/a\u003e from larskanis/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/227653d235fe5ed4a8e03ea09854a6d298426ff3\"\u003e\u003ccode\u003e227653d\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/428415dd4ecb55882d2319d8b166fe73343853ba\"\u003e\u003ccode\u003e428415d\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 1.6.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/4282e5c729a98f66775611bd96c1848863b1d91f\"\u003e\u003ccode\u003e4282e5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/669\"\u003e#669\u003c/a\u003e from larskanis/test-rpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/19a35473b0ef7b4bf0d9caf7b62fb7fbbf7e168b\"\u003e\u003ccode\u003e19a3547\u003c/code\u003e\u003c/a\u003e Strip darwin C-ext to remove paths to C files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5e2ac6e14589f8698f127be080e94e93151552fc\"\u003e\u003ccode\u003e5e2ac6e\u003c/code\u003e\u003c/a\u003e Temporary enable head version of rake-compiler-dock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/70551b94eab64bcfd879d91382b216224d2394b5\"\u003e\u003ccode\u003e70551b9\u003c/code\u003e\u003c/a\u003e Add spec/pg_spec.rb to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/35b2704fc79aca22488251b1910d3b8e6be6f83e\"\u003e\u003ccode\u003e35b2704\u003c/code\u003e\u003c/a\u003e Add tests for rpath or other build related paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.5.9...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dalli` from 3.2.3 to 3.2.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md\"\u003edalli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.8\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle IO::TimeoutError when establishing connection (eugeneius)\u003c/li\u003e\n\u003cli\u003eDrop dependency on base64 gem (Earlopain)\u003c/li\u003e\n\u003cli\u003eAddress incompatibility with resolv-replace (y9v)\u003c/li\u003e\n\u003cli\u003eAdd rubygems.org metadata (m-nakamura145)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cascading error when there's an underlying network error in a pipelined get (eugeneius)\u003c/li\u003e\n\u003cli\u003eRuby 3.4/head compatibility by adding base64 to gemspec (tagliala)\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI (m-nakamura145)\u003c/li\u003e\n\u003cli\u003eUse Socket's connect_timeout when available, and pass timeout to the socket's send and receive timeouts (mlarraz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRescue IO::TimeoutError raised by Ruby since 3.2.0 on blocking reads/writes (skaes)\u003c/li\u003e\n\u003cli\u003eFix rubydoc link (JuanitoFatas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle memcached requests being interrupted by Thread#raise or Thread#kill (byroot)\u003c/li\u003e\n\u003cli\u003eUnexpected errors are no longer treated as \u003ccode\u003eDalli::NetworkError\u003c/code\u003e, including errors raised by \u003ccode\u003eTimeout.timeout\u003c/code\u003e (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eCache PID calls for performance since glibc no longer caches in recent versions (byroot)\u003c/li\u003e\n\u003cli\u003ePreallocate the read buffer in Socket#readfull (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/67942b8db6ba8ae9c39e30d9c0c63fb1525586b3\"\u003e\u003ccode\u003e67942b8\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.8 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/995\"\u003e#995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/23bc51f712314a5b8179c94ed59ba1545139c99e\"\u003e\u003ccode\u003e23bc51f\u003c/code\u003e\u003c/a\u003e Handle IO::TimeoutError when establishing connection (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4baeb3431edb46b5a1d0449432802dc214bb1a67\"\u003e\u003ccode\u003e4baeb34\u003c/code\u003e\u003c/a\u003e Bump the tested memcached version to 1.6.23 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/d5ad58f939af7ef765412f3820aace7399b68753\"\u003e\u003ccode\u003ed5ad58f\u003c/code\u003e\u003c/a\u003e Move check whether TCPSocket was patched to TCP.open (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/bec0440a9c4c040d2f564256abddd7e6a6604123\"\u003e\u003ccode\u003ebec0440\u003c/code\u003e\u003c/a\u003e Fix conflict with resolv-replace gem (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c5aea2200388c530b457485c96d22098e67e17d5\"\u003e\u003ccode\u003ec5aea22\u003c/code\u003e\u003c/a\u003e Add metadata for rubygems.org (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c409a07dc960b11595b329b6245b12b7be6d2dd7\"\u003e\u003ccode\u003ec409a07\u003c/code\u003e\u003c/a\u003e Drop dependency on base64 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4c4a5a2354707604456f6f1bf08d020f1909b49e\"\u003e\u003ccode\u003e4c4a5a2\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.7 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/fa641192072fd3852053f01e65853af95bc0b8d0\"\u003e\u003ccode\u003efa64119\u003c/code\u003e\u003c/a\u003e Don't reconnect to send pipelined request no-op (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/22dd9ce54dfe497c69244e7aa5fe2ba6ad4ac327\"\u003e\u003ccode\u003e22dd9ce\u003c/code\u003e\u003c/a\u003e Fix a test lint (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petergoldstein/dalli/compare/v3.2.3...v3.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `carrierwave` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/releases\"\u003ecarrierwave's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/blob/master/CHANGELOG.md\"\u003ecarrierwave's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2 - 2025-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/commit/8e5db8cb0b01b1d06b95d46fedf2e0c2a445a0e9\"\u003e\u003ccode\u003e8e5db8c\u003c/code\u003e\u003c/a\u003e Version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e\u003ccode\u003e7b2ce50\u003c/code\u003e\u003c/a\u003e Fix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, `##...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/9001ab7478dae07f99ef9a686d6d42e118a66336\"\u003e\u003ccode\u003e9001ab7\u003c/code\u003e\u003c/a\u003e Fix specs breaking with MiniMagick 5.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/compare/v3.1.1...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mini_magick` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minimagick/minimagick/releases\"\u003emini_magick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eMiniMagick.cli_prefix\u003c/code\u003e being mutated when set to an array.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eActually require Ruby 2.5+ in the gemspec.\u003c/li\u003e\n\u003cli\u003eFix Ruby 2.5 compatibility when using \u003ccode\u003eMiniMagick.restricted_env\u003c/code\u003e configuration.\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ebenchmark\u003c/code\u003e dependency.\u003c/li\u003e\n\u003cli\u003eFix keyword argument forwarding when trying to call \u003ccode\u003eMiniMagick.compare(errors: false)\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/minimagick/minimagick/commit/ddcbfe9632667876be10373e1e01252617e74057\"\u003e\u003ccode\u003eddcbfe9\u003c/code\u003e\u003c/a\u003e Bump to 5.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed5897b54fbfd0fc21b04187e78915f4f5e3acc3\"\u003e\u003ccode\u003eed5897b\u003c/code\u003e\u003c/a\u003e Simplify spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/862ffbbb4435a9363b179397ba02d4be1d1c7751\"\u003e\u003ccode\u003e862ffbb\u003c/code\u003e\u003c/a\u003e Fix configured cli_prefix being muated (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c53b8bb72b9885117d54e375bf33b6ec5641271a\"\u003e\u003ccode\u003ec53b8bb\u003c/code\u003e\u003c/a\u003e Bump to 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/eda3dde138f37ca4ef2de75b0abeda31ee915d2b\"\u003e\u003ccode\u003eeda3dde\u003c/code\u003e\u003c/a\u003e Bump ruby 2.5+ requirement in the gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed928b18107793cd144a681180f9c79e59d6b8cd\"\u003e\u003ccode\u003eed928b1\u003c/code\u003e\u003c/a\u003e Add spec for the keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/6de850ace3bb7a9d64f6d1d5804c4cad7ac5b3b2\"\u003e\u003ccode\u003e6de850a\u003c/code\u003e\u003c/a\u003e Try using ENV.to_h for compatibility with Ruby 2.5 (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c1b2e2c054210fcad2e8e26ce2e70ac76acddd27\"\u003e\u003ccode\u003ec1b2e2c\u003c/code\u003e\u003c/a\u003e Fix option forwarding in MiniMagick::Tool.new (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/dfd3de02c4482679cf7f0993dc368cbba413e7da\"\u003e\u003ccode\u003edfd3de0\u003c/code\u003e\u003c/a\u003e Fix typo in README: change tmdir to tmpdir in configuration example (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/23239db1263f96b1b96f62c67250afe16507b2ac\"\u003e\u003ccode\u003e23239db\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ebenchmark\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minimagick/minimagick/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.21.0 to 0.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd changelog_uri metadata to gemspec by \u003ca href=\"https://github.com/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix multipart with files in binary mode and fields including non-ASCII characters by \u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\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/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd foul option to class level \u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003ehttps://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew: foul mode to rescue all common network errors:  \u003ca href=\"https://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\"\u003ehttps://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: replace master branch to main for better view by \u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\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/ashishra0\"\u003e\u003ccode\u003e@​ashishra0\u003c/code\u003e\u003c/a\u003e made their first contribution with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in example name by \u003ca href=\"https://github.com/xymbol\"\u003e\u003ccode\u003e@​xymbol\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/CommitChange/houdini/pull/1308","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommitChange%2Fhoudini/issues/1308","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1308/packages"},{"uuid":"3588710671","node_id":"PR_kwDOIHBa6c6xiAzq","number":39,"state":"open","title":"Bump the bundler group across 1 directory with 10 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-05T01:34:33.000Z","updated_at":"2025-11-05T01:34:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":10,"packages":[{"name":"puma","old_version":"5.6.5","new_version":"5.6.9","repository_url":"https://github.com/puma/puma"},{"name":"sidekiq","old_version":"6.4.1","new_version":"6.5.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"fugit","old_version":"1.4.2","new_version":"1.11.1","repository_url":"https://github.com/floraison/fugit"},{"name":"globalid","old_version":"0.4.2","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"loofah","old_version":"2.18.0","new_version":"2.19.1","repository_url":"https://github.com/flavorjones/loofah"},{"name":"rails-html-sanitizer","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/rails/rails-html-sanitizer"},{"name":"rexml","old_version":"3.2.5","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"yard","old_version":"0.9.34","new_version":"0.9.36","repository_url":"https://github.com/lsegal/yard"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [puma](https://github.com/puma/puma) | `5.6.5` | `5.6.9` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `6.4.1` | `6.5.10` |\n| [fugit](https://github.com/floraison/fugit) | `1.4.2` | `1.11.1` |\n| [globalid](https://github.com/rails/globalid) | `0.4.2` | `1.0.1` |\n| [loofah](https://github.com/flavorjones/loofah) | `2.18.0` | `2.19.1` |\n| [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) | `1.4.3` | `1.4.4` |\n| [rexml](https://github.com/ruby/rexml) | `3.2.5` | `3.4.2` |\n| [yard](https://github.com/lsegal/yard) | `0.9.34` | `0.9.36` |\n\n\nUpdates `puma` from 5.6.5 to 5.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.7\u003c/h2\u003e\n\u003cp\u003eSecurity\nAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.9 / 2024-09-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eDiscards any headers using underscores if the non-underscore version also exists. Without this, an attacker could overwrite values set by intermediate proxies (e.g. X-Forwarded-For). (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-9hf4-67fc-4vf4\"\u003eCVE-2024-45614\u003c/a\u003e/GHSA-9hf4-67fc-4vf4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eJRuby\n\u003cul\u003e\n\u003cli\u003eMust use at least Java \u0026gt;= 9 to compile. You can no longer build from source on Java 8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.8 / 2024-01-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eLimit the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-c2f4-cvqm-65w2\"\u003eGHSA-c2f4-cvqm-65w2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.7 / 2023-08-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.6 / 2023-06-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix\n\u003cul\u003e\n\u003cli\u003ePrevent loading with rack 3 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3166\"\u003e#3166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f196b23be24712fb8fb16051cc124798cc84f70e\"\u003e\u003ccode\u003ef196b23\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/24eec19bace045a4cbd43362e17964de90044e32\"\u003e\u003ccode\u003e24eec19\u003c/code\u003e\u003c/a\u003e 5.6.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3c8e8b036d36158a324ec34cfb29905cc578478b\"\u003e\u003ccode\u003e3c8e8b0\u003c/code\u003e\u003c/a\u003e 5.6.9 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/129357322e837e7d99c25c9cd71d36ecb4f9540b\"\u003e\u003ccode\u003e1293573\u003c/code\u003e\u003c/a\u003e 5.6.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/bbb880ffb6debbfdea535b4b3eb2204d49ae151d\"\u003e\u003ccode\u003ebbb880f\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-c2f4-cvqm-65w2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/78393bf2c58bf293860fa9cdc73938ac58c18afb\"\u003e\u003ccode\u003e78393bf\u003c/code\u003e\u003c/a\u003e 5.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7405a219801dcebc0ad6e0aa108d4319ca23f662\"\u003e\u003ccode\u003e7405a21\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-68xg-gqqm-vgj8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d33424b560eab163d8869d90341d57795d63bb99\"\u003e\u003ccode\u003ed33424b\u003c/code\u003e\u003c/a\u003e 5.6.7 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f8c7b235f971ed6b290cc4733fe7bce840037ede\"\u003e\u003ccode\u003ef8c7b23\u003c/code\u003e\u003c/a\u003e 5.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08af1b5d797ab49f9d594a71f0c1f88bbff7915a\"\u003e\u003ccode\u003e08af1b5\u003c/code\u003e\u003c/a\u003e 5.6.6 release note\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v5.6.5...v5.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 6.4.1 to 6.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSidekiq Changes\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003eSidekiq Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Pro-Changes.md\"\u003eSidekiq Pro Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Ent-Changes.md\"\u003eSidekiq Enterprise Changes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ediscarded_at\u003c/code\u003e attribute when discarding a job so death handlers can distinguish between\na job which was killed and one that was discarded. [#6820, gstokkink]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts an \u003ccode\u003e:at\u003c/code\u003e array of times to schedule each job at the corresponding time.\n\u003ccode\u003eperform_bulk(args: [[1], [2]], at: [Time.now, Time.now + 1])\u003c/code\u003e [#6790, fatkodima]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts a \u003ccode\u003e:spread_interval\u003c/code\u003e value to schedule jobs over\nthe next N seconds. \u003ccode\u003eperform_bulk(..., spread_interval: 60)\u003c/code\u003e [#6792, fatkodima]\u003c/li\u003e\n\u003cli\u003eFix unintended display of flash messages in the Web UI due to session key collision\u003c/li\u003e\n\u003cli\u003eAdd support for lazy load hooks \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6825\"\u003e#6825\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:discard\u003c/code\u003e option for \u003ccode\u003esidekiq_retries_exhausted\u003c/code\u003e and \u003ccode\u003esidekiq_retry_in\u003c/code\u003e\nnow calls death handlers, otherwise it could break other Sidekiq\nfunctionality. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a Plain log formatter which does not colorize output \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6778\"\u003e#6778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJob iteration now exposes \u003ccode\u003ecurrent_object\u003c/code\u003e for easy access within the \u003ccode\u003earound_iteration\u003c/code\u003e callback \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6774\"\u003e#6774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix JS race condition which could skip confirmation dialogs when Live Polling \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6768\"\u003e#6768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge case which could lose CurrentAttributes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6767\"\u003e#6767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate UK locale \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6776\"\u003e#6776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.6\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/sidekiq/sidekiq/commit/f67a7abccffc9337f144e7be96bb1ed4b0fee49a\"\u003e\u003ccode\u003ef67a7ab\u003c/code\u003e\u003c/a\u003e Cherry pick:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/101435c5a73095ca62b610d5d6456e7e5dc7f81a\"\u003e\u003ccode\u003e101435c\u003c/code\u003e\u003c/a\u003e Merge 62c90d7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/022c059c7b417d24cf1f892fa71f8e98d19ca93f\"\u003e\u003ccode\u003e022c059\u003c/code\u003e\u003c/a\u003e bump, prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fa6723e20131f6d8ca990fc44ca056a351376f2e\"\u003e\u003ccode\u003efa6723e\u003c/code\u003e\u003c/a\u003e formatting, ensure environment is updated in Sidekiq.options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/ad0f13cac5138b891d54ef2f2df3460d5151e34c\"\u003e\u003ccode\u003ead0f13c\u003c/code\u003e\u003c/a\u003e prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7ed013e12bff33a3666911e21ba40039e56b932b\"\u003e\u003ccode\u003e7ed013e\u003c/code\u003e\u003c/a\u003e Fail if bad scout_apm detected, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5616\"\u003e#5616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2ff44747e6033c01c4524f2f242c689adc08f6c9\"\u003e\u003ccode\u003e2ff4474\u003c/code\u003e\u003c/a\u003e Fix natural sorting for processes (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5587\"\u003e#5587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0588cafc88f3566347bb943ac09c6c23fadc8018\"\u003e\u003ccode\u003e0588caf\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7037533e8f39cc1d3c1e305140da7667c6efe38f\"\u003e\u003ccode\u003e7037533\u003c/code\u003e\u003c/a\u003e Speedup iterating over \u003ccode\u003eWorkSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5559\"\u003e#5559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/d424e453282314ea25f484739c72697b5a4d8f82\"\u003e\u003ccode\u003ed424e45\u003c/code\u003e\u003c/a\u003e Add pagination to \u0026quot;Busy\u0026quot; page (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5556\"\u003e#5556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v6.4.1...v6.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fugit` from 1.4.2 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/floraison/fugit/blob/master/CHANGELOG.md\"\u003efugit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003efugit 1.11.1 released 2024-08-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent nat parsing chocking on long input (\u0026gt; 256 chars), \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.11.0 released 2024-04-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e ban on \u003ccode\u003eevery 27 hours\u003c/code\u003e / \u003ccode\u003e* */27 * * *\u003c/code\u003e for \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/103\"\u003egh-103\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.1 released 2024-02-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix on Ruby 2.2.6 thanks to \u003ca href=\"https://github.com/aunghtain\"\u003e\u003ccode\u003e@​aunghtain\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/93\"\u003egh-93\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.0 released 2024-02-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_start, time_end)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_range)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement iterator-returning \u003ccode\u003eFugit::Cron#next\u003c/code\u003e and \u003ccode\u003e#prev\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.9.0 released 2023-10-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLet nat parse \u0026quot;last\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/88\"\u003egh-88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange that I am not sure about, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.1 released 2023-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix for month subtraction, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/84\"\u003egh-84\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix duration - time, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/85\"\u003egh-85\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.0 released 2022-12-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce Fugit.parse_cronish and .do_parse_cronish, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/70\"\u003egh-70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.2 released 2022-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 'every day at 12:15 am', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 'every day at 5:00pm', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.1 released 2022-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange behaviour for \u0026quot;0 0/5 * * *\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/79\"\u003egh-79\u003c/a\u003e\ngo \u0026quot;every 5h start hour 0\u0026quot;, previous behaviour only triggered at hour 0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/228b53ded4be3d86412b6dd62c831a7a459d9ef4\"\u003e\u003ccode\u003e228b53d\u003c/code\u003e\u003c/a\u003e Release 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a0ec276bf56cb7913411bf0d6e05c67947e7be8\"\u003e\u003ccode\u003e2a0ec27\u003c/code\u003e\u003c/a\u003e Upgrade Ruby test matrix versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/ad2c1c9c737213d585fff0b51c927d178b2c05a5\"\u003e\u003ccode\u003ead2c1c9\u003c/code\u003e\u003c/a\u003e Lower time expectations for labby rubies, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/767ef550281bcdc8782233840f98cf8487340476\"\u003e\u003ccode\u003e767ef55\u003c/code\u003e\u003c/a\u003e Add spec for Fugit.parse() and .do_parse, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/025ad7bb76590d3360750d5617b235a23908e5bb\"\u003e\u003ccode\u003e025ad7b\u003c/code\u003e\u003c/a\u003e Bring in spec helpers from raabro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a9a262873450eaf5671747f846a6ec1e5f7d87c1\"\u003e\u003ccode\u003ea9a2628\u003c/code\u003e\u003c/a\u003e Add Fugit::Nat.parse() spec input len \u0026gt; 256 \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a11805444d9ed036ee8570b88cd2b6df450ee84\"\u003e\u003ccode\u003e2a11805\u003c/code\u003e\u003c/a\u003e Add note about nat 256 char limit, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/6a7527497c0bb9196efe503e3d9b5271128a8ee1\"\u003e\u003ccode\u003e6a75274\u003c/code\u003e\u003c/a\u003e Peg Fugit::Nat.parse(s) at 256 chars, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/d2f6cf393716aabe0facb7132d89cfdb8044d240\"\u003e\u003ccode\u003ed2f6cf3\u003c/code\u003e\u003c/a\u003e Prepare 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a172e7b7fece69fbeda40d952ec186cb83339fec\"\u003e\u003ccode\u003ea172e7b\u003c/code\u003e\u003c/a\u003e Release 1.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/floraison/fugit/compare/v1.4.2...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 0.4.2 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\u003c/p\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003cp\u003eStable API release.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eThe code is the same as the 0.6.0 release.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eActiveRecord::FixtureSet.signed_global_id\u003c/code\u003e helper to generate signed ids inside fixtures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd back Ruby 2.5 support so \u003ccode\u003egem install rails\u003c/code\u003e works out of the box, thereby satisfying Rails' Ruby version requirement. See \u003ca href=\"https://redirect.github.com/rails/rails/issues/42931\"\u003erails/rails#42931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Allow expiration to be turned off globally \u003ca href=\"https://redirect.github.com/rails/globalid/pull/128\"\u003erails/globalid#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed: Support for ruby-head \u003ca href=\"https://redirect.github.com/rails/globalid/pull/132\"\u003erails/globalid#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMaintainance: Drop support for EOL'ed Rubies (\u0026lt; 2.6.0) and Rails 4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42f5ea6b4c638024c8865c1e4a4dbeb991198557\"\u003e\u003ccode\u003e42f5ea6\u003c/code\u003e\u003c/a\u003e Prepare for 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/beab3e4bc7d3fe1af27367de6c90b4d31618ed44\"\u003e\u003ccode\u003ebeab3e4\u003c/code\u003e\u003c/a\u003e Prepare to 0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/29e12cb85d3432872985ad7cef20316ca80f5b2f\"\u003e\u003ccode\u003e29e12cb\u003c/code\u003e\u003c/a\u003e Upgrade all development gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c894a430d42b4f6351903bcff30f7e52bf95b364\"\u003e\u003ccode\u003ec894a43\u003c/code\u003e\u003c/a\u003e Add devcontainer to allow contributors to have a working environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b3ec8b9314555dede5b865ea7ad30c421bddbaea\"\u003e\u003ccode\u003eb3ec8b9\u003c/code\u003e\u003c/a\u003e Move ActiveRecord::FixtureSet.signed_global_id to this gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/e9d6ed993c88558cc4901e084304dee140704c4b\"\u003e\u003ccode\u003ee9d6ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/137\"\u003e#137\u003c/a\u003e from rails/dependabot/bundler/nokogiri-1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a565d31d602cb32b32c02bcbb36d91bcf2b0c735\"\u003e\u003ccode\u003ea565d31\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.11.7 to 1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9b1a4d21fed3c22cf9df0986ad087d1dadc42b4b\"\u003e\u003ccode\u003e9b1a4d2\u003c/code\u003e\u003c/a\u003e Why u no love me?\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v0.4.2...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `loofah` from 2.18.0 to 2.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/flavorjones/loofah/releases\"\u003eloofah's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/blob/main/CHANGELOG.md\"\u003eloofah's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/commit/3f8806300089135f7832a59aa2689a6674d37897\"\u003e\u003ccode\u003e3f88063\u003c/code\u003e\u003c/a\u003e version bump to v2.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/9a8dadbcfd94a0bfc3cd0413b8a7d9efee00a5c8\"\u003e\u003ccode\u003e9a8dadb\u003c/code\u003e\u003c/a\u003e docs: preserve the context and decision record\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/86f7f6364491b0099d215db858ecdc0c89ded040\"\u003e\u003ccode\u003e86f7f63\u003c/code\u003e\u003c/a\u003e fix: replace recursive approach to cdata with escaping solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/415677f3cf7f9254f42f811e784985cd63c7407f\"\u003e\u003ccode\u003e415677f\u003c/code\u003e\u003c/a\u003e fix: do not allow \u0026quot;image/svg+xml\u0026quot; in data URIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/84ca20c58a0e8addf08a2cfc8b6fca4d7d10f033\"\u003e\u003ccode\u003e84ca20c\u003c/code\u003e\u003c/a\u003e refactor: extract scrub_uri_attribute for downstream use\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/47a835afbfffcb8c51c17ce50b5171c823c51b57\"\u003e\u003ccode\u003e47a835a\u003c/code\u003e\u003c/a\u003e ci: pin psych to v4 until v5 builds properly on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/a6e0a1ab90675a17b1b2be189129d94139e4b143\"\u003e\u003ccode\u003ea6e0a1a\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with crass parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/ea853aaa8d3aa3ebeebe6029877bbbe582aee140\"\u003e\u003ccode\u003eea853aa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/247\"\u003e#247\u003c/a\u003e from flavorjones/flavorjones-downstream-test-rhs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/e1f2a4b15c5a611780f93d87544f91365c4a02dd\"\u003e\u003ccode\u003ee1f2a4b\u003c/code\u003e\u003c/a\u003e ci: test downstream rails-html-sanitizer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/79d65a0e8b042847240e355dbdfd0f43ccda7647\"\u003e\u003ccode\u003e79d65a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/245\"\u003e#245\u003c/a\u003e from flavorjones/flavorjones-fix-ruby-2.5-ci\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.18.0...v2.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.14.3 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.14.3...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.4 to 2.2.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.21] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.20] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/851dc02672eca361a48e5a097818aa3cec1d3206\"\u003e\u003ccode\u003e851dc02\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/1e6aeda3d08a5cefd9cf3be4bbef304c2b75aa9c\"\u003e\u003ccode\u003e1e6aeda\u003c/code\u003e\u003c/a\u003e Allow Multipart head to span read boundary. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2392\"\u003e#2392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/6ef591522bb44f80654ad1a80654ba46cafdc7c1\"\u003e\u003ccode\u003e6ef5915\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4e2c903991a790ee211a3021808ff4fd6fe82881\"\u003e\u003ccode\u003e4e2c903\u003c/code\u003e\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fba2c8bc63eb787ff4b19bc612d315fda6126d85\"\u003e\u003ccode\u003efba2c8b\u003c/code\u003e\u003c/a\u003e Improper handling of proxy headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ed3d8340d1a7955332b51e74c1075ef3547c09dd\"\u003e\u003ccode\u003eed3d834\u003c/code\u003e\u003c/a\u003e Normalize adivsories links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/2.2.4...v2.2.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails-html-sanitizer` from 1.4.3 to 1.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/releases\"\u003erails-html-sanitizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md\"\u003erails-html-sanitizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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-html-sanitizer/commit/fd63deaeb22e601237d4d4d12014e7ebd410ea9b\"\u003e\u003ccode\u003efd63dea\u003c/code\u003e\u003c/a\u003e version bump to v1.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/48ae90acfce9cacbd7cec9963498f6a7b5bc3d5c\"\u003e\u003ccode\u003e48ae90a\u003c/code\u003e\u003c/a\u003e dep: bump dependency on loofah\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/0713caf2ee23801cfb85e37065cf406368b20082\"\u003e\u003ccode\u003e0713caf\u003c/code\u003e\u003c/a\u003e fix: escape CDATA nodes using Loofah's escaping methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/e6d52d3b6db99d07399498b1287997302d444a8d\"\u003e\u003ccode\u003ee6d52d3\u003c/code\u003e\u003c/a\u003e revert 45a5c10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/d1223a29cb3e4151cdcb6ba6c8431708d8ce40a6\"\u003e\u003ccode\u003ed1223a2\u003c/code\u003e\u003c/a\u003e fix: use Loofah's scrub_uri_attribute method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/f0e33477a0557dbdbefc3e470c7df3a64efb002a\"\u003e\u003ccode\u003ef0e3347\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with Loofah method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/df03f2f600cafff3e349b1ec48b730c43b381b65\"\u003e\u003ccode\u003edf03f2f\u003c/code\u003e\u003c/a\u003e ci: pin system lib test to 20.04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3e2a0f39f8ede1368436580e1ba02f9e08585858\"\u003e\u003ccode\u003e3e2a0f3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/145\"\u003e#145\u003c/a\u003e from rails/flavorjones-get-14x-green\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/11752a6427283e8a836608cd1d3ba27b6fb97f78\"\u003e\u003ccode\u003e11752a6\u003c/code\u003e\u003c/a\u003e tests: handle libxml 2.10.0 incorrectly-opened comment parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails-html-sanitizer/compare/v1.4.3...v1.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.2.5 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.2.5...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yard` from 0.9.34 to 0.9.36\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lsegal/yard/releases\"\u003eyard's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.9.36\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFurther XSS fixes for generated frameset pages (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove tests for Ruby 3.3 compatibility (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation improvements (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.35\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible XSS on generated YARD frameset pages (thanks to \u003ca href=\"https://github.com/RedYetiDev\"\u003e\u003ccode\u003e@​RedYetiDev\u003c/code\u003e\u003c/a\u003e for finding and patching) (2069e2b).\u003c/li\u003e\n\u003cli\u003eFix errors when using \u003ccode\u003e@option\u003c/code\u003e on non-method objects (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Ruby 3.3 changes in Ripper parser (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1510\"\u003e#1510\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/lsegal/yard/blob/main/CHANGELOG.md\"\u003eyard's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/lsegal/yard/compare/v0.9.35...v0.9.36\"\u003e0.9.36\u003c/a\u003e - February 29th, 2024\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFurther XSS fixes for generated frameset pages (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove tests for Ruby 3.3 compatibility (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation improvements (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/lsegal/yard/compare/v0.9.34...v0.9.35\"\u003e0.9.35\u003c/a\u003e - February 28th, 2024\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible XSS on generated YARD frameset pages (thanks to \u003ca href=\"https://github.com/RedYetiDev\"\u003e\u003ccode\u003e@​RedYetiDev\u003c/code\u003e\u003c/a\u003e for finding and patching) (2069e2b).\u003c/li\u003e\n\u003cli\u003eFix errors when using \u003ccode\u003e@option\u003c/code\u003e on non-method objects (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Ruby 3.3 changes in Ripper parser (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1510\"\u003e#1510\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/lsegal/yard/commit/e833aac7a01510245dd4ae1d1d18b046c8293c2d\"\u003e\u003ccode\u003ee833aac\u003c/code\u003e\u003c/a\u003e Tag release v0.9.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/1fcb2d8b316caf8779cfdcf910715e9ab583f0aa\"\u003e\u003ccode\u003e1fcb2d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e from RedYetiDev/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/a831a596b2a7cabdd2e17855dd179af2ebf3d559\"\u003e\u003ccode\u003ea831a59\u003c/code\u003e\u003c/a\u003e Fix semicolon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/2a0b9990b64ceeeb0456177c593e36e204a06df1\"\u003e\u003ccode\u003e2a0b999\u003c/code\u003e\u003c/a\u003e assign url_for_main to a variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/305901723e75bb8027a656aef8888557c1d1488b\"\u003e\u003ccode\u003e3059017\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e from mtasaka/ruby33_test_fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/c88406e4b78f8dd4ba38c79eea0bcec716dbbef8\"\u003e\u003ccode\u003ec88406e\u003c/code\u003e\u003c/a\u003e Update frames.erb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/7cb3fc5b3e1c71dcc368f4a25a5acd0674e44b48\"\u003e\u003ccode\u003e7cb3fc5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e from frsantos/fix_tuple_docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/04e4c9a2fa770768a7eb724030cc6e434fdbd0ce\"\u003e\u003ccode\u003e04e4c9a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e from rafaelfranca/rm-ruby-3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/ebf5005e282475d51732eca16e9a2d9f1e769941\"\u003e\u003ccode\u003eebf5005\u003c/code\u003e\u003c/a\u003e Tag release v0.9.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/62e18b472beb0c7245ed52fee2993ab7477c49ab\"\u003e\u003ccode\u003e62e18b4\u003c/code\u003e\u003c/a\u003e Prepare changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lsegal/yard/compare/v0.9.34...v0.9.36\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Centaurioun/texterify/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Centaurioun/texterify/pull/39","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centaurioun%2Ftexterify/issues/39","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39/packages"},{"uuid":"3580303396","node_id":"PR_kwDOCB6Cus6xGLE4","number":1303,"state":"open","title":"Bump the production-dependencies-minor group across 1 directory with 30 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-03T02:11:12.000Z","updated_at":"2025-11-17T02:13:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies-minor","update_count":30,"packages":[{"name":"rake","old_version":"13.2.1","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rails","old_version":"7.1.5.2","new_version":"7.1.6","repository_url":"https://github.com/rails/rails"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.18.6","repository_url":"https://github.com/Shopify/bootsnap"},{"name":"test-unit","old_version":"3.2.7","new_version":"3.7.0","repository_url":"https://github.com/test-unit/test-unit"},{"name":"aws-sdk-s3","old_version":"1.113.0","new_version":"1.202.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"json","old_version":"2.12.2","new_version":"2.15.2","repository_url":"https://github.com/ruby/json"},{"name":"rack-attack","old_version":"6.5.0","new_version":"6.8.0","repository_url":"https://github.com/rack/rack-attack"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"dalli","old_version":"3.2.3","new_version":"3.2.8","repository_url":"https://github.com/petergoldstein/dalli"},{"name":"carrierwave","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/carrierwaveuploader/carrierwave"},{"name":"mini_magick","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/minimagick/minimagick"},{"name":"httparty","old_version":"0.21.0","new_version":"0.23.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"devise-two-factor","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/tinfoil/devise-two-factor"},{"name":"geocoder","old_version":"1.6.1","new_version":"1.8.6","repository_url":"https://github.com/alexreisner/geocoder"},{"name":"table_print","old_version":"1.5.4","new_version":"1.5.7","repository_url":"https://github.com/arches/table_print"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"csv","old_version":"3.3.4","new_version":"3.3.5","repository_url":"https://github.com/ruby/csv"},{"name":"maintenance_tasks","old_version":"2.12.0","new_version":"2.13.0","repository_url":"https://github.com/Shopify/maintenance_tasks"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"rails-autoscale-web","old_version":"1.11.1","new_version":"1.12.1","repository_url":"https://github.com/judoscale/judoscale-ruby"},{"name":"lograge","old_version":"0.3.6","new_version":"0.14.0","repository_url":"https://github.com/roidrage/lograge"},{"name":"recaptcha","old_version":"5.19.0","new_version":"5.21.1","repository_url":"https://github.com/ambethia/recaptcha"},{"name":"connection_pool","old_version":"2.5.3","new_version":"2.5.4","repository_url":"https://github.com/mperham/connection_pool"},{"name":"barnes","old_version":"0.0.8","new_version":"0.0.9","repository_url":"https://github.com/heroku/barnes"},{"name":"has_scope","old_version":"0.8.2","new_version":"0.9.0","repository_url":"https://github.com/heartcombo/has_scope"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"js-routes","old_version":"2.2.7","new_version":"2.3.5","repository_url":"https://github.com/railsware/js-routes"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies-minor group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rake](https://github.com/ruby/rake) | `13.2.1` | `13.3.1` |\n| [rails](https://github.com/rails/rails) | `7.1.5.2` | `7.1.6` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [bootsnap](https://github.com/Shopify/bootsnap) | `1.18.4` | `1.18.6` |\n| [test-unit](https://github.com/test-unit/test-unit) | `3.2.7` | `3.7.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.113.0` | `1.202.0` |\n| [json](https://github.com/ruby/json) | `2.12.2` | `2.15.2` |\n| [rack-attack](https://github.com/rack/rack-attack) | `6.5.0` | `6.8.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [dalli](https://github.com/petergoldstein/dalli) | `3.2.3` | `3.2.8` |\n| [carrierwave](https://github.com/carrierwaveuploader/carrierwave) | `3.1.1` | `3.1.2` |\n| [mini_magick](https://github.com/minimagick/minimagick) | `5.2.0` | `5.3.1` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.21.0` | `0.23.2` |\n| [devise-two-factor](https://github.com/tinfoil/devise-two-factor) | `6.1.0` | `6.2.0` |\n| [geocoder](https://github.com/alexreisner/geocoder) | `1.6.1` | `1.8.6` |\n| [table_print](https://github.com/arches/table_print) | `1.5.4` | `1.5.7` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [csv](https://github.com/ruby/csv) | `3.3.4` | `3.3.5` |\n| [maintenance_tasks](https://github.com/Shopify/maintenance_tasks) | `2.12.0` | `2.13.0` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [rails-autoscale-web](https://github.com/judoscale/judoscale-ruby) | `1.11.1` | `1.12.1` |\n| [lograge](https://github.com/roidrage/lograge) | `0.3.6` | `0.14.0` |\n| [recaptcha](https://github.com/ambethia/recaptcha) | `5.19.0` | `5.21.1` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.3` | `2.5.4` |\n| [barnes](https://github.com/heroku/barnes) | `0.0.8` | `0.0.9` |\n| [has_scope](https://github.com/heartcombo/has_scope) | `0.8.2` | `0.9.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [js-routes](https://github.com/railsware/js-routes) | `2.2.7` | `2.3.5` |\n\n\nUpdates `rake` from 13.2.1 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.2.1...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 7.1.5.2 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\"\u003erails'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/10a0f90fd21addbe480287116fe3e9fe7ff6bef4\"\u003e\u003ccode\u003e10a0f90\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/4df996b7a074737d882b61786160e82127789fff\"\u003e\u003ccode\u003e4df996b\u003c/code\u003e\u003c/a\u003e Sync changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/310c904351226378e0abbcf47a15c0d68e578883\"\u003e\u003ccode\u003e310c904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55570\"\u003e#55570\u003c/a\u003e from zzak/8-0-sidekiq-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c274de0b8b49d848f0a905477e7cd9e82838a46d\"\u003e\u003ccode\u003ec274de0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55747\"\u003e#55747\u003c/a\u003e from skipkayhil/hm-kwzpqqkssmwtsunu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1d82970391205443f7c2d84286448e385cadabba\"\u003e\u003ccode\u003e1d82970\u003c/code\u003e\u003c/a\u003e Add the Action Cable configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8323dd632c7ef03e95e82031117515654f9bde94\"\u003e\u003ccode\u003e8323dd6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54164\"\u003e#54164\u003c/a\u003e from zzak/asto-test-mini_magick-deprecation-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4eb8085a610235e6b44be342b2445ba6a1c6e733\"\u003e\u003ccode\u003e4eb8085\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/d100e466f68f42d841846781167a66966e0901a2\"\u003e\u003ccode\u003ed100e46\u003c/code\u003e\u003c/a\u003e Don't load action cable in the activestorage dummy app\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/91fc9b2cac7e2e0d101e9faece99f1d13d10b9a3\"\u003e\u003ccode\u003e91fc9b2\u003c/code\u003e\u003c/a\u003e Don't load sprockets-rails and propshaft in the same application\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.1.5.2...v7.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.13.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.4 to 1.18.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAttempt to detect a QEMU bug that can cause \u003ccode\u003ebootsnap precompile\u003c/code\u003e to hang forever when building ARM64 docker images\nfrom x86_64 machines. See \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/495\"\u003e#495\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove CLI to detect cgroup CPU limits and avoid spawning too many worker processes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/86efe7df5e3b19b0ba550206a9e03a5c6499d3b0\"\u003e\u003ccode\u003e86efe7d\u003c/code\u003e\u003c/a\u003e Release 1.18.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dc98453267575068a3aac65b8653382acd2f84a7\"\u003e\u003ccode\u003edc98453\u003c/code\u003e\u003c/a\u003e Fix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/11dbc37f60e6575795cd2295a2494a0bd5e488b3\"\u003e\u003ccode\u003e11dbc37\u003c/code\u003e\u003c/a\u003e Release 1.18.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dcd9327587f02f08e8313ff4fc163f04aaaab7e8\"\u003e\u003ccode\u003edcd9327\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/501\"\u003e#501\u003c/a\u003e from Shopify/improve-parallelism\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/abe4ec3aa9d80f2d8b7a3c7d03bf692d39044dce\"\u003e\u003ccode\u003eabe4ec3\u003c/code\u003e\u003c/a\u003e Bump bundler cache on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d603b704ab1b8f14ffe05ba6e7893aef4021fe3f\"\u003e\u003ccode\u003ed603b70\u003c/code\u003e\u003c/a\u003e Attempt to detect QEMU hangs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5e878001382765e0b291d19b9faa6c1dfd88ef84\"\u003e\u003ccode\u003e5e87800\u003c/code\u003e\u003c/a\u003e cli: improve automatic parallelism to respect cgroup limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/0dc269dbf05edad1022cb8e050f9a1e429369077\"\u003e\u003ccode\u003e0dc269d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/499\"\u003e#499\u003c/a\u003e from p8/docs/link-to-official-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5fb9098bd30e5f7bf86e33027c8993fe49b6a5e8\"\u003e\u003ccode\u003e5fb9098\u003c/code\u003e\u003c/a\u003e Link to official Ruby documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/252cf48f6fe56f7854bd1b6bcbc3b6692fc8f8f4\"\u003e\u003ccode\u003e252cf48\u003c/code\u003e\u003c/a\u003e Add config/ dir to precompile example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Shopify/bootsnap/compare/v1.18.4...v1.18.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-unit` from 3.2.7 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-unit/test-unit/releases\"\u003etest-unit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etest-unit 3.7.0 - 2025-07-06\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that \u003ccode\u003eTest::Unit::TestCase\u003c/code\u003e and \u003ccode\u003eTest::Unit::AutoRunner\u003c/code\u003e\naren't loaded when they are redefined by open class before referring\nto these constants.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/320\"\u003eGH-320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003eGH-321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReported by Mamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.9 - 2025-06-29\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edoc: test: Added one-line style to declare \u003ccode\u003eRactor\u003c/code\u003e test.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/261\"\u003eGH-261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003eGH-309\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsed \u003ccode\u003erequire_relative\u003c/code\u003e instead of \u003ccode\u003erequire\u003c/code\u003e for internal library\nfiles.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/311\"\u003eGH-311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003eGH-312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003eGH-313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003eGH-315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003e--version\u003c/code\u003e option.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003eGH-314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by MSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.8 - 2025-04-05\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etest-unit\u003c/code\u003e: Added. You can use this instead of creating a custom\ntest run script.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/288\"\u003eGH-288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/289\"\u003eGH-289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/291\"\u003eGH-291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggested by gemmaro\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated the \u0026quot;how to\u0026quot; document.\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/test-unit/test-unit/commit/c17d7eddc35db7e8bb6bf00954b0cc21a9a69bdc\"\u003e\u003ccode\u003ec17d7ed\u003c/code\u003e\u003c/a\u003e Add 3.7.0 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/84b93a0a8c6f54e8019d4f442dbfd7a1922c105f\"\u003e\u003ccode\u003e84b93a0\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/9335d99ad649771827df8b707578f16d8c863418\"\u003e\u003ccode\u003e9335d99\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/87891d8033f783fdbb3abfe628d4f259499f56b2\"\u003e\u003ccode\u003e87891d8\u003c/code\u003e\u003c/a\u003e Add 3.6.9 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/e837be2488d52e1290126ed9fee7f107a2ce8f6e\"\u003e\u003ccode\u003ee837be2\u003c/code\u003e\u003c/a\u003e test: use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003e#315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/df171bec2b32cee41c92af8471b447db0a29c909\"\u003e\u003ccode\u003edf171be\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--version\u003c/code\u003e cli option (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003e#314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/572b28afa0b387707dcb1229d2b96ba130f95f11\"\u003e\u003ccode\u003e572b28a\u003c/code\u003e\u003c/a\u003e Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/59146583a10c5b97bab54ccf5a6ce7448f67ac61\"\u003e\u003ccode\u003e5914658\u003c/code\u003e\u003c/a\u003e Use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/25ab959b81ce6bcd21c32c13bf972319a852718d\"\u003e\u003ccode\u003e25ab959\u003c/code\u003e\u003c/a\u003e doc: test: add \u003ccode\u003eractor def test_XXX\u003c/code\u003e style (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003e#309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/57454691c14d0f810e3a55d14577ad88727e8f3b\"\u003e\u003ccode\u003e5745469\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/308\"\u003e#308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-unit/test-unit/compare/3.2.7...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.113.0 to 1.202.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart upload to respect \u003ccode\u003erequest_checksum_calculation\u003c/code\u003e \u003ccode\u003ewhen_required\u003c/code\u003e mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.200.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add lightweight thread pool executor for multipart \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add custom executor support for \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.0 (2025-09-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release includes backward compatibility work on the \u0026quot;Expires\u0026quot; parameter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.198.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart \u003ccode\u003edownload_file\u003c/code\u003e to support \u003ccode\u003ePathname\u003c/code\u003e, \u003ccode\u003eFile\u003c/code\u003e and \u003ccode\u003eTempfile\u003c/code\u003e objects as download destinations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.197.0 (2025-08-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - When multipart stream uploader fails to complete multipart upload, it calls abort multipart upload.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - For \u003ccode\u003eAws::S3::Object\u003c/code\u003e class, the following methods have been deprecated: \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e. Use \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e, a S3 transfer utility that provides upload/download capabilities with automatic multipart handling, progress tracking, and handling of large files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.196.1 (2025-08-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Add range validation to multipart download to ensure all parts are successfully processed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.12.2 to 2.15.2\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.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\u003ch2\u003ev2.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\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.0...v2.15.1\"\u003ehttps://github.com/ruby/json/compare/v2.15.0...v2.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\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.14.1...v2.15.0\"\u003ehttps://github.com/ruby/json/compare/v2.14.1...v2.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\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.14.0...v2.14.1\"\u003ehttps://github.com/ruby/json/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-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\u003ch3\u003e2025-10-07 (2.15.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-22 (2.15.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003cli\u003eStop defining \u003ccode\u003eString.json_create\u003c/code\u003e, \u003ccode\u003eString#to_json_raw\u003c/code\u003e, \u003ccode\u003eString#to_json_raw_object\u003c/code\u003e when \u003ccode\u003ejson/add\u003c/code\u003e isn't loaded.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-28 (2.13.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove duplicate key warning and errors to include the key name and point to the right caller.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-24 (2.13.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix support for older compilers without \u003ccode\u003e__builtin_cpu_supports\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-17 (2.13.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e parsing options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\u003c/li\u003e\n\u003cli\u003eOptimize parsing further using SIMD to scan strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/5e61cd7dce7ce8748ee0753cd9ef415424abc248\"\u003e\u003ccode\u003e5e61cd7\u003c/code\u003e\u003c/a\u003e Release 2.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/30969be89aa5eada4e2c1411b1d2154d031d02c1\"\u003e\u003ccode\u003e30969be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/874\"\u003e#874\u003c/a\u003e from byroot/coder-reset-nesting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/aefa671eca2d514bfa685f385c5fa3e1a13305f4\"\u003e\u003ccode\u003eaefa671\u003c/code\u003e\u003c/a\u003e Fix concurrent usage of JSON::Coder#dump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/9e6067bb55d60d893fb95dafa777af880459c7c2\"\u003e\u003ccode\u003e9e6067b\u003c/code\u003e\u003c/a\u003e Release 2.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/1e19097a71bb12ede5a4683581298246f73b9242\"\u003e\u003ccode\u003e1e19097\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/json/issues/872\"\u003e#872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/1b1647fb2cecf848b5c2630782846875a707532e\"\u003e\u003ccode\u003e1b1647f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/eec466d999bb958ef28f1d614bcec277871cb67b\"\u003e\u003ccode\u003eeec466d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/871\"\u003e#871\u003c/a\u003e from tompng/fix_sliced_string_escape\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d7baf015d98c30a71597934508d6728d66752d6c\"\u003e\u003ccode\u003ed7baf01\u003c/code\u003e\u003c/a\u003e Fix sliced string escaping\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d867e393bbbd2c50261e747296c1ceb232ad60bd\"\u003e\u003ccode\u003ed867e39\u003c/code\u003e\u003c/a\u003e Run jruby-head on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ec858510effa1f5ed4c409854f2280c51f1d07bd\"\u003e\u003ccode\u003eec85851\u003c/code\u003e\u003c/a\u003e Fix a typo in the changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.12.2...v2.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack-attack` from 6.5.0 to 6.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/releases\"\u003erack-attack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\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/floehopper\"\u003e\u003ccode\u003e@​floehopper\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/618\"\u003erack/rack-attack#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mttkay\"\u003e\u003ccode\u003e@​mttkay\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/622\"\u003erack/rack-attack#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/625\"\u003erack/rack-attack#625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/629\"\u003erack/rack-attack#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/654\"\u003erack/rack-attack#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fynsta\"\u003e\u003ccode\u003e@​fynsta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/658\"\u003erack/rack-attack#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexsmartens\"\u003e\u003ccode\u003e@​alexsmartens\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/664\"\u003erack/rack-attack#664\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/587\"\u003erack/rack-attack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/612\"\u003erack/rack-attack#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/586\"\u003erack/rack-attack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/614\"\u003erack/rack-attack#614\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/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md\"\u003erack-attack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.8.0] - 2025-10-14\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.7.0] - 2023-07-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/587\"\u003e#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.1] - 2022-04-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes deprecation warning in redis 4.6+ ([\u003ca href=\"https://github.com/ixti\"\u003e\u003ccode\u003e@​ixti\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2022-01-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbility to have access to the \u003ccode\u003erequest\u003c/code\u003e object instead of only \u003ccode\u003eenv\u003c/code\u003e (still can access env with \u003ccode\u003erequest.env\u003c/code\u003e) when\ncustomizing throttle and blocklist responses with new methods \u003ccode\u003eRack::Attack.blocklisted_responder=\u003c/code\u003e and\n\u003ccode\u003eRack::Attack.throttled_responder=\u003c/code\u003e which yield the request to your lambda. ([\u003ca href=\"https://github.com/NikolayRys\"\u003e\u003ccode\u003e@​NikolayRys\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.blocklisted_response=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.throttled_response=\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/rack/rack-attack/commit/65f1ead3bc648b1e972fd8df0078949f056699d9\"\u003e\u003ccode\u003e65f1ead\u003c/code\u003e\u003c/a\u003e Bumps gem version to v6.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e84eaf57cd1cc8541de260326df5d84070011b68\"\u003e\u003ccode\u003ee84eaf5\u003c/code\u003e\u003c/a\u003e Upgrade GHA Runners (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/4606efbe5ec8dfef5ab824fd03797ed67396ecb7\"\u003e\u003ccode\u003e4606efb\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/40d83d1281694c13230a272026f6b291abe84dd0\"\u003e\u003ccode\u003e40d83d1\u003c/code\u003e\u003c/a\u003e Fix GHA Runner (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/1dba6ec133e76e6496c8bc89822b52696d671d46\"\u003e\u003ccode\u003e1dba6ec\u003c/code\u003e\u003c/a\u003e Remove CodeClimate (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/467770882daa6f3865cc207c8b5dfdbc4028d7cb\"\u003e\u003ccode\u003e4677708\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to the CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/87108769f8b4e847f12fbad76d0b6dc98e41bd89\"\u003e\u003ccode\u003e8710876\u003c/code\u003e\u003c/a\u003e Fix CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/86650c4f7ea1af24fe4a89d3040e1309ee8a88bc\"\u003e\u003ccode\u003e86650c4\u003c/code\u003e\u003c/a\u003e Fix reset! when using namespaced cache store (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/8d5b210fcd5b864300e90f70ad12f7a25bd71c03\"\u003e\u003ccode\u003e8d5b210\u003c/code\u003e\u003c/a\u003e Fix wrong merge resolution (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/6db4a73253c78494ce0b9aed8d587bd989bccce4\"\u003e\u003ccode\u003e6db4a73\u003c/code\u003e\u003c/a\u003e Drop Dalli 2 support (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.5.0...v6.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.5.9 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 [2025-09-02] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove several absolute paths from native binaries which pointed to build directories. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/668\"\u003e#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bad fallback path to \u003ccode\u003epg_service.conf\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/666\"\u003e#666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erbpg_\u003c/code\u003e prefix for \u003ccode\u003ebase64_*\u003c/code\u003e functions to avoid name clashes with functions provided by other libraries like Heimdal on Macos. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/667\"\u003e#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise a more descriptive error message in case of \u003ccode\u003epg_ext\u003c/code\u003e LoadError. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/664\"\u003e#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze some constants to make them available in a Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/660\"\u003e#660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral documentation improvements.\u003c/li\u003e\n\u003cli\u003eUpdate native binary gems to OpenSSL-3.5.2, krb5-1.22.1 and PostgreSQL-17.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.1 [2025-08-03] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for platforms \u003ccode\u003eaarch64-linux-musl\u003c/code\u003e and \u003ccode\u003ex86_64-linux-musl\u003c/code\u003e without the need to install package \u003ccode\u003egcompat\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/657\"\u003e#657\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSerialize CompositeCoder#dimensions only when set. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/652\"\u003e#652\u003c/a\u003e\nThis fixes the compatibility to pg-1.5.9, when deserializing Marshal data from pg-1.6, as long as the new attribute isn't used.\u003c/li\u003e\n\u003cli\u003eRemove dependency to MSYS2 package \u0026quot;postgresql\u0026quot; from binary Windows gem \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 [2025-07-27] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby 3.4.\u003c/li\u003e\n\u003cli\u003eAdd fat binary gem for platform \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e aka Windows on ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/626\"\u003e#626\u003c/a\u003e, for platform Macos on Intel and ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/643\"\u003e#643\u003c/a\u003e, for platform \u003ccode\u003eaarch64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/646\"\u003e#646\u003c/a\u003e and for platform \u003ccode\u003ex86_64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/551#issuecomment-2504715762\"\u003e#551\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.5.1 and PostgreSQL-17.5.\u003c/li\u003e\n\u003cli\u003eAdd a patch to libpq to avoid starvation on bigger SSL records, which some database engines other than vanilla PostgreSQL use.\nThis patch applies to platform specific binary gems only.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/616\"\u003e#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new query cancel functions of PostgreSQL-17.\nThis adds the new class \u003ccode\u003ePG::CancelConnection\u003c/code\u003e which provides the ability to cancel a query per blocking or per non-blocking functions.\nIf the new functions are available they are used and the older are no longer compiled in.\nThis way we can get rid of reading out the internal \u003ccode\u003ePGcancel\u003c/code\u003e struct by \u003ccode\u003eConnection#backend_key\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/603\"\u003e#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd possibility to define the number of array dimensions to be encoded.\nSetting dimensions is especially useful, when a Record shall be encoded into an Array, since the Array encoder can not distinguish if the array shall be encoded as a higher dimension or as a record otherwise.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/622\"\u003e#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#set_chunked_rows_mode \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/610\"\u003e#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/611\"\u003e#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MINGW package dependency which is resolved by RubyInstaller.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003econn.server_version\u003c/code\u003e and \u003ccode\u003econn.protocol_version\u003c/code\u003e to raise instead of return 0 on error.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/632\"\u003e#632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix connecting to multiple hosts after \u003ccode\u003econnnect_timeout\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/637\"\u003e#637\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/ged/ruby-pg/commit/c75ed8da19c356b52d83da2627295760780d3d36\"\u003e\u003ccode\u003ec75ed8d\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/90a00e51d296e8614ed6815589a26d971e9f444f\"\u003e\u003ccode\u003e90a00e5\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for pg-1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/c58434835ab6b077e757ef0c16e7b9dc1d1fccf6\"\u003e\u003ccode\u003ec584348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/670\"\u003e#670\u003c/a\u003e from larskanis/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/227653d235fe5ed4a8e03ea09854a6d298426ff3\"\u003e\u003ccode\u003e227653d\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/428415dd4ecb55882d2319d8b166fe73343853ba\"\u003e\u003ccode\u003e428415d\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 1.6.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/4282e5c729a98f66775611bd96c1848863b1d91f\"\u003e\u003ccode\u003e4282e5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/669\"\u003e#669\u003c/a\u003e from larskanis/test-rpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/19a35473b0ef7b4bf0d9caf7b62fb7fbbf7e168b\"\u003e\u003ccode\u003e19a3547\u003c/code\u003e\u003c/a\u003e Strip darwin C-ext to remove paths to C files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5e2ac6e14589f8698f127be080e94e93151552fc\"\u003e\u003ccode\u003e5e2ac6e\u003c/code\u003e\u003c/a\u003e Temporary enable head version of rake-compiler-dock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/70551b94eab64bcfd879d91382b216224d2394b5\"\u003e\u003ccode\u003e70551b9\u003c/code\u003e\u003c/a\u003e Add spec/pg_spec.rb to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/35b2704fc79aca22488251b1910d3b8e6be6f83e\"\u003e\u003ccode\u003e35b2704\u003c/code\u003e\u003c/a\u003e Add tests for rpath or other build related paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.5.9...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dalli` from 3.2.3 to 3.2.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md\"\u003edalli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.8\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle IO::TimeoutError when establishing connection (eugeneius)\u003c/li\u003e\n\u003cli\u003eDrop dependency on base64 gem (Earlopain)\u003c/li\u003e\n\u003cli\u003eAddress incompatibility with resolv-replace (y9v)\u003c/li\u003e\n\u003cli\u003eAdd rubygems.org metadata (m-nakamura145)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cascading error when there's an underlying network error in a pipelined get (eugeneius)\u003c/li\u003e\n\u003cli\u003eRuby 3.4/head compatibility by adding base64 to gemspec (tagliala)\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI (m-nakamura145)\u003c/li\u003e\n\u003cli\u003eUse Socket's connect_timeout when available, and pass timeout to the socket's send and receive timeouts (mlarraz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRescue IO::TimeoutError raised by Ruby since 3.2.0 on blocking reads/writes (skaes)\u003c/li\u003e\n\u003cli\u003eFix rubydoc link (JuanitoFatas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle memcached requests being interrupted by Thread#raise or Thread#kill (byroot)\u003c/li\u003e\n\u003cli\u003eUnexpected errors are no longer treated as \u003ccode\u003eDalli::NetworkError\u003c/code\u003e, including errors raised by \u003ccode\u003eTimeout.timeout\u003c/code\u003e (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eCache PID calls for performance since glibc no longer caches in recent versions (byroot)\u003c/li\u003e\n\u003cli\u003ePreallocate the read buffer in Socket#readfull (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/67942b8db6ba8ae9c39e30d9c0c63fb1525586b3\"\u003e\u003ccode\u003e67942b8\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.8 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/995\"\u003e#995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/23bc51f712314a5b8179c94ed59ba1545139c99e\"\u003e\u003ccode\u003e23bc51f\u003c/code\u003e\u003c/a\u003e Handle IO::TimeoutError when establishing connection (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4baeb3431edb46b5a1d0449432802dc214bb1a67\"\u003e\u003ccode\u003e4baeb34\u003c/code\u003e\u003c/a\u003e Bump the tested memcached version to 1.6.23 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/d5ad58f939af7ef765412f3820aace7399b68753\"\u003e\u003ccode\u003ed5ad58f\u003c/code\u003e\u003c/a\u003e Move check whether TCPSocket was patched to TCP.open (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/bec0440a9c4c040d2f564256abddd7e6a6604123\"\u003e\u003ccode\u003ebec0440\u003c/code\u003e\u003c/a\u003e Fix conflict with resolv-replace gem (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c5aea2200388c530b457485c96d22098e67e17d5\"\u003e\u003ccode\u003ec5aea22\u003c/code\u003e\u003c/a\u003e Add metadata for rubygems.org (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c409a07dc960b11595b329b6245b12b7be6d2dd7\"\u003e\u003ccode\u003ec409a07\u003c/code\u003e\u003c/a\u003e Drop dependency on base64 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4c4a5a2354707604456f6f1bf08d020f1909b49e\"\u003e\u003ccode\u003e4c4a5a2\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.7 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/fa641192072fd3852053f01e65853af95bc0b8d0\"\u003e\u003ccode\u003efa64119\u003c/code\u003e\u003c/a\u003e Don't reconnect to send pipelined request no-op (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/22dd9ce54dfe497c69244e7aa5fe2ba6ad4ac327\"\u003e\u003ccode\u003e22dd9ce\u003c/code\u003e\u003c/a\u003e Fix a test lint (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petergoldstein/dalli/compare/v3.2.3...v3.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `carrierwave` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/releases\"\u003ecarrierwave's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/blob/master/CHANGELOG.md\"\u003ecarrierwave's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2 - 2025-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/commit/8e5db8cb0b01b1d06b95d46fedf2e0c2a445a0e9\"\u003e\u003ccode\u003e8e5db8c\u003c/code\u003e\u003c/a\u003e Version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e\u003ccode\u003e7b2ce50\u003c/code\u003e\u003c/a\u003e Fix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, `##...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/9001ab7478dae07f99ef9a686d6d42e118a66336\"\u003e\u003ccode\u003e9001ab7\u003c/code\u003e\u003c/a\u003e Fix specs breaking with MiniMagick 5.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/compare/v3.1.1...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mini_magick` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minimagick/minimagick/releases\"\u003emini_magick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eMiniMagick.cli_prefix\u003c/code\u003e being mutated when set to an array.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eActually require Ruby 2.5+ in the gemspec.\u003c/li\u003e\n\u003cli\u003eFix Ruby 2.5 compatibility when using \u003ccode\u003eMiniMagick.restricted_env\u003c/code\u003e configuration.\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ebenchmark\u003c/code\u003e dependency.\u003c/li\u003e\n\u003cli\u003eFix keyword argument forwarding when trying to call \u003ccode\u003eMiniMagick.compare(errors: false)\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/minimagick/minimagick/commit/ddcbfe9632667876be10373e1e01252617e74057\"\u003e\u003ccode\u003eddcbfe9\u003c/code\u003e\u003c/a\u003e Bump to 5.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed5897b54fbfd0fc21b04187e78915f4f5e3acc3\"\u003e\u003ccode\u003eed5897b\u003c/code\u003e\u003c/a\u003e Simplify spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/862ffbbb4435a9363b179397ba02d4be1d1c7751\"\u003e\u003ccode\u003e862ffbb\u003c/code\u003e\u003c/a\u003e Fix configured cli_prefix being muated (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c53b8bb72b9885117d54e375bf33b6ec5641271a\"\u003e\u003ccode\u003ec53b8bb\u003c/code\u003e\u003c/a\u003e Bump to 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/eda3dde138f37ca4ef2de75b0abeda31ee915d2b\"\u003e\u003ccode\u003eeda3dde\u003c/code\u003e\u003c/a\u003e Bump ruby 2.5+ requirement in the gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed928b18107793cd144a681180f9c79e59d6b8cd\"\u003e\u003ccode\u003eed928b1\u003c/code\u003e\u003c/a\u003e Add spec for the keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/6de850ace3bb7a9d64f6d1d5804c4cad7ac5b3b2\"\u003e\u003ccode\u003e6de850a\u003c/code\u003e\u003c/a\u003e Try using ENV.to_h for compatibility with Ruby 2.5 (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c1b2e2c054210fcad2e8e26ce2e70ac76acddd27\"\u003e\u003ccode\u003ec1b2e2c\u003c/code\u003e\u003c/a\u003e Fix option forwarding in MiniMagick::Tool.new (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/dfd3de02c4482679cf7f0993dc368cbba413e7da\"\u003e\u003ccode\u003edfd3de0\u003c/code\u003e\u003c/a\u003e Fix typo in README: change tmdir to tmpdir in configuration example (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/23239db1263f96b1b96f62c67250afe16507b2ac\"\u003e\u003ccode\u003e23239db\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ebenchmark\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minimagick/minimagick/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.21.0 to 0.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd changelog_uri metadata to gemspec by \u003ca href=\"https://github.com/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix multipart with files in binary mode and fields including non-ASCII characters by \u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\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/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd foul option to class level \u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003ehttps://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew: foul mode to rescue all common network errors:  \u003ca href=\"https://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\"\u003ehttps://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: replace master branch to main for better view by \u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\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/ashishra0\"\u003e\u003ccode\u003e@​ashishra0\u003c/code\u003e\u003c/a\u003e made their first contribution with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\"\u003ehttps://github.com/jnunemaker/httparty/compare...\n\n_Description has been truncated_","html_url":"https://github.com/CommitChange/houdini/pull/1303","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommitChange%2Fhoudini/issues/1303","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1303/packages"},{"uuid":"2895192376","node_id":"PR_kwDOAkXAEM6skSE4","number":18,"state":"open","title":"Bump the bundler group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-07T19:58:33.000Z","updated_at":"2025-10-07T19:58:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":7,"packages":[{"name":"nokogiri","old_version":"1.8.1","new_version":"1.18.9","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"globalid","old_version":"0.4.1","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"loofah","old_version":"2.1.1","new_version":"2.24.1"},{"name":"rack","old_version":"2.2.2","new_version":"2.2.19"},{"name":"rails-html-sanitizer","old_version":"1.0.3","new_version":"1.6.2"},{"name":"request_store","old_version":"1.3.2","new_version":"1.4.0","repository_url":"https://github.com/steveklabnik/request_store"},{"name":"tzinfo","old_version":"1.2.4","new_version":"1.2.11"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 3 updates in the /def directory: [nokogiri](https://github.com/sparklemotion/nokogiri), [globalid](https://github.com/rails/globalid) and [request_store](https://github.com/steveklabnik/request_store).\n\nUpdates `nokogiri` from 1.8.1 to 1.18.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e  nokogiri-1.18.8-aarch64-linux-gnu.gem\n664e0f9a77a7122a66d6c03abba7641ca610769a4728db55ee1706a0838b78a2  nokogiri-1.18.8-aarch64-linux-musl.gem\n483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212  nokogiri-1.18.8-arm64-darwin.gem\n17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e  nokogiri-1.18.8-arm-linux-gnu.gem\n6e6d7e71fc39572bd613a82d528cf54392c3de1ba5ce974f05c832b8187a040b  nokogiri-1.18.8-arm-linux-musl.gem\n8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365  nokogiri-1.18.8.gem\n41002596960ff854198a20aaeb34cff0d445406d5ad85ba7ca9c3fd0c8f03de0  nokogiri-1.18.8-java.gem\n11ab0f76772c5f2d718fb253fca5b74c6ef7628b72bbf8deba6ab1ffc93344cf  nokogiri-1.18.8-x64-mingw-ucrt.gem\n024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c  nokogiri-1.18.8-x86_64-darwin.gem\n4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc  nokogiri-1.18.8-x86_64-linux-gnu.gem\nddd735fba49475a395b9ea793bb6474e3a3125b89960339604d08a5397de1165  nokogiri-1.18.8-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.3 / 2025-02-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6\"\u003ev2.13.6\u003c/a\u003e to address CVE-2025-24928 and CVE-2024-56171. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-vvfq-8hwr-qm4m\"\u003eGHSA-vvfq-8hwr-qm4m\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.2 / 2024-01-19\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/sparklemotion/nokogiri/commit/1dcd8ce30365ebd4620a3b823bf806b127eeefc3\"\u003e\u003ccode\u003e1dcd8ce\u003c/code\u003e\u003c/a\u003e version bump to v1.18.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/a05d2b44b930072af70dad12bddbac67f36c6f90\"\u003e\u003ccode\u003ea05d2b4\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3526\"\u003e#3526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/947a55e87edff3c6d76ffd81f07da728e67c9b82\"\u003e\u003ccode\u003e947a55e\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9187f4af0dc3cc7ea439bd4957a2fbfab18f6665\"\u003e\u003ccode\u003e9187f4a\u003c/code\u003e\u003c/a\u003e version bump to v1.18.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1deea041e3f359ccef67abadf19f0d634bf473dd\"\u003e\u003ccode\u003e1deea04\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8 (branch \u003ccode\u003ev1.18.x\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3509\"\u003e#3509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6457fe639359edda9f8817994bc4935abae3e81e\"\u003e\u003ccode\u003e6457fe6\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/13e8aa4ef52f39d1273d2435bd6bfa98982471ef\"\u003e\u003ccode\u003e13e8aa4\u003c/code\u003e\u003c/a\u003e version bump to v1.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/605699d271ee5d7f58ab29c4550fad42b9cc3d69\"\u003e\u003ccode\u003e605699d\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7 (v1.18.x backport) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/804e59038c4318ebe7ba0dc08105cff2030df415\"\u003e\u003ccode\u003e804e590\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/52bf15b62d4e576292e21ac948030783333f9e0b\"\u003e\u003ccode\u003e52bf15b\u003c/code\u003e\u003c/a\u003e dep(dev): drop Rubocop from JRuby deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.8.1...v1.18.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 0.4.1 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\u003c/p\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003cp\u003eStable API release.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eThe code is the same as the 0.6.0 release.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eActiveRecord::FixtureSet.signed_global_id\u003c/code\u003e helper to generate signed ids inside fixtures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd back Ruby 2.5 support so \u003ccode\u003egem install rails\u003c/code\u003e works out of the box, thereby satisfying Rails' Ruby version requirement. See \u003ca href=\"https://redirect.github.com/rails/rails/issues/42931\"\u003erails/rails#42931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Allow expiration to be turned off globally \u003ca href=\"https://redirect.github.com/rails/globalid/pull/128\"\u003erails/globalid#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed: Support for ruby-head \u003ca href=\"https://redirect.github.com/rails/globalid/pull/132\"\u003erails/globalid#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMaintainance: Drop support for EOL'ed Rubies (\u0026lt; 2.6.0) and Rails 4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.4.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow configuration in initialisers \u003ca href=\"https://github.com/rails/globalid/commit/3c8f9090f49706769b7d4a07f9c50239e1cfbb01\"\u003ehttps://github.com/rails/globalid/commit/3c8f9090f49706769b7d4a07f9c50239e1cfbb01\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/rails/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42f5ea6b4c638024c8865c1e4a4dbeb991198557\"\u003e\u003ccode\u003e42f5ea6\u003c/code\u003e\u003c/a\u003e Prepare for 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/beab3e4bc7d3fe1af27367de6c90b4d31618ed44\"\u003e\u003ccode\u003ebeab3e4\u003c/code\u003e\u003c/a\u003e Prepare to 0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/29e12cb85d3432872985ad7cef20316ca80f5b2f\"\u003e\u003ccode\u003e29e12cb\u003c/code\u003e\u003c/a\u003e Upgrade all development gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c894a430d42b4f6351903bcff30f7e52bf95b364\"\u003e\u003ccode\u003ec894a43\u003c/code\u003e\u003c/a\u003e Add devcontainer to allow contributors to have a working environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b3ec8b9314555dede5b865ea7ad30c421bddbaea\"\u003e\u003ccode\u003eb3ec8b9\u003c/code\u003e\u003c/a\u003e Move ActiveRecord::FixtureSet.signed_global_id to this gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/e9d6ed993c88558cc4901e084304dee140704c4b\"\u003e\u003ccode\u003ee9d6ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/137\"\u003e#137\u003c/a\u003e from rails/dependabot/bundler/nokogiri-1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a565d31d602cb32b32c02bcbb36d91bcf2b0c735\"\u003e\u003ccode\u003ea565d31\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.11.7 to 1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9b1a4d21fed3c22cf9df0986ad087d1dadc42b4b\"\u003e\u003ccode\u003e9b1a4d2\u003c/code\u003e\u003c/a\u003e Why u no love me?\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v0.4.1...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `loofah` from 2.1.1 to 2.24.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/flavorjones/loofah/releases\"\u003eloofah's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.24.1 / 2025-05-12\u003c/h2\u003e\n\u003ch3\u003eRuby support\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImport only what's needed from \u003ccode\u003ecgi\u003c/code\u003e for support for Ruby 3.5 \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/296\"\u003e#296\u003c/a\u003e \u003ca href=\"https://github.com/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.24.0 / 2024-12-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:double_breakpoint\u003c/code\u003e which sees \u003ccode\u003e\u0026lt;br\u0026gt;\u0026lt;br\u0026gt;\u003c/code\u003e and wraps the surrounding content in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/279\"\u003e#279\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/284\"\u003e#284\u003c/a\u003e \u003ca href=\"https://github.com/josecolella\"\u003e\u003ccode\u003e@​josecolella\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/torihuang\"\u003e\u003ccode\u003e@​torihuang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImproved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:targetblank\u003c/code\u003e now skips \u003ccode\u003ea\u003c/code\u003e tags whose \u003ccode\u003ehref\u003c/code\u003e attribute is an anchor link. Previously, all \u003ccode\u003ea\u003c/code\u003e tags were modified to have \u003ccode\u003etarget='_blank'\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/291\"\u003e#291\u003c/a\u003e \u003ca href=\"https://github.com/fnando\"\u003e\u003ccode\u003e@​fnando\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrew\"\u003e\u003ccode\u003e@​andrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/289\"\u003eflavorjones/loofah#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fnando\"\u003e\u003ccode\u003e@​fnando\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/291\"\u003eflavorjones/loofah#291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/josecolella\"\u003e\u003ccode\u003e@​josecolella\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/torihuang\"\u003e\u003ccode\u003e@​torihuang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/284\"\u003eflavorjones/loofah#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.23.1...v2.24.0\"\u003ehttps://github.com/flavorjones/loofah/compare/v2.23.1...v2.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.23.1 / 2024-10-25\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS properties \u003ccode\u003emin-height\u003c/code\u003e and \u003ccode\u003emax-height\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/288\"\u003e#288\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.23.0...v2.23.1\"\u003ehttps://github.com/flavorjones/loofah/compare/v2.23.0...v2.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.23.0 / 2024-10-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS property \u003ccode\u003emin-width\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/287\"\u003e#287\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\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/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/280\"\u003eflavorjones/loofah#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/287\"\u003eflavorjones/loofah#287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.22.0...v2.23.0\"\u003ehttps://github.com/flavorjones/loofah/compare/v2.22.0...v2.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.22.0 / 2023-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003e:targetblank\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003etarget=\u0026quot;_blank\u0026quot;\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/275\"\u003e#275\u003c/a\u003e \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003e:noreferrer\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003erel=noreferrer\u003c/code\u003e, similar to the \u003ccode\u003e:nofollow\u003c/code\u003e and \u003ccode\u003e:noopener\u003c/code\u003e scrubbers. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/277\"\u003e#277\u003c/a\u003e \u003ca href=\"https://github.com/wynksaiddestroy\"\u003e\u003ccode\u003e@​wynksaiddestroy\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/flavorjones/loofah/blob/main/CHANGELOG.md\"\u003eloofah's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.24.1 / 2025-05-12\u003c/h2\u003e\n\u003ch3\u003eRuby support\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImport only what's needed from \u003ccode\u003ecgi\u003c/code\u003e for support for Ruby 3.5 \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/296\"\u003e#296\u003c/a\u003e \u003ca href=\"https://github.com/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.24.0 / 2024-12-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:double_breakpoint\u003c/code\u003e which sees \u003ccode\u003e\u0026lt;br\u0026gt;\u0026lt;br\u0026gt;\u003c/code\u003e and wraps the surrounding content in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/279\"\u003e#279\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/284\"\u003e#284\u003c/a\u003e \u003ca href=\"https://github.com/josecolella\"\u003e\u003ccode\u003e@​josecolella\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/torihuang\"\u003e\u003ccode\u003e@​torihuang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImproved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:targetblank\u003c/code\u003e now skips \u003ccode\u003ea\u003c/code\u003e tags whose \u003ccode\u003ehref\u003c/code\u003e attribute is an anchor link. Previously, all \u003ccode\u003ea\u003c/code\u003e tags were modified to have \u003ccode\u003etarget='_blank'\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/291\"\u003e#291\u003c/a\u003e \u003ca href=\"https://github.com/fnando\"\u003e\u003ccode\u003e@​fnando\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.23.1 / 2024-10-25\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS properties \u003ccode\u003emin-height\u003c/code\u003e and \u003ccode\u003emax-height\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/288\"\u003e#288\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.23.0 / 2024-10-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS property \u003ccode\u003emin-width\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/287\"\u003e#287\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.22.0 / 2023-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003e:targetblank\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003etarget=\u0026quot;_blank\u0026quot;\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/275\"\u003e#275\u003c/a\u003e \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003e:noreferrer\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003erel=noreferrer\u003c/code\u003e, similar to the \u003ccode\u003e:nofollow\u003c/code\u003e and \u003ccode\u003e:noopener\u003c/code\u003e scrubbers. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/277\"\u003e#277\u003c/a\u003e \u003ca href=\"https://github.com/wynksaiddestroy\"\u003e\u003ccode\u003e@​wynksaiddestroy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.21.4 / 2023-10-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eLoofah::HTML5::Scrub.scrub_css\u003c/code\u003e is more consistent in preserving whitespace (and lack of whitespace) in CSS property values. In particular, \u003ccode\u003e.scrub_css\u003c/code\u003e no longer inserts whitespace between tokens that did not already have whitespace between them. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/273\"\u003e#273\u003c/a\u003e, fixes \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/271\"\u003e#271\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.21.3 / 2023-05-15\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/6cadc8adf635d790faba337ffc8086ad0da4689e\"\u003e\u003ccode\u003e6cadc8a\u003c/code\u003e\u003c/a\u003e version bump to v2.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/6970d9bc552b8e1b8e106329c7645104d24583c0\"\u003e\u003ccode\u003e6970d9b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/297\"\u003e#297\u003c/a\u003e from flavorjones/flavorjones/ci-matrix-202505\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/e906a7479838b9386c93ab8c2fc7f7830539a69d\"\u003e\u003ccode\u003ee906a74\u003c/code\u003e\u003c/a\u003e ci: add jruby 10 and jruby head, bump ruby versions for jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/4f3f606194fb4989a13c9c46a24ce70ab06a52d4\"\u003e\u003ccode\u003e4f3f606\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/296\"\u003e#296\u003c/a\u003e from Earlopain/cgi-ruby-3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/7094f04cdffacbb669b9e10be2dec3d3ad9604b8\"\u003e\u003ccode\u003e7094f04\u003c/code\u003e\u003c/a\u003e Only load what is required from \u003ccode\u003ecgi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/85990602c6fdb40489138e80080ca508200c7137\"\u003e\u003ccode\u003e8599060\u003c/code\u003e\u003c/a\u003e version bump to v2.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/2abdafced59d55313bec02dc82c847e368936c76\"\u003e\u003ccode\u003e2abdafc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/284\"\u003e#284\u003c/a\u003e from josecolella/jc-th-add-breakpoint-scrubber\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/4d94183d64b947d3dccbaea0c6074b6402e857a6\"\u003e\u003ccode\u003e4d94183\u003c/code\u003e\u003c/a\u003e Drop newlines from the double-breakpoint test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/4b339a5580e745bc33b51f41f6963068960fa51d\"\u003e\u003ccode\u003e4b339a5\u003c/code\u003e\u003c/a\u003e docs: Update documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/9da4c19611f4eb96326cedbdc0300ea1b705c3d7\"\u003e\u003ccode\u003e9da4c19\u003c/code\u003e\u003c/a\u003e feat: Add implementation for method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.1.1...v2.24.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.2 to 2.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v\"\u003eCVE-2025-27610\u003c/a\u003e Local file inclusion in \u003ccode\u003eRack::Static\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.12] - 2025-03-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v\"\u003eCVE-2025-27111\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::Sendfile\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.11] - 2025-02-12\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/493a4119ea010a7ac3dbc0ff579fc8af42e24ba4\"\u003e\u003ccode\u003e493a411\u003c/code\u003e\u003c/a\u003e Fix thin integration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71\"\u003e\u003ccode\u003e54e4ffd\u003c/code\u003e\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9163ac3f5fac795179f9935e2ba6533a0ca1cf82\"\u003e\u003ccode\u003e9163ac3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/8e52d2a3769e83fc698784b06c82703ba40448e7\"\u003e\u003ccode\u003e8e52d2a\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/rack/rack/issues/2263\"\u003e#2263\u003c/a\u003e to v2.2, fix: malformed charset param (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2338\"\u003e#2338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2a32ecaaa8460a9af9963ee46ba04afbd1b47220\"\u003e\u003ccode\u003e2a32eca\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/034a13c80dc639c8a4e794f425e5e9e17ede856b\"\u003e\u003ccode\u003e034a13c\u003c/code\u003e\u003c/a\u003e Change CGI::Cookie.new to Cookie.new (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2335\"\u003e#2335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.2...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails-html-sanitizer` from 1.0.3 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/releases\"\u003erails-html-sanitizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 / 2024-12-12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ePermitScrubber\u003c/code\u003e fully supports frozen \u0026quot;allowed tags\u0026quot;.\u003c/p\u003e\n\u003cp\u003ev1.6.1 introduced safety checks that may remove unsafe tags from the allowed list, which\nintroduced a regression for applications passing a frozen array of allowed tags. Tags and\nattributes are now properly copied when they are passed to the scrubber.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/195\"\u003e#195\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1 / 2024-12-02\u003c/h2\u003e\n\u003cp\u003eThis is a performance and security release which addresses several possible XSS vulnerabilities.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe dependency on Nokogiri is updated to v1.15.7 or \u0026gt;=1.16.8.\u003c/p\u003e\n\u003cp\u003eThis change addresses CVE-2024-53985 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-w8gc-x259-rc7x\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-w8gc-x259-rc7x\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisallowed tags will be pruned when they appear in foreign content (i.e. SVG or MathML content),\nregardless of the \u003ccode\u003eprune:\u003c/code\u003e option value. Previously, disallowed tags were \u0026quot;stripped\u0026quot; unless the\ngem was configured with the \u003ccode\u003eprune: true\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53986 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-638j-pmjw-jq48\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-638j-pmjw-jq48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53987 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-2x5m-9ch4-qgrr\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-2x5m-9ch4-qgrr\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe tags \u0026quot;noscript\u0026quot;, \u0026quot;mglyph\u0026quot;, and \u0026quot;malignmark\u0026quot; will not be allowed, even if explicitly added to\nthe allowlist. If applications try to allow any of these tags, a warning is emitted and the tags\nare removed from the allow-list.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53988 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-cfjx-w229-hgx5\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-cfjx-w229-hgx5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53989 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease note that we \u003cem\u003emay\u003c/em\u003e restore support for allowing \u0026quot;noscript\u0026quot; in a future release. We do not\nexpect to ever allow \u0026quot;mglyph\u0026quot; or \u0026quot;malignmark\u0026quot;, though, especially since browser support is minimal\nfor these tags.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md\"\u003erails-html-sanitizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 / 2024-12-12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ePermitScrubber\u003c/code\u003e fully supports frozen \u0026quot;allowed tags\u0026quot;.\u003c/p\u003e\n\u003cp\u003ev1.6.1 introduced safety checks that may remove unsafe tags from the allowed list, which\nintroduced a regression for applications passing a frozen array of allowed tags. Tags and\nattributes are now properly copied when they are passed to the scrubber.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/195\"\u003e#195\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1 / 2024-12-02\u003c/h2\u003e\n\u003cp\u003eThis is a performance and security release which addresses several possible XSS vulnerabilities.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe dependency on Nokogiri is updated to v1.15.7 or \u0026gt;=1.16.8.\u003c/p\u003e\n\u003cp\u003eThis change addresses CVE-2024-53985 (GHSA-w8gc-x259-rc7x).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisallowed tags will be pruned when they appear in foreign content (i.e. SVG or MathML content),\nregardless of the \u003ccode\u003eprune:\u003c/code\u003e option value. Previously, disallowed tags were \u0026quot;stripped\u0026quot; unless the\ngem was configured with the \u003ccode\u003eprune: true\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53986 (GHSA-638j-pmjw-jq48)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53987 (GHSA-2x5m-9ch4-qgrr)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe tags \u0026quot;noscript\u0026quot;, \u0026quot;mglyph\u0026quot;, and \u0026quot;malignmark\u0026quot; will not be allowed, even if explicitly added to\nthe allowlist. If applications try to allow any of these tags, a warning is emitted and the tags\nare removed from the allow-list.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53988 (GHSA-cfjx-w229-hgx5)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53989 (GHSA-rxv5-gxqc-xx8g)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease note that we \u003cem\u003emay\u003c/em\u003e restore support for allowing \u0026quot;noscript\u0026quot; in a future release. We do not\nexpect to ever allow \u0026quot;mglyph\u0026quot; or \u0026quot;malignmark\u0026quot;, though, especially since browser support is minimal\nfor these tags.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove performance by eliminating needless operations on attributes that are being removed. \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/188\"\u003e#188\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/9160d49020b57828ea536ffedc9cac8fef98ee59\"\u003e\u003ccode\u003e9160d49\u003c/code\u003e\u003c/a\u003e version bump to v1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/5843d4dd272408ad8b131d33ca3d4cc512012f10\"\u003e\u003ccode\u003e5843d4d\u003c/code\u003e\u003c/a\u003e fix: PermitScrubber accepts frozen tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/5e96b19bbb934284e675109851bd82429622bb6e\"\u003e\u003ccode\u003e5e96b19\u003c/code\u003e\u003c/a\u003e version bump to v1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/383cc7c17f5a6aafed79adff1c419da31a414878\"\u003e\u003ccode\u003e383cc7c\u003c/code\u003e\u003c/a\u003e doc: update CHANGELOG with assigned CVEs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/a7b0cfe103ff5d8b17d77fb3660589522dd6bcad\"\u003e\u003ccode\u003ea7b0cfe\u003c/code\u003e\u003c/a\u003e Combine the noscript/mglyph prevention blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/5658335ede931a47d02b8aa4d3b5800bd3184158\"\u003e\u003ccode\u003e5658335\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2509647-noscript' into flavorjones-2024-security-fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/65fb72f07e875b401bbec479c2a5a3d3b10ad338\"\u003e\u003ccode\u003e65fb72f\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2519936-mglyph-foster-parenting' into flavorjones-2024-secur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3fe22a8b892361c8463f50f4f4a5d08e299c62a2\"\u003e\u003ccode\u003e3fe22a8\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2519936-foreign-ns-confusion' into flavorjones-2024-security...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/d7a94c125209a9611308fbfdb7420a8786d7e80f\"\u003e\u003ccode\u003ed7a94c1\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2503220-nokogiri-serialization' into flavorjones-2024-securi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3fd6e650f991ce687961da45038b77504114d237\"\u003e\u003ccode\u003e3fd6e65\u003c/code\u003e\u003c/a\u003e doc: update CHANGELOG\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails-html-sanitizer/compare/v1.0.3...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `request_store` from 1.3.2 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/6a0f3c97cd122d49ef4d30ea9aeb6a10db0fded9\"\u003e\u003ccode\u003e6a0f3c9\u003c/code\u003e\u003c/a\u003e Bump to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/44e2c6aa9bb12a40593b788bc188e9e956c71da8\"\u003e\u003ccode\u003e44e2c6a\u003c/code\u003e\u003c/a\u003e clean up readme formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/28c000a9cb9cbd9c9fed44b269a1ac6f721fcd0e\"\u003e\u003ccode\u003e28c000a\u003c/code\u003e\u003c/a\u003e fix travis by forgetting about rbx2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/a2e081fbc56caff6e9ca9ff2db9e9e6394c28a03\"\u003e\u003ccode\u003ea2e081f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/steveklabnik/request_store/issues/52\"\u003e#52\u003c/a\u003e from aasmith/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/9fd2fccd0e53cc3926a0605e44a9a421ee260e36\"\u003e\u003ccode\u003e9fd2fcc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/steveklabnik/request_store/issues/54\"\u003e#54\u003c/a\u003e from madebylotus/feature/update-readme-with-info-on-si...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/9ba87b88bc823060ad1cfddb25e21a5870c8a675\"\u003e\u003ccode\u003e9ba87b8\u003c/code\u003e\u003c/a\u003e Adds mention of using RequestStore with Sidekiq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/0fa2c76f66616ee472c2c4da9cf87582a6f01a54\"\u003e\u003ccode\u003e0fa2c76\u003c/code\u003e\u003c/a\u003e Support Ruby 1.8.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/05dd59dedfc1fa791c10293548a92d74c2bc2dea\"\u003e\u003ccode\u003e05dd59d\u003c/code\u003e\u003c/a\u003e Ensure the request store is active during a streamed response.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/11032501db55547bc415de2df63716868f6c1ca5\"\u003e\u003ccode\u003e1103250\u003c/code\u003e\u003c/a\u003e Clear the request store on teardown between tests.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/steveklabnik/request_store/compare/v1.3.2...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tzinfo` from 1.2.4 to 1.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tzinfo/tzinfo/releases\"\u003etzinfo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEliminate \u003ccode\u003eObject#untaint\u003c/code\u003e deprecation warnings on JRuby 9.4.0.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/145\"\u003e#145\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.11\"\u003eTZInfo v1.2.11 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a relative path traversal bug that could cause arbitrary files to be loaded with require when used with \u003ccode\u003eRubyDataSource\u003c/code\u003e. Please refer to\n\u003ca href=\"https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\"\u003ehttps://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\u003c/a\u003e for details. CVE-2022-31163.\u003c/li\u003e\n\u003cli\u003eIgnore the SECURITY file from Arch Linux's tzdata package. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/134\"\u003e#134\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.10\"\u003eTZInfo v1.2.10 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an incorrect \u003ccode\u003eInvalidTimezoneIdentifier\u003c/code\u003e exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/123\"\u003e#123\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.9\"\u003eTZInfo v1.2.9 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for handling \u0026quot;slim\u0026quot; format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/120\"\u003e#120\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRubinius is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.8\"\u003eTZInfo v1.2.8 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed 'wrong number of arguments' errors when running on JRuby 9.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/114\"\u003e#114\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.8. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/112\"\u003e#112\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.7\"\u003eTZInfo v1.2.7 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTimezone#strftime('%s', time)\u003c/code\u003e will now return the correct number of seconds since the epoch. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/91\"\u003e#91\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved the unused \u003ccode\u003eTZInfo::RubyDataSource::REQUIRE_PATH\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eFixed \u0026quot;SecurityError: Insecure operation - require\u0026quot; exceptions when loading data with recent Ruby releases in safe mode.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.7. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/106\"\u003e#106\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/111\"\u003e#111\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.6\"\u003eTZInfo v1.2.6 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport recursively (deep) freezing \u003ccode\u003eCountry\u003c/code\u003e and \u003ccode\u003eTimezone\u003c/code\u003e instances. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/80\"\u003e#80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAllow negative daylight savings time offsets to be derived when reading from zoneinfo files. The utc_offset and std_offset are now derived correctly for Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.5\"\u003eTZInfo v1.2.5 on RubyGems.org\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/tzinfo/tzinfo/blob/master/CHANGES.md\"\u003etzinfo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.2.11 - 28-Jan-2023\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEliminate \u003ccode\u003eObject#untaint\u003c/code\u003e deprecation warnings on JRuby 9.4.0.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/145\"\u003e#145\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.10 - 19-Jul-2022\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a relative path traversal bug that could cause arbitrary files to be\nloaded with \u003ccode\u003erequire\u003c/code\u003e when used with \u003ccode\u003eRubyDataSource\u003c/code\u003e. Please refer to\n\u003ca href=\"https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\"\u003ehttps://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\u003c/a\u003e for\ndetails. CVE-2022-31163.\u003c/li\u003e\n\u003cli\u003eIgnore the SECURITY file from Arch Linux's tzdata package. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/134\"\u003e#134\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.9 - 16-Dec-2020\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an incorrect \u003ccode\u003eInvalidTimezoneIdentifier\u003c/code\u003e exception raised when loading a\nzoneinfo file that includes rules specifying an additional transition to the\nfinal defined offset (for example, Africa/Casablanca in version 2018e of the\nTime Zone Database). \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/123\"\u003e#123\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.8 - 8-Nov-2020\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for handling \u0026quot;slim\u0026quot; format zoneinfo files that are produced by\ndefault by zic version 2020b and later. The POSIX-style TZ string is now used\ncalculate DST transition times after the final defined transition in the file.\nThe 64-bit section is now always used regardless of whether Time has support\nfor 64-bit times. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/120\"\u003e#120\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRubinius is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.7 - 2-Apr-2020\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed 'wrong number of arguments' errors when running on JRuby 9.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/114\"\u003e#114\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.8. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/112\"\u003e#112\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.6 - 24-Dec-2019\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTimezone#strftime('%s', time)\u003c/code\u003e will now return the correct number of seconds\nsince the epoch. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/91\"\u003e#91\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved the unused \u003ccode\u003eTZInfo::RubyDataSource::REQUIRE_PATH\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eFixed \u0026quot;SecurityError: Insecure operation - require\u0026quot; exceptions when loading\ndata with recent Ruby releases in safe mode.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.7. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/106\"\u003e#106\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/111\"\u003e#111\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.5 - 4-Feb-2018\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/tzinfo/tzinfo/commit/2dc46fd3f2ba11287b33188c64084d7bdb9afc28\"\u003e\u003ccode\u003e2dc46fd\u003c/code\u003e\u003c/a\u003e Preparing v1.2.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/c854e6a91e4c0599a2eacfb9ddafc09115e69414\"\u003e\u003ccode\u003ec854e6a\u003c/code\u003e\u003c/a\u003e Update copyright years.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/9c092f32f3dd34ea85554176b6ecc1f78f03cb2b\"\u003e\u003ccode\u003e9c092f3\u003c/code\u003e\u003c/a\u003e Eliminate Object#untaint deprecation warnings on JRuby 9.4.0.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/4e5f8b759f7ebdc378e45f151ed2e55e3295011b\"\u003e\u003ccode\u003e4e5f8b7\u003c/code\u003e\u003c/a\u003e Add Ruby 3.1, 3.2 and JRuby 9.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/2f58c69f20bc8c42aa2d11060763a7a3e4b17483\"\u003e\u003ccode\u003e2f58c69\u003c/code\u003e\u003c/a\u003e Update the dependency on actions/checkout.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/e52c05604b9fb39cd17ab8bad0740511bc44234d\"\u003e\u003ccode\u003ee52c056\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Workaround for 'Permission denied - NUL' errors with JRuby on Windows.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/0814dcd6195f247cc90e62a46b86ff0b76e08ed6\"\u003e\u003ccode\u003e0814dcd\u003c/code\u003e\u003c/a\u003e Fix the release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/fd05e2a61cc569cef81ebd1a90d0b57f69e401bd\"\u003e\u003ccode\u003efd05e2a\u003c/code\u003e\u003c/a\u003e Preparing v1.2.10.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/b98c32efd61289fe6f00a50ab8061e95962ea983\"\u003e\u003ccode\u003eb98c32e\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-directory-traversal-1.2' into 1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/ac3ee6828afd67e6a8ee981cba791ee34d20e9fb\"\u003e\u003ccode\u003eac3ee68\u003c/code\u003e\u003c/a\u003e Remove unnecessary escaping of + within regex character classes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tzinfo/tzinfo/compare/v1.2.4...v1.2.11\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/LHNCBC/phr/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/LHNCBC/phr/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LHNCBC%2Fphr/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"3492836237","node_id":"PR_kwDOIHBa6c6skPTd","number":38,"state":"open","title":"Bump the bundler group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-07T19:53:49.000Z","updated_at":"2025-10-07T19:54:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":11,"packages":[{"name":"puma","old_version":"5.6.5","new_version":"5.6.9","repository_url":"https://github.com/puma/puma"},{"name":"sidekiq","old_version":"6.4.1","new_version":"6.5.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"fugit","old_version":"1.4.2","new_version":"1.11.1","repository_url":"https://github.com/floraison/fugit"},{"name":"globalid","old_version":"0.4.2","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"loofah","old_version":"2.18.0","new_version":"2.19.1","repository_url":"https://github.com/flavorjones/loofah"},{"name":"rails-html-sanitizer","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/rails/rails-html-sanitizer"},{"name":"rexml","old_version":"3.2.5","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"webrick","old_version":"1.7.0","new_version":"1.8.2","repository_url":"https://github.com/ruby/webrick"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [puma](https://github.com/puma/puma) | `5.6.5` | `5.6.9` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `6.4.1` | `6.5.10` |\n| [fugit](https://github.com/floraison/fugit) | `1.4.2` | `1.11.1` |\n| [globalid](https://github.com/rails/globalid) | `0.4.2` | `1.0.1` |\n| [loofah](https://github.com/flavorjones/loofah) | `2.18.0` | `2.19.1` |\n| [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) | `1.4.3` | `1.4.4` |\n| [rexml](https://github.com/ruby/rexml) | `3.2.5` | `3.4.2` |\n| [webrick](https://github.com/ruby/webrick) | `1.7.0` | `1.8.2` |\n\n\nUpdates `puma` from 5.6.5 to 5.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.7\u003c/h2\u003e\n\u003cp\u003eSecurity\nAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/master/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.9 / 2024-09-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eDiscards any headers using underscores if the non-underscore version also exists. Without this, an attacker could overwrite values set by intermediate proxies (e.g. X-Forwarded-For). (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-9hf4-67fc-4vf4\"\u003eCVE-2024-45614\u003c/a\u003e/GHSA-9hf4-67fc-4vf4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eJRuby\n\u003cul\u003e\n\u003cli\u003eMust use at least Java \u0026gt;= 9 to compile. You can no longer build from source on Java 8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.8 / 2024-01-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eLimit the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-c2f4-cvqm-65w2\"\u003eGHSA-c2f4-cvqm-65w2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.7 / 2023-08-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.6 / 2023-06-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix\n\u003cul\u003e\n\u003cli\u003ePrevent loading with rack 3 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3166\"\u003e#3166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f196b23be24712fb8fb16051cc124798cc84f70e\"\u003e\u003ccode\u003ef196b23\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/24eec19bace045a4cbd43362e17964de90044e32\"\u003e\u003ccode\u003e24eec19\u003c/code\u003e\u003c/a\u003e 5.6.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3c8e8b036d36158a324ec34cfb29905cc578478b\"\u003e\u003ccode\u003e3c8e8b0\u003c/code\u003e\u003c/a\u003e 5.6.9 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/129357322e837e7d99c25c9cd71d36ecb4f9540b\"\u003e\u003ccode\u003e1293573\u003c/code\u003e\u003c/a\u003e 5.6.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/bbb880ffb6debbfdea535b4b3eb2204d49ae151d\"\u003e\u003ccode\u003ebbb880f\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-c2f4-cvqm-65w2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/78393bf2c58bf293860fa9cdc73938ac58c18afb\"\u003e\u003ccode\u003e78393bf\u003c/code\u003e\u003c/a\u003e 5.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7405a219801dcebc0ad6e0aa108d4319ca23f662\"\u003e\u003ccode\u003e7405a21\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-68xg-gqqm-vgj8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d33424b560eab163d8869d90341d57795d63bb99\"\u003e\u003ccode\u003ed33424b\u003c/code\u003e\u003c/a\u003e 5.6.7 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f8c7b235f971ed6b290cc4733fe7bce840037ede\"\u003e\u003ccode\u003ef8c7b23\u003c/code\u003e\u003c/a\u003e 5.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08af1b5d797ab49f9d594a71f0c1f88bbff7915a\"\u003e\u003ccode\u003e08af1b5\u003c/code\u003e\u003c/a\u003e 5.6.6 release note\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v5.6.5...v5.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 6.4.1 to 6.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSidekiq Changes\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003eSidekiq Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Pro-Changes.md\"\u003eSidekiq Pro Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Ent-Changes.md\"\u003eSidekiq Enterprise Changes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ediscarded_at\u003c/code\u003e attribute when discarding a job so death handlers can distinguish between\na job which was killed and one that was discarded. [#6820, gstokkink]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts an \u003ccode\u003e:at\u003c/code\u003e array of times to schedule each job at the corresponding time.\n\u003ccode\u003eperform_bulk(args: [[1], [2]], at: [Time.now, Time.now + 1])\u003c/code\u003e [#6790, fatkodima]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts a \u003ccode\u003e:spread_interval\u003c/code\u003e value to schedule jobs over\nthe next N seconds. \u003ccode\u003eperform_bulk(..., spread_interval: 60)\u003c/code\u003e [#6792, fatkodima]\u003c/li\u003e\n\u003cli\u003eFix unintended display of flash messages in the Web UI due to session key collision\u003c/li\u003e\n\u003cli\u003eAdd support for lazy load hooks \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6825\"\u003e#6825\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:discard\u003c/code\u003e option for \u003ccode\u003esidekiq_retries_exhausted\u003c/code\u003e and \u003ccode\u003esidekiq_retry_in\u003c/code\u003e\nnow calls death handlers, otherwise it could break other Sidekiq\nfunctionality. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a Plain log formatter which does not colorize output \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6778\"\u003e#6778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJob iteration now exposes \u003ccode\u003ecurrent_object\u003c/code\u003e for easy access within the \u003ccode\u003earound_iteration\u003c/code\u003e callback \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6774\"\u003e#6774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix JS race condition which could skip confirmation dialogs when Live Polling \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6768\"\u003e#6768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge case which could lose CurrentAttributes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6767\"\u003e#6767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate UK locale \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6776\"\u003e#6776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust transactional client to use ActiveRecord 7.2's support for\n\u003ccode\u003eafter_all_transactions_commit\u003c/code\u003e when available. [#6765, rewritten]\u003c/li\u003e\n\u003cli\u003eFix Rails 7.0 and 7.1 compatibility [#6746, mlarraz]\u003c/li\u003e\n\u003cli\u003eFlush metrics at \u003ccode\u003e:exit\u003c/code\u003e \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6764\"\u003e#6764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003estopping?\u003c/code\u003e method to AJ adapter for compatibility with the new AJ::Continuations feature \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6732\"\u003e#6732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFurther improvements to Rails boot compatibility \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6710\"\u003e#6710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ability to disable CSRF middleware. SameSite cookies prevent\nCSRF in a cleaner manner and are default in most browsers now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/f67a7abccffc9337f144e7be96bb1ed4b0fee49a\"\u003e\u003ccode\u003ef67a7ab\u003c/code\u003e\u003c/a\u003e Cherry pick:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/101435c5a73095ca62b610d5d6456e7e5dc7f81a\"\u003e\u003ccode\u003e101435c\u003c/code\u003e\u003c/a\u003e Merge 62c90d7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/022c059c7b417d24cf1f892fa71f8e98d19ca93f\"\u003e\u003ccode\u003e022c059\u003c/code\u003e\u003c/a\u003e bump, prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fa6723e20131f6d8ca990fc44ca056a351376f2e\"\u003e\u003ccode\u003efa6723e\u003c/code\u003e\u003c/a\u003e formatting, ensure environment is updated in Sidekiq.options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/ad0f13cac5138b891d54ef2f2df3460d5151e34c\"\u003e\u003ccode\u003ead0f13c\u003c/code\u003e\u003c/a\u003e prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7ed013e12bff33a3666911e21ba40039e56b932b\"\u003e\u003ccode\u003e7ed013e\u003c/code\u003e\u003c/a\u003e Fail if bad scout_apm detected, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5616\"\u003e#5616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2ff44747e6033c01c4524f2f242c689adc08f6c9\"\u003e\u003ccode\u003e2ff4474\u003c/code\u003e\u003c/a\u003e Fix natural sorting for processes (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5587\"\u003e#5587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0588cafc88f3566347bb943ac09c6c23fadc8018\"\u003e\u003ccode\u003e0588caf\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7037533e8f39cc1d3c1e305140da7667c6efe38f\"\u003e\u003ccode\u003e7037533\u003c/code\u003e\u003c/a\u003e Speedup iterating over \u003ccode\u003eWorkSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5559\"\u003e#5559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/d424e453282314ea25f484739c72697b5a4d8f82\"\u003e\u003ccode\u003ed424e45\u003c/code\u003e\u003c/a\u003e Add pagination to \u0026quot;Busy\u0026quot; page (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5556\"\u003e#5556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v6.4.1...v6.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fugit` from 1.4.2 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/floraison/fugit/blob/master/CHANGELOG.md\"\u003efugit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003efugit 1.11.1 released 2024-08-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent nat parsing chocking on long input (\u0026gt; 256 chars), \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.11.0 released 2024-04-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e ban on \u003ccode\u003eevery 27 hours\u003c/code\u003e / \u003ccode\u003e* */27 * * *\u003c/code\u003e for \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/103\"\u003egh-103\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.1 released 2024-02-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix on Ruby 2.2.6 thanks to \u003ca href=\"https://github.com/aunghtain\"\u003e\u003ccode\u003e@​aunghtain\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/93\"\u003egh-93\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.0 released 2024-02-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_start, time_end)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_range)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement iterator-returning \u003ccode\u003eFugit::Cron#next\u003c/code\u003e and \u003ccode\u003e#prev\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.9.0 released 2023-10-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLet nat parse \u0026quot;last\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/88\"\u003egh-88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange that I am not sure about, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.1 released 2023-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix for month subtraction, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/84\"\u003egh-84\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix duration - time, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/85\"\u003egh-85\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.0 released 2022-12-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce Fugit.parse_cronish and .do_parse_cronish, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/70\"\u003egh-70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.2 released 2022-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 'every day at 12:15 am', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 'every day at 5:00pm', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.1 released 2022-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange behaviour for \u0026quot;0 0/5 * * *\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/79\"\u003egh-79\u003c/a\u003e\ngo \u0026quot;every 5h start hour 0\u0026quot;, previous behaviour only triggered at hour 0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/228b53ded4be3d86412b6dd62c831a7a459d9ef4\"\u003e\u003ccode\u003e228b53d\u003c/code\u003e\u003c/a\u003e Release 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a0ec276bf56cb7913411bf0d6e05c67947e7be8\"\u003e\u003ccode\u003e2a0ec27\u003c/code\u003e\u003c/a\u003e Upgrade Ruby test matrix versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/ad2c1c9c737213d585fff0b51c927d178b2c05a5\"\u003e\u003ccode\u003ead2c1c9\u003c/code\u003e\u003c/a\u003e Lower time expectations for labby rubies, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/767ef550281bcdc8782233840f98cf8487340476\"\u003e\u003ccode\u003e767ef55\u003c/code\u003e\u003c/a\u003e Add spec for Fugit.parse() and .do_parse, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/025ad7bb76590d3360750d5617b235a23908e5bb\"\u003e\u003ccode\u003e025ad7b\u003c/code\u003e\u003c/a\u003e Bring in spec helpers from raabro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a9a262873450eaf5671747f846a6ec1e5f7d87c1\"\u003e\u003ccode\u003ea9a2628\u003c/code\u003e\u003c/a\u003e Add Fugit::Nat.parse() spec input len \u0026gt; 256 \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a11805444d9ed036ee8570b88cd2b6df450ee84\"\u003e\u003ccode\u003e2a11805\u003c/code\u003e\u003c/a\u003e Add note about nat 256 char limit, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/6a7527497c0bb9196efe503e3d9b5271128a8ee1\"\u003e\u003ccode\u003e6a75274\u003c/code\u003e\u003c/a\u003e Peg Fugit::Nat.parse(s) at 256 chars, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/d2f6cf393716aabe0facb7132d89cfdb8044d240\"\u003e\u003ccode\u003ed2f6cf3\u003c/code\u003e\u003c/a\u003e Prepare 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a172e7b7fece69fbeda40d952ec186cb83339fec\"\u003e\u003ccode\u003ea172e7b\u003c/code\u003e\u003c/a\u003e Release 1.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/floraison/fugit/compare/v1.4.2...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 0.4.2 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\u003c/p\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003cp\u003eStable API release.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eThe code is the same as the 0.6.0 release.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eActiveRecord::FixtureSet.signed_global_id\u003c/code\u003e helper to generate signed ids inside fixtures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd back Ruby 2.5 support so \u003ccode\u003egem install rails\u003c/code\u003e works out of the box, thereby satisfying Rails' Ruby version requirement. See \u003ca href=\"https://redirect.github.com/rails/rails/issues/42931\"\u003erails/rails#42931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Allow expiration to be turned off globally \u003ca href=\"https://redirect.github.com/rails/globalid/pull/128\"\u003erails/globalid#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed: Support for ruby-head \u003ca href=\"https://redirect.github.com/rails/globalid/pull/132\"\u003erails/globalid#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMaintainance: Drop support for EOL'ed Rubies (\u0026lt; 2.6.0) and Rails 4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42f5ea6b4c638024c8865c1e4a4dbeb991198557\"\u003e\u003ccode\u003e42f5ea6\u003c/code\u003e\u003c/a\u003e Prepare for 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/beab3e4bc7d3fe1af27367de6c90b4d31618ed44\"\u003e\u003ccode\u003ebeab3e4\u003c/code\u003e\u003c/a\u003e Prepare to 0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/29e12cb85d3432872985ad7cef20316ca80f5b2f\"\u003e\u003ccode\u003e29e12cb\u003c/code\u003e\u003c/a\u003e Upgrade all development gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c894a430d42b4f6351903bcff30f7e52bf95b364\"\u003e\u003ccode\u003ec894a43\u003c/code\u003e\u003c/a\u003e Add devcontainer to allow contributors to have a working environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b3ec8b9314555dede5b865ea7ad30c421bddbaea\"\u003e\u003ccode\u003eb3ec8b9\u003c/code\u003e\u003c/a\u003e Move ActiveRecord::FixtureSet.signed_global_id to this gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/e9d6ed993c88558cc4901e084304dee140704c4b\"\u003e\u003ccode\u003ee9d6ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/137\"\u003e#137\u003c/a\u003e from rails/dependabot/bundler/nokogiri-1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a565d31d602cb32b32c02bcbb36d91bcf2b0c735\"\u003e\u003ccode\u003ea565d31\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.11.7 to 1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9b1a4d21fed3c22cf9df0986ad087d1dadc42b4b\"\u003e\u003ccode\u003e9b1a4d2\u003c/code\u003e\u003c/a\u003e Why u no love me?\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v0.4.2...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `loofah` from 2.18.0 to 2.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/flavorjones/loofah/releases\"\u003eloofah's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/blob/main/CHANGELOG.md\"\u003eloofah's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/commit/3f8806300089135f7832a59aa2689a6674d37897\"\u003e\u003ccode\u003e3f88063\u003c/code\u003e\u003c/a\u003e version bump to v2.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/9a8dadbcfd94a0bfc3cd0413b8a7d9efee00a5c8\"\u003e\u003ccode\u003e9a8dadb\u003c/code\u003e\u003c/a\u003e docs: preserve the context and decision record\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/86f7f6364491b0099d215db858ecdc0c89ded040\"\u003e\u003ccode\u003e86f7f63\u003c/code\u003e\u003c/a\u003e fix: replace recursive approach to cdata with escaping solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/415677f3cf7f9254f42f811e784985cd63c7407f\"\u003e\u003ccode\u003e415677f\u003c/code\u003e\u003c/a\u003e fix: do not allow \u0026quot;image/svg+xml\u0026quot; in data URIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/84ca20c58a0e8addf08a2cfc8b6fca4d7d10f033\"\u003e\u003ccode\u003e84ca20c\u003c/code\u003e\u003c/a\u003e refactor: extract scrub_uri_attribute for downstream use\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/47a835afbfffcb8c51c17ce50b5171c823c51b57\"\u003e\u003ccode\u003e47a835a\u003c/code\u003e\u003c/a\u003e ci: pin psych to v4 until v5 builds properly on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/a6e0a1ab90675a17b1b2be189129d94139e4b143\"\u003e\u003ccode\u003ea6e0a1a\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with crass parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/ea853aaa8d3aa3ebeebe6029877bbbe582aee140\"\u003e\u003ccode\u003eea853aa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/247\"\u003e#247\u003c/a\u003e from flavorjones/flavorjones-downstream-test-rhs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/e1f2a4b15c5a611780f93d87544f91365c4a02dd\"\u003e\u003ccode\u003ee1f2a4b\u003c/code\u003e\u003c/a\u003e ci: test downstream rails-html-sanitizer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/79d65a0e8b042847240e355dbdfd0f43ccda7647\"\u003e\u003ccode\u003e79d65a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/245\"\u003e#245\u003c/a\u003e from flavorjones/flavorjones-fix-ruby-2.5-ci\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.18.0...v2.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.13.10 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.13.10...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.4 to 2.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v\"\u003eCVE-2025-27610\u003c/a\u003e Local file inclusion in \u003ccode\u003eRack::Static\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.12] - 2025-03-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v\"\u003eCVE-2025-27111\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::Sendfile\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.11] - 2025-02-12\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/493a4119ea010a7ac3dbc0ff579fc8af42e24ba4\"\u003e\u003ccode\u003e493a411\u003c/code\u003e\u003c/a\u003e Fix thin integration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71\"\u003e\u003ccode\u003e54e4ffd\u003c/code\u003e\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9163ac3f5fac795179f9935e2ba6533a0ca1cf82\"\u003e\u003ccode\u003e9163ac3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/8e52d2a3769e83fc698784b06c82703ba40448e7\"\u003e\u003ccode\u003e8e52d2a\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/rack/rack/issues/2263\"\u003e#2263\u003c/a\u003e to v2.2, fix: malformed charset param (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2338\"\u003e#2338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2a32ecaaa8460a9af9963ee46ba04afbd1b47220\"\u003e\u003ccode\u003e2a32eca\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/034a13c80dc639c8a4e794f425e5e9e17ede856b\"\u003e\u003ccode\u003e034a13c\u003c/code\u003e\u003c/a\u003e Change CGI::Cookie.new to Cookie.new (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2335\"\u003e#2335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/2.2.4...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails-html-sanitizer` from 1.4.3 to 1.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/releases\"\u003erails-html-sanitizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md\"\u003erails-html-sanitizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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-html-sanitizer/commit/fd63deaeb22e601237d4d4d12014e7ebd410ea9b\"\u003e\u003ccode\u003efd63dea\u003c/code\u003e\u003c/a\u003e version bump to v1.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/48ae90acfce9cacbd7cec9963498f6a7b5bc3d5c\"\u003e\u003ccode\u003e48ae90a\u003c/code\u003e\u003c/a\u003e dep: bump dependency on loofah\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/0713caf2ee23801cfb85e37065cf406368b20082\"\u003e\u003ccode\u003e0713caf\u003c/code\u003e\u003c/a\u003e fix: escape CDATA nodes using Loofah's escaping methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/e6d52d3b6db99d07399498b1287997302d444a8d\"\u003e\u003ccode\u003ee6d52d3\u003c/code\u003e\u003c/a\u003e revert 45a5c10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/d1223a29cb3e4151cdcb6ba6c8431708d8ce40a6\"\u003e\u003ccode\u003ed1223a2\u003c/code\u003e\u003c/a\u003e fix: use Loofah's scrub_uri_attribute method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/f0e33477a0557dbdbefc3e470c7df3a64efb002a\"\u003e\u003ccode\u003ef0e3347\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with Loofah method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/df03f2f600cafff3e349b1ec48b730c43b381b65\"\u003e\u003ccode\u003edf03f2f\u003c/code\u003e\u003c/a\u003e ci: pin system lib test to 20.04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3e2a0f39f8ede1368436580e1ba02f9e08585858\"\u003e\u003ccode\u003e3e2a0f3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/145\"\u003e#145\u003c/a\u003e from rails/flavorjones-get-14x-green\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/11752a6427283e8a836608cd1d3ba27b6fb97f78\"\u003e\u003ccode\u003e11752a6\u003c/code\u003e\u003c/a\u003e tests: handle libxml 2.10.0 incorrectly-opened comment parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails-html-sanitizer/compare/v1.4.3...v1.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.2.5 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.2.5...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webrick` from 1.7.0 to 1.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/webrick/releases\"\u003ewebrick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop commented-out line 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/webrick/pull/108\"\u003eruby/webrick#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.1 \u0026amp; 3.2 to CI matrix by \u003ca href=\"https://github.com/tricknotes\"\u003e\u003ccode\u003e@​tricknotes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/109\"\u003eruby/webrick#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix/redos by \u003ca href=\"https://github.com/ooooooo-q\"\u003e\u003ccode\u003e@​ooooooo-q\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/114\"\u003eruby/webrick#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise HTTPStatus::BadRequest for requests with invalid/duplicate content-length headers by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/120\"\u003eruby/webrick#120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/121\"\u003eruby/webrick#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CI 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/webrick/pull/123\"\u003eruby/webrick#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix WEBrick::TestFileHandler#test_short_filename test not working on mswin by \u003ca href=\"https://github.com/KJTsanaktsidis\"\u003e\u003ccode\u003e@​KJTsanaktsidis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/128\"\u003eruby/webrick#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bug chunk extension detection by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/125\"\u003eruby/webrick#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/131\"\u003eruby/webrick#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge multiple cookie headers, preserving semantic correctness. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/130\"\u003eruby/webrick#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on macos-latest 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/webrick/pull/132\"\u003eruby/webrick#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire CRLF line endings in request line and headers by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/138\"\u003eruby/webrick#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer squigly heredocs. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/143\"\u003eruby/webrick#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly strip space and horizontal tab in headers by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/141\"\u003eruby/webrick#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat missing CRLF separator after headers as an EOFError by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/142\"\u003eruby/webrick#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn 400 response for chunked requests with unexpected data after chunk by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/136\"\u003eruby/webrick#136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix reference to URI::REGEXP::PATTERN::HOST by \u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/144\"\u003eruby/webrick#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent request smuggling by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/146\"\u003eruby/webrick#146\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/tricknotes\"\u003e\u003ccode\u003e@​tricknotes\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/109\"\u003eruby/webrick#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ooooooo-q\"\u003e\u003ccode\u003e@​ooooooo-q\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/114\"\u003eruby/webrick#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/KJTsanaktsidis\"\u003e\u003ccode\u003e@​KJTsanaktsidis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/128\"\u003eruby/webrick#128\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/webrick/pull/132\"\u003eruby/webrick#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/144\"\u003eruby/webrick#144\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/webrick/compare/v1.8.1...v1.8.2\"\u003ehttps://github.com/ruby/webrick/compare/v1.8.1...v1.8.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBody should be non-frozen by default. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/103\"\u003eruby/webrick#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJoin test thread. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/104\"\u003eruby/webrick#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix several regexp warnings. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/105\"\u003eruby/webrick#105\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/webrick/compare/v1.8.0...v1.8.1\"\u003ehttps://github.com/ruby/webrick/compare/v1.8.0...v1.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse frozen strings by \u003ca href=\"https://github.com/kirs\"\u003e\u003ccode\u003e@​kirs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/65\"\u003eruby/webrick#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit 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/webrick/pull/66\"\u003eruby/webrick#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore rubies on CI, deprecating ruby 2.3 due to test failure by \u003ca href=\"https://github.com/mathieujobin\"\u003e\u003ccode\u003e@​mathieujobin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/68\"\u003eruby/webrick#68\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds common mime types by \u003ca href=\"https://github.com/gotoken\"\u003e\u003ccode\u003e@​gotoken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/75\"\u003eruby/webrick#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd mime type for .webmanifest extension 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/webrick/pull/76\"\u003eruby/webrick#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: use bundler-cache: true 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/webrick/pull/79\"\u003eruby/webrick#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo by \u003ca href=\"https://github.com/printfinn\"\u003e\u003ccode\u003e@​printfinn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/78\"\u003eruby/webrick#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003es/RubyVM::JIT/RubyVM::MJIT/g 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/webrick/pull/82\"\u003eruby/webrick#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix invalid use of IP addresses in SNI by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/83\"\u003eruby/webrick#83\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/webrick/commit/0fb9de6788a3ba5fe903e63d778a0fb8c1dce786\"\u003e\u003ccode\u003e0fb9de6\u003c/code\u003e\u003c/a\u003e Bump up v1.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/b9a4c81ea94dec02a750c6b34092c55234519bf1\"\u003e\u003ccode\u003eb9a4c81\u003c/code\u003e\u003c/a\u003e Removed trailing spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/f5faca9222541591e1a7c3c97552ebb0c92733c7\"\u003e\u003ccode\u003ef5faca9\u003c/code\u003e\u003c/a\u003e Prevent request smuggling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/0c600e169bd4ae267cb5eeb6197277c848323bbe\"\u003e\u003ccode\u003e0c600e1\u003c/code\u003e\u003c/a\u003e Fix reference to URI::REGEXP::PATTERN::HOST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/15a93914782789520837c334e0c302702aec34e2\"\u003e\u003ccode\u003e15a9391\u003c/code\u003e\u003c/a\u003e Return 400 response for chunked requests with unexpected data after chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/2b38d5614e876d313fe981e87c4e35b91556d226\"\u003e\u003ccode\u003e2b38d56\u003c/code\u003e\u003c/a\u003e Treat missing CRLF separator after headers as an EOFError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/e4efb4a2300540f14f93c09c06bf0357ac1597dc\"\u003e\u003ccode\u003ee4efb4a\u003c/code\u003e\u003c/a\u003e Remove unnecessary gsub calls in test_httprequest.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/426e214532bb0be5e4ab8b3c9cef328432012d0d\"\u003e\u003ccode\u003e426e214\u003c/code\u003e\u003c/a\u003e Only strip space and horizontal tab in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/e72cb697836e2ff201a4a74c108fdca9d3d2d0ed\"\u003e\u003ccode\u003ee72cb69\u003c/code\u003e\u003c/a\u003e Prefer squigly heredocs. (\u003ca href=\"https://redirect.github.com/ruby/webrick/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/ee60354bcb84ec33b9245e1d1aa6e1f7e8132101\"\u003e\u003ccode\u003eee60354\u003c/code\u003e\u003c/a\u003e Require CRLF line endings in request line and headers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/webrick/compare/v1.7.0...v1.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yard` from 0.9.28 to 0.9.37\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lsegal/yard/releases\"\u003eyard's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.9.37\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JavaScript errors in \u003ccode\u003e--one-file\u003c/code\u003e template (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix heredoc parsing and add support for squiggly heredocs (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1315\"\u003e#1315\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccessibility improvements to the default template (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1501\"\u003e#1501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved YARD documentation (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1410\"\u003e#1410\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1512\"\u003e#1512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1516\"\u003e#1516\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error when parsing \u003ccode\u003e@option\u003c/code\u003e tags (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1515\"\u003e#1515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue parsing UTF-8 filenames (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace OpenStruct with optimized YARD::OpenStruct to avoid ostruct performance warnings (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1545\"\u003e#1545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eprivate attr_*\u003c/code\u003e syntax (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove logger dependency (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1546\"\u003e#1546\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.36\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFurther XSS fixes for generated frameset pages (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove tests for Ruby 3.3 compatibility (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation improvements (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.35\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible XSS on generated YARD frameset pages (thanks to \u003ca href=\"https://github.com/RedYetiDev\"\u003e\u003ccode\u003e@​RedYetiDev\u003c/code\u003e\u003c/a\u003e for finding and patching) (2069e2b).\u003c/li\u003e\n\u003cli\u003eFix errors when using \u003ccode\u003e@option\u003c/code\u003e on non-method objects (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Ruby 3.3 changes in Ripper parser (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.34\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd changelog to yard.gemspec\u003c/li\u003e\n\u003cli\u003eFix fork behavior in \u003ccode\u003eyard server --fork\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.33\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure .yardopts is present in gem package (internal YARD documentation change)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.32\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue with custom Rack::Request attributes in \u003ccode\u003eyard server\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.31\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove dependency on webrick in YARD::Server::Com...\n\n_Description has been truncated_","html_url":"https://github.com/Centaurioun/texterify/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centaurioun%2Ftexterify/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"2894507802","node_id":"PR_kwDNQRvOrIavGg","number":357,"state":"open","title":"1.2.x: Bump the ruby-deps group across 4 directories with 10 updates","user":"dependabot[bot]","labels":["minor","dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:57:05.000Z","updated_at":"2025-10-07T15:57:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"1.2.x: Bump","group_name":"ruby-deps","update_count":10,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 3 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 1 update in the /examples/sinatra directory: [rack](https://github.com/rack/rack).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per elem...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/357","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/357","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/357/packages"},{"uuid":"2894506912","node_id":"PR_kwDNQRvOrIaroA","number":356,"state":"closed","title":"Bump the ruby-deps group across 4 directories with 10 updates","user":"dependabot[bot]","labels":["minor","dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-07T15:57:42.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:56:46.000Z","updated_at":"2025-10-07T15:57:42.000Z","time_to_close":56,"merged_at":"2025-10-07T15:57:42.000Z","merged_by":"chadlwilson","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-deps","update_count":10,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 3 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 1 update in the /examples/sinatra directory: [rack](https://github.com/rack/rack).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per elem...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/356","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/356","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/356/packages"},{"uuid":"2894488477","node_id":"PR_kwDNQRvOrIZjnQ","number":354,"state":"open","title":"Bump the ruby-deps group across 4 directories with 12 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:49:39.000Z","updated_at":"2025-10-07T15:49:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-deps","update_count":12,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 3 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/354","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/354","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/354/packages"},{"uuid":"2894484400","node_id":"PR_kwDOBA_Dp86shlOw","number":86,"state":"open","title":"Bump the bundler group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:48:19.000Z","updated_at":"2025-10-07T15:48:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":4,"packages":[{"name":"globalid","old_version":"1.0.0","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"net-imap","old_version":"0.3.4","new_version":"0.3.9","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.14.0","new_version":"1.18.9","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"rack","old_version":"2.2.6","new_version":"2.2.18","repository_url":"https://github.com/rack/rack"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 4 updates in the / directory: [globalid](https://github.com/rails/globalid), [net-imap](https://github.com/ruby/net-imap), [nokogiri](https://github.com/sparklemotion/nokogiri) and [rack](https://github.com/rack/rack).\n\nUpdates `globalid` from 1.0.0 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\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/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/globalid/compare/v1.0.0...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.3.4 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\n\u003cem\u003eThe \u003ccode\u003e0.3.x\u003c/code\u003e release branch only receives security fixes, and will be unsupported when ruby 3.2 is EOL.\nPlease upgrade to a newer version.\u003c/em\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security\u003c/h3\u003e\n\u003cp\u003eThis release backports two features to prevent unbounded memory use: the \u003ccode\u003eresponse_handlers\u003c/code\u003e keyword argument to \u003ccode\u003eNet::IMAP.new\u003c/code\u003e so response handlers can be added before the server can send any responses (\u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/438\"\u003eruby/net-imap#438\u003c/a\u003e), and the \u003ccode\u003emax_response_size\u003c/code\u003e config attribute (\u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/446\"\u003eruby/net-imap#446\u003c/a\u003e, GHSA-j3g3-5qv5-52mj, CVE-2025-43857, reported by \u003ca href=\"https://github.com/Masamuneee\"\u003e\u003ccode\u003e@​Masamuneee\u003c/code\u003e\u003c/a\u003e).\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThe default \u003ccode\u003emax_response_size\u003c/code\u003e is \u003ccode\u003enil\u003c/code\u003e (unlimited), to avoid backward compatibility issues with secure connections to trusted servers that are well-behaved. It can be configured more conservatively to guard against untrusted servers (for example, connecting to user-provided hostnames). \u003cem\u003eIt is the responsibility of \u003ccode\u003enet-imap\u003c/code\u003e users to configure their client appropriately for the server they are connecting to.\u003c/em\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Backport \u003ccode\u003eresponse_handlers\u003c/code\u003eoption to \u003ccode\u003enew\u003c/code\u003e  by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/438\"\u003eruby/net-imap#438\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/419\"\u003e#419\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/427\"\u003e#427\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e✨ Limit max_response_size by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/446\"\u003eruby/net-imap#446\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/444\"\u003e#444\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Use \u003ccode\u003eRange#size\u003c/code\u003e vs \u003ccode\u003eRange#count\u003c/code\u003e for \u003ccode\u003euid-set\u003c/code\u003e limit by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/411\"\u003eruby/net-imap#411\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Docs: receiver thread, server responses, connection state by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/437\"\u003eruby/net-imap#437\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/418\"\u003e#418\u003c/a\u003e, and only the documentation from \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/416\"\u003e#416\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Backport \u003ccode\u003eResponseReader\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/439\"\u003eruby/net-imap#439\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/422\"\u003e#422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/433\"\u003e#433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/434\"\u003e#434\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/435\"\u003e#435\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/ruby/net-imap/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security Fix\u003c/h3\u003e\n\u003cp\u003eMitigates CVE-2025-25186 (GHSA-7fc5-f82f-cx69): A malicious server can exhaust client memory by sending \u003ccode\u003eAPPENDUID\u003c/code\u003e or \u003ccode\u003eCOPYUID\u003c/code\u003e responses with very large \u003ccode\u003euid-set\u003c/code\u003e ranges. \u003ccode\u003eNet::IMAP::UIDPlusData\u003c/code\u003e expands these ranges into arrays of integers.\u003c/p\u003e\n\u003ch4\u003eFix with minor API changes\u003c/h4\u003e\n\u003cp\u003eFor v0.3.8, this option is not available.  Upgrade to v0.4.19, v0.5.6, or higher to replace \u003ccode\u003eUIDPlusData\u003c/code\u003e with \u003ccode\u003eAppendUIDData\u003c/code\u003e and \u003ccode\u003eCopyUIDData\u003c/code\u003e.  These classes store their UIDs as \u003ccode\u003eNet::IMAP::SequenceSet\u003c/code\u003e objects (\u003cem\u003enot\u003c/em\u003e expanded into arrays of integers).\u003c/p\u003e\n\u003ch4\u003eMitigate with backward compatible API\u003c/h4\u003e\n\u003cp\u003eThis release mitigates the attack by crashing if a server tries to send a \u003ccode\u003euid-set\u003c/code\u003e that represents more than 10,000 numbers.  This should be larger than almost all legitimate \u003ccode\u003eCOPYUID\u003c/code\u003e or \u003ccode\u003eAPPENDUID\u003c/code\u003e responses and would limit the array to only 80KB (on a 64 bit system).\u003c/p\u003e\n\u003cp\u003eFor v0.3.8, this option is not configurable.  Upgrade to v0.4.19, v0.5.6, or higher to configure this limit.\u003c/p\u003e\n\u003ch4\u003ePlease Note: unhandled responses\u003c/h4\u003e\n\u003cp\u003eIf the client does not add response handlers to prune unhandled responses, a malicious server can still eventually exhaust all client memory, by repeatedly sending malicious responses.  However, \u003ccode\u003enet-imap\u003c/code\u003e has always retained unhandled responses, and it has always been necessary for long-lived connections to prune these responses.  This is not significantly different from connecting to a trusted server with a long-lived connection.  To limit the maximum number of retained responses, a simple handler might look something like the following:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/d86186dee3bc0304c3d1e7d7f1ff1fd54d144d03\"\u003e\u003ccode\u003ed86186d\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to v0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/2aadab9f5338f46b64d4da9042ac721f0fd8281d\"\u003e\u003ccode\u003e2aadab9\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/446\"\u003e#446\u003c/a\u003e from ruby/backport/v0.3-max_response_size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/e0059251e854cb03d5209c682ba3484fcb6953cd\"\u003e\u003ccode\u003ee005925\u003c/code\u003e\u003c/a\u003e ✅ Fix backport to not-imap 0.3 and ruby 2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ae0fa010bb5e3c95b9beee31af607d4dba619d63\"\u003e\u003ccode\u003eae0fa01\u003c/code\u003e\u003c/a\u003e ✅ Fix backport compatibility with ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/158cfdff54f3961b0ec628136444e3b0b0bb1736\"\u003e\u003ccode\u003e158cfdf\u003c/code\u003e\u003c/a\u003e ✨ Make max_response_size configurable [🚧 partial]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/53ceba1e97cbc3ac4d141077732178cc8bc79476\"\u003e\u003ccode\u003e53ceba1\u003c/code\u003e\u003c/a\u003e ✨ Limit max response size to 512MiB (hard-coded)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4d1206e168b51887481f951d86f66122a069191a\"\u003e\u003ccode\u003e4d1206e\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/439\"\u003e#439\u003c/a\u003e from ruby/backport/v0.3-response_reader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/19495b807371a279098a13a51e2b68d2d7c7c532\"\u003e\u003ccode\u003e19495b8\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/438\"\u003e#438\u003c/a\u003e from ruby/backport/v0.3-response_handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/945df803de4a20f5b9759c98266cb79fd18aa95b\"\u003e\u003ccode\u003e945df80\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/437\"\u003e#437\u003c/a\u003e from ruby/backport/v0.3-document-response-limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b0a6039e8edf83c3871397cd11acb01236336d8c\"\u003e\u003ccode\u003eb0a6039\u003c/code\u003e\u003c/a\u003e ✅ Fix backport compatibility with ruby 2.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.3.4...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.14.0 to 1.18.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e  nokogiri-1.18.8-aarch64-linux-gnu.gem\n664e0f9a77a7122a66d6c03abba7641ca610769a4728db55ee1706a0838b78a2  nokogiri-1.18.8-aarch64-linux-musl.gem\n483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212  nokogiri-1.18.8-arm64-darwin.gem\n17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e  nokogiri-1.18.8-arm-linux-gnu.gem\n6e6d7e71fc39572bd613a82d528cf54392c3de1ba5ce974f05c832b8187a040b  nokogiri-1.18.8-arm-linux-musl.gem\n8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365  nokogiri-1.18.8.gem\n41002596960ff854198a20aaeb34cff0d445406d5ad85ba7ca9c3fd0c8f03de0  nokogiri-1.18.8-java.gem\n11ab0f76772c5f2d718fb253fca5b74c6ef7628b72bbf8deba6ab1ffc93344cf  nokogiri-1.18.8-x64-mingw-ucrt.gem\n024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c  nokogiri-1.18.8-x86_64-darwin.gem\n4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc  nokogiri-1.18.8-x86_64-linux-gnu.gem\nddd735fba49475a395b9ea793bb6474e3a3125b89960339604d08a5397de1165  nokogiri-1.18.8-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.3 / 2025-02-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6\"\u003ev2.13.6\u003c/a\u003e to address CVE-2025-24928 and CVE-2024-56171. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-vvfq-8hwr-qm4m\"\u003eGHSA-vvfq-8hwr-qm4m\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.2 / 2024-01-19\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/sparklemotion/nokogiri/commit/1dcd8ce30365ebd4620a3b823bf806b127eeefc3\"\u003e\u003ccode\u003e1dcd8ce\u003c/code\u003e\u003c/a\u003e version bump to v1.18.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/a05d2b44b930072af70dad12bddbac67f36c6f90\"\u003e\u003ccode\u003ea05d2b4\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3526\"\u003e#3526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/947a55e87edff3c6d76ffd81f07da728e67c9b82\"\u003e\u003ccode\u003e947a55e\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9187f4af0dc3cc7ea439bd4957a2fbfab18f6665\"\u003e\u003ccode\u003e9187f4a\u003c/code\u003e\u003c/a\u003e version bump to v1.18.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1deea041e3f359ccef67abadf19f0d634bf473dd\"\u003e\u003ccode\u003e1deea04\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8 (branch \u003ccode\u003ev1.18.x\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3509\"\u003e#3509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6457fe639359edda9f8817994bc4935abae3e81e\"\u003e\u003ccode\u003e6457fe6\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/13e8aa4ef52f39d1273d2435bd6bfa98982471ef\"\u003e\u003ccode\u003e13e8aa4\u003c/code\u003e\u003c/a\u003e version bump to v1.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/605699d271ee5d7f58ab29c4550fad42b9cc3d69\"\u003e\u003ccode\u003e605699d\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7 (v1.18.x backport) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/804e59038c4318ebe7ba0dc08105cff2030df415\"\u003e\u003ccode\u003e804e590\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/52bf15b62d4e576292e21ac948030783333f9e0b\"\u003e\u003ccode\u003e52bf15b\u003c/code\u003e\u003c/a\u003e dep(dev): drop Rubocop from JRuby deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.14.0...v1.18.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.6 to 2.2.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v\"\u003eCVE-2025-27610\u003c/a\u003e Local file inclusion in \u003ccode\u003eRack::Static\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.12] - 2025-03-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v\"\u003eCVE-2025-27111\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::Sendfile\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.11] - 2025-02-12\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7g2v-jj9q-g3rg\"\u003eCVE-2025-25184\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::CommonLogger\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.10] - 2024-10-14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility issues with Ruby v3.4.0. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2248\"\u003e#2248\u003c/a\u003e, \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.9] - 2023-03-21\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/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/493a4119ea010a7ac3dbc0ff579fc8af42e24ba4\"\u003e\u003ccode\u003e493a411\u003c/code\u003e\u003c/a\u003e Fix thin integration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71\"\u003e\u003ccode\u003e54e4ffd\u003c/code\u003e\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9163ac3f5fac795179f9935e2ba6533a0ca1cf82\"\u003e\u003ccode\u003e9163ac3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/8e52d2a3769e83fc698784b06c82703ba40448e7\"\u003e\u003ccode\u003e8e52d2a\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/rack/rack/issues/2263\"\u003e#2263\u003c/a\u003e to v2.2, fix: malformed charset param (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2338\"\u003e#2338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2a32ecaaa8460a9af9963ee46ba04afbd1b47220\"\u003e\u003ccode\u003e2a32eca\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/034a13c80dc639c8a4e794f425e5e9e17ede856b\"\u003e\u003ccode\u003e034a13c\u003c/code\u003e\u003c/a\u003e Change CGI::Cookie.new to Cookie.new (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2335\"\u003e#2335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d2b6af2062a4687f928491f801984b948a63ecbb\"\u003e\u003ccode\u003ed2b6af2\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/f34f2ebfc8e5f5019a6aca6fccf427b4f0aadeff\"\u003e\u003ccode\u003ef34f2eb\u003c/code\u003e\u003c/a\u003e Feature detect \u003ccode\u003eCGI::Cookie\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2f928b9f141d848b81ca464d0c6fe3dc57469c38\"\u003e\u003ccode\u003e2f928b9\u003c/code\u003e\u003c/a\u003e Replace usage of CGI::Cookie (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2329\"\u003e#2329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6...v2.2.18\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Brown-University-Library/vivo-on-rails/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Brown-University-Library/vivo-on-rails/pull/86","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brown-University-Library%2Fvivo-on-rails/issues/86","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/86/packages"},{"uuid":"3491907227","node_id":"PR_kwDNQRvOrIRtTA","number":353,"state":"open","title":"1.2.x: Bump the ruby-deps group across 4 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:10:36.000Z","updated_at":"2025-10-07T16:17:42.225Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"1.2.x: Bump","group_name":"ruby-deps","update_count":13,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"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 ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 4 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rackup](https://github.com/rack/rackup), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.19 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf711...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/353","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/353","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/353/packages"},{"uuid":"3491906866","node_id":"PR_kwDNQRvOrIRsCA","number":352,"state":"open","title":"Bump the ruby-deps group across 4 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":12,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:10:31.000Z","updated_at":"2025-10-07T16:18:22.770Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-deps","update_count":13,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"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 ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 4 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rackup](https://github.com/rack/rackup), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.19 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf711...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/352","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/352","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/352/packages"},{"uuid":"3491862064","node_id":"PR_kwDNQRvOrIPVbg","number":350,"state":"open","title":"1.2.x: Bump the ruby-deps group across 4 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T14:58:21.000Z","updated_at":"2025-10-07T16:14:10.778Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"1.2.x: Bump","group_name":"ruby-deps","update_count":15,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"erb","old_version":"4.0.4","new_version":"5.0.3","repository_url":"https://github.com/ruby/erb"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"},{"name":"zeitwerk","old_version":"2.6.18","new_version":"2.7.3","repository_url":"https://github.com/fxn/zeitwerk"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 4 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rackup](https://github.com/rack/rackup), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 10 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [erb](https://github.com/ruby/erb) | `4.0.4` | `5.0.3` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n| [zeitwerk](https://github.com/fxn/zeitwerk) | `2.6.18` | `2.7.3` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.19 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 4.0.4 to 5.0.3\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.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate help of erb(1) \u003ca href=\"https://redirect.github.com/ruby/erb/pull/85\"\u003e#85\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeclare escape functions as Ractor-safe \u003ca href=\"https://redirect.github.com/ruby/erb/pull/63\"\u003e#63\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRescue \u003ccode\u003eLoadError\u003c/code\u003e when failing to load \u003ccode\u003eerb/escape\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003erequired_ruby_version\u003c/code\u003e to Ruby 3.2+ \u003ca href=\"https://redirect.github.com/ruby/erb/pull/60\"\u003e#60\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ecgi\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/ruby/erb/pull/59\"\u003e#59\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eERB::VERSION\u003c/code\u003e public\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/ddfc1ba57ec00314a833c82fb02c460b3e82ba71\"\u003e\u003ccode\u003eddfc1ba\u003c/code\u003e\u003c/a\u003e Version 5.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/1d2a22ab2d4273891c278fefe9217de17a40569c\"\u003e\u003ccode\u003e1d2a22a\u003c/code\u003e\u003c/a\u003e sync-ruby.yml: Simplify the workflow name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/8eb0e30896a69e2ff368aebc4a3b841af6ef228e\"\u003e\u003ccode\u003e8eb0e30\u003c/code\u003e\u003c/a\u003e sync-ruby.yml: Specify the repository for app token\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/d8df2e92a514b3f8a25a3fb5ec3853371ea47aeb\"\u003e\u003ccode\u003ed8df2e9\u003c/code\u003e\u003c/a\u003e sync-ruby.yml: Fix indentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/b52727fbf1b31b2e74a5282e2443d6947c6e82f9\"\u003e\u003ccode\u003eb52727f\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/86\"\u003e#86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/51c0922170dce2cde9e5eb072936334d9eca4187\"\u003e\u003ccode\u003e51c0922\u003c/code\u003e\u003c/a\u003e Remove a trailing space\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/692597b9a2fecf98fab3580b6a4d890105e83c08\"\u003e\u003ccode\u003e692597b\u003c/code\u003e\u003c/a\u003e Enhancements (mostly documentation) (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/85\"\u003e#85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/1512314a3bfb37cccb71767fe629d9a05775b101\"\u003e\u003ccode\u003e1512314\u003c/code\u003e\u003c/a\u003e [DOC] Correct two errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/a082298db74b395dade8a2e8eaabe4148bd06898\"\u003e\u003ccode\u003ea082298\u003c/code\u003e\u003c/a\u003e [DOC] Doc for #def_method and #def_module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/4ca7784f10a2258fb06c1f866c4ec1e7069e48ad\"\u003e\u003ccode\u003e4ca7784\u003c/code\u003e\u003c/a\u003e [DOC] Doc for ERB#def_class\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/erb/compare/v4.0.4...v5.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf71134032414e03683344161ba2822f0ce\"\u003e\u003ccode\u003e507eebf\u003c/code\u003e\u003c/a\u003e Update pp for Set to use new inspect format (\u003ca href=\"https://redirect.github.com/ruby/pp/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/24a0d3ff1c88efd31462377e15bbf6e3a90305b3\"\u003e\u003ccode\u003e24a0d3f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/56\"\u003e#56\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/6615b62d7b269391cff131f00ac2754808936c46\"\u003e\u003ccode\u003e6615b62\u003c/code\u003e\u003c/a\u003e Refine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/99064d28dc5e5881926c17eb73216491860ffbb0\"\u003e\u003ccode\u003e99064d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/55\"\u003e#55\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/352081dbbf22b968830848c2fb735d43530d3329\"\u003e\u003ccode\u003e352081d\u003c/code\u003e\u003c/a\u003e Do not override the methods in set.rb\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 6.14.2 to 6.15.0\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.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\u003eAllow rdoc-ref to link to non-text files by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1376\"\u003eruby/rdoc#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSearch automatically on ?q= URL query parameter by \u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esearcher.js: Escape characters when building regexps 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/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix backslash handling in table cell code spans 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/1400\"\u003eruby/rdoc#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags 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/1427\"\u003eruby/rdoc#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve inline styling inside tidy link labels 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/1428\"\u003eruby/rdoc#1428\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/rdoc/pull/1393\"\u003eruby/rdoc#1393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix \u003ccode\u003ewarn_missing_rdoc_ref\u003c/code\u003e default value in doc 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/1408\"\u003eruby/rdoc#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Correct levels of headings 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/rdoc/pull/1412\"\u003eruby/rdoc#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Tweaks for markup reference intro 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/rdoc/pull/1411\"\u003eruby/rdoc#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Re-format section Directives 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/rdoc/pull/1418\"\u003eruby/rdoc#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate README to markdown 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/1422\"\u003eruby/rdoc#1422\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u0026quot;poeple\u0026quot; typo and reword for clarity by \u003ca href=\"https://github.com/p8\"\u003e\u003ccode\u003e@​p8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1388\"\u003eruby/rdoc#1388\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/rdoc/pull/1392\"\u003eruby/rdoc#1392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape unescaped backslash at the end of code 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/rdoc/pull/1404\"\u003eruby/rdoc#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-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/1406\"\u003eruby/rdoc#1406\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/rdoc/pull/1407\"\u003eruby/rdoc#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Shorten the description text to get rid of JRuby exception\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1401\"\u003eruby/rdoc#1401\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrim even spaces only in code 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/rdoc/pull/1405\"\u003eruby/rdoc#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCommit generated files 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/1410\"\u003eruby/rdoc#1410\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/rdoc/pull/1415\"\u003eruby/rdoc#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/github-script from 7 to 8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1423\"\u003eruby/rdoc#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange error message assertion to make it pass in JRuby 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/rdoc/pull/1425\"\u003eruby/rdoc#1425\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/rdoc/pull/1426\"\u003eruby/rdoc#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings 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/rdoc/pull/1409\"\u003eruby/rdoc#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 6.15.0 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/1429\"\u003eruby/rdoc#1429\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\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.14.2...v6.15.0\"\u003ehttps://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/c33d173ffabe9df139efd48bce1986d08a2bbebe\"\u003e\u003ccode\u003ec33d173\u003c/code\u003e\u003c/a\u003e Bump version to 6.15.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/6b6033b588b917682fd102fc0c1b02d3f53b4620\"\u003e\u003ccode\u003e6b6033b\u003c/code\u003e\u003c/a\u003e Preserve inline styling inside tidy link labels (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e0051be26ae979882a1034f41499112d14ac878a\"\u003e\u003ccode\u003ee0051be\u003c/code\u003e\u003c/a\u003e Fix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/88db6135378d31c43250f3961eab71b1efa42f19\"\u003e\u003ccode\u003e88db613\u003c/code\u003e\u003c/a\u003e Fix warnings (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/b72648569b8db657867ab61e6fa25d106dedf46e\"\u003e\u003ccode\u003eb726485\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/71d4090e4841f591b4e9ae518fc329d71fdcc1f5\"\u003e\u003ccode\u003e71d4090\u003c/code\u003e\u003c/a\u003e Change error message assertion to make it pass in JRuby (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/2308312eef53d6eca446188fa2a4e1988b78ed0d\"\u003e\u003ccode\u003e2308312\u003c/code\u003e\u003c/a\u003e Migrate README to markdown (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1422\"\u003e#1422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1e4573b56e75c6b8fa97250989b9a7701a9bb0f0\"\u003e\u003ccode\u003e1e4573b\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 7 to 8 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1423\"\u003e#1423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e2dec097f2086cc7df564dda51f5f95bc431cbfa\"\u003e\u003ccode\u003ee2dec09\u003c/code\u003e\u003c/a\u003e [DOC] Re-format section Directives (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f2fefe0ee7e6aae72387f813edccbeee30a8dc84\"\u003e\u003ccode\u003ef2fefe0\u003c/code\u003e\u003c/a\u003e [DOC] Tweaks for markup reference intro (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.6.18 to 2.7.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md\"\u003ezeitwerk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.3 (20 May 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe helper \u003ccode\u003eZeitwerk::Loader#cpath_expected_at\u003c/code\u003e did not work correctly if the\ninflector had logic that relied on the absolute path of the given file or\ndirectory. This has been fixed.\u003c/p\u003e\n\u003cp\u003eThis bug was found by \u003ca href=\"https://openai.com/codex/\"\u003eCodex\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerpetual internal work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.2 (18 February 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInternal improvements and micro-optimizations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd stable TruffleRuby to CI.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.1 (19 October 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMicro-optimization in a hot path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaises \u003ccode\u003eZeitwerk::Error\u003c/code\u003e if an autoloaded constant expected to represent a\nnamespace does not store a class or module object.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdds \u003ccode\u003etruffleruby-head\u003c/code\u003e to CI, except for autoloading thread-safety\n(see why in \u003ca href=\"https://redirect.github.com/oracle/truffleruby/issues/2431\"\u003eoracle/truffleruby#2431\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.0 (11 October 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fxn/zeitwerk#explicit-namespaces\"\u003eExplicit namespaces\u003c/a\u003e can\nnow also be defined using constant assignments.\u003c/p\u003e\n\u003cp\u003eWhile constant assignments like\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# coordinates.rb\n\u003cp\u003eCoordinates = Data.define(:x, :y)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eworked for most objects, they did not for classes and modules that were also\nnamespaces (i.e., those defined by a file and matching subdirectories). In\nsuch cases, their child constants could not be autoloaded.\u003c/p\u003e\n\u003cp\u003eThis limitation has been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eTracePoint\u003c/code\u003e is no longer used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Ruby 3.2 or later.\u003c/p\u003e\n\u003cp\u003eGems tha...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/350","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/350","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/350/packages"},{"uuid":"2890717130","node_id":"PR_kwDOA0Nktc6sTNfK","number":444,"state":"closed","title":"Bump the bundler-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-07T22:30:05.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T15:20:01.000Z","updated_at":"2025-10-07T22:30:05.000Z","time_to_close":112204,"merged_at":"2025-10-07T22:30:05.000Z","merged_by":"bensheldon","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-dependencies","update_count":12,"packages":[{"name":"rouge","old_version":"4.6.0","new_version":"4.6.1","repository_url":"https://github.com/rouge-ruby/rouge"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"vernier","old_version":"1.8.0","new_version":"1.8.1","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"sass-embedded","old_version":"1.93.1","new_version":"1.93.2","repository_url":"https://github.com/sass-contrib/sass-embedded-host-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rouge](https://github.com/rouge-ruby/rouge) | `4.6.0` | `4.6.1` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.8.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.33.4` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.4.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [sass-embedded](https://github.com/sass-contrib/sass-embedded-host-ruby) | `1.93.1` | `1.93.2` |\n\n\nUpdates `rouge` from 4.6.0 to 4.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/releases\"\u003erouge's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.1\u003c/h2\u003e\n\u003cp\u003eThis release focuses on bug fixes and compatibility improvements across multiple lexers. We've fixed Ruby method definition highlighting for comparable methods. The TOML lexer has been realigned with the Pygments counterpart for better consistency. Language support has been enhanced with recognition of .resource files as Robot Framework files and improved Lua lexer handling of escaped quotes. The INI parser now supports standalone options, and the CSS lexer has been updated to support range context in media queries. Thanks to all our contributors for their valuable work on making Rouge more robust!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ehttps://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md\"\u003erouge's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eversion 4.6.1: 2025-09-25\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003eComparison with the previous version\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGeneral\n\u003cul\u003e\n\u003cli\u003eAdd ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2154/\"\u003e#2154\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003cli\u003eReplace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2131/\"\u003e#2131\u003c/a\u003e by Earlopain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCSS Lexer\n\u003cul\u003e\n\u003cli\u003eCSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2160/\"\u003e#2160\u003c/a\u003e by Gerard)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eINI Lexer\n\u003cul\u003e\n\u003cli\u003eSupport standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2161/\"\u003e#2161\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLua Lexer\n\u003cul\u003e\n\u003cli\u003eBugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2155/\"\u003e#2155\u003c/a\u003e by Nicholas Reaves)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRobot Framework Lexer\n\u003cul\u003e\n\u003cli\u003eRecognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2158/\"\u003e#2158\u003c/a\u003e by Vasiliy)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRuby Lexer\n\u003cul\u003e\n\u003cli\u003eFix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2149/\"\u003e#2149\u003c/a\u003e by Hartley McGuire)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTOML Lexer\n\u003cul\u003e\n\u003cli\u003eRealign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2152/\"\u003e#2152\u003c/a\u003e by Tan Le)\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/rouge-ruby/rouge/commit/7a879833337f68fd358c350366db3f24cf441ed7\"\u003e\u003ccode\u003e7a87983\u003c/code\u003e\u003c/a\u003e Release v4.6.1 (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2164\"\u003e#2164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/55b9ea967c75a63d7669a7797cd5b33644036ef1\"\u003e\u003ccode\u003e55b9ea9\u003c/code\u003e\u003c/a\u003e CSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2160\"\u003e#2160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/70a77c3d54ee449460f92eae14b1dd472be92fd3\"\u003e\u003ccode\u003e70a77c3\u003c/code\u003e\u003c/a\u003e Support standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2161\"\u003e#2161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/e5cb72f7b24b39e36e6ee4f086644897ae567c4e\"\u003e\u003ccode\u003ee5cb72f\u003c/code\u003e\u003c/a\u003e Bugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2155\"\u003e#2155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/87662dda2bb2fe5b36bdff78d22dfd886183e08f\"\u003e\u003ccode\u003e87662dd\u003c/code\u003e\u003c/a\u003e Recognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2158\"\u003e#2158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/d917e336f89f1d5554b816980b1828b3ed75c1af\"\u003e\u003ccode\u003ed917e33\u003c/code\u003e\u003c/a\u003e Add ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2154\"\u003e#2154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/aabe2490d40ef793aa72e8eff6851f343af89dde\"\u003e\u003ccode\u003eaabe249\u003c/code\u003e\u003c/a\u003e Realign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/a59d414b45ec2b68f372a8e2661f554c6fcd8d3d\"\u003e\u003ccode\u003ea59d414\u003c/code\u003e\u003c/a\u003e Replace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/327071fe99f3efbe295d3b3a9263c7bec5bdec47\"\u003e\u003ccode\u003e327071f\u003c/code\u003e\u003c/a\u003e Fix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2149\"\u003e#2149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vernier` from 1.8.0 to 1.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhawthorn/vernier/releases\"\u003evernier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd more colours by \u003ca href=\"https://github.com/elenatanasoiu\"\u003e\u003ccode\u003e@​elenatanasoiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/pull/121\"\u003ejhawthorn/vernier#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the row limit in the CLI profile output by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/pull/163\"\u003ejhawthorn/vernier#163\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/elenatanasoiu\"\u003e\u003ccode\u003e@​elenatanasoiu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/pull/121\"\u003ejhawthorn/vernier#121\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jhawthorn/vernier/compare/v1.8.0...v1.8.1\"\u003ehttps://github.com/jhawthorn/vernier/compare/v1.8.0...v1.8.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/59317c1ce8bbd76d5275765ef6ce12453fa80c71\"\u003e\u003ccode\u003e59317c1\u003c/code\u003e\u003c/a\u003e v1.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/154737b5831a5f7365cffcfa5e45dc494ec6aedc\"\u003e\u003ccode\u003e154737b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/issues/163\"\u003e#163\u003c/a\u003e from tenderlove/fix-row-limit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f43167453e7606bafc603e3cd57036cacb22cdd5\"\u003e\u003ccode\u003ef431674\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/issues/121\"\u003e#121\u003c/a\u003e from elenatanasoiu/keith-elena/colours\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/84f8b215e1bb7382d15763982f5e3470606e5370\"\u003e\u003ccode\u003e84f8b21\u003c/code\u003e\u003c/a\u003e Clean up constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c526a5c8354e954d789da63e4af61c4fb53832d1\"\u003e\u003ccode\u003ec526a5c\u003c/code\u003e\u003c/a\u003e Move this attr_reader after constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f6e24ae1ecf864fd2b3b52b3d0f9df1db7da162a\"\u003e\u003ccode\u003ef6e24ae\u003c/code\u003e\u003c/a\u003e Match color scheme in speedscope for Kernel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/745f5aa2eb481c973f2b74c05d7b5ca516e2984a\"\u003e\u003ccode\u003e745f5aa\u003c/code\u003e\u003c/a\u003e Just map Kernel after cfunc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/dabcd0f0dd548d132ef27ccbd9a83243a1883b48\"\u003e\u003ccode\u003edabcd0f\u003c/code\u003e\u003c/a\u003e Extract this out into methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/091736b7a62d4435e4f6b053276fcb840cbb8c60\"\u003e\u003ccode\u003e091736b\u003c/code\u003e\u003c/a\u003e colours\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/d893484759567ee4921727ce79b9b47d916981e5\"\u003e\u003ccode\u003ed893484\u003c/code\u003e\u003c/a\u003e Fix the row limit in the CLI profile output\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhawthorn/vernier/compare/v1.8.0...v1.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-rails` from 2.33.3 to 2.33.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rails/releases\"\u003erubocop-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop Rails v2.33.4\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. (\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. (\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/blob/master/CHANGELOG.md\"\u003erubocop-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.4 (2025-09-27)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. ([\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/commit/b2ccb8244903d481ed3c38ec7d82b178004b1ba8\"\u003e\u003ccode\u003eb2ccb82\u003c/code\u003e\u003c/a\u003e Cut 2.33.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/0fb12599c595f64b9f71133076d6b82039caef2f\"\u003e\u003ccode\u003e0fb1259\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/24faad2570253883247edd5b0cfb23eb56ed9c86\"\u003e\u003ccode\u003e24faad2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1533\"\u003e#1533\u003c/a\u003e from viralpraxis/load-simplecov-before-lib-for-bette...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/28caddb84e77734bda1acb6632cf58b7add0b0ec\"\u003e\u003ccode\u003e28caddb\u003c/code\u003e\u003c/a\u003e Load \u003ccode\u003esimplecov\u003c/code\u003e before loading \u003ccode\u003elib\u003c/code\u003e for better coverage results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/60dd19b6795282ae3e2c6ba0519b368fc9bb4c13\"\u003e\u003ccode\u003e60dd19b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1528\"\u003e#1528\u003c/a\u003e from 5hun-s/fix_false_positive_for_rails_action_cont...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/87e5bbffeb97904cdb840095e1b1edd1244ff539\"\u003e\u003ccode\u003e87e5bbf\u003c/code\u003e\u003c/a\u003e [Fix rubocop#1182] Fix a false positive for Rails/ActionControllerFlashBefore...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/ec292a2c818586f04291fb698710659ecb213763\"\u003e\u003ccode\u003eec292a2\u003c/code\u003e\u003c/a\u003e Fix a build error when using Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/17371a8c6b6ec46a043b6b345fbaee4de08e2d7e\"\u003e\u003ccode\u003e17371a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1531\"\u003e#1531\u003c/a\u003e from koic/fix_an_incorrect_autocorrect_for_rails_fin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/2b091eb909dad6efb162541dcdcf24567bc4291f\"\u003e\u003ccode\u003e2b091eb\u003c/code\u003e\u003c/a\u003e Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/dd734913df79ac68ca1b4038bc93320d3172cf10\"\u003e\u003ccode\u003edd73491\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1522\"\u003e#1522\u003c/a\u003e from Earlopain/find-by-where-block\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rails/compare/v2.33.3...v2.33.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday` from 2.13.4 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday/releases\"\u003efaraday's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse newer \u003ccode\u003eUnprocessableContent\u003c/code\u003e naming for 422 by \u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes 🐞\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert strings to UTF-8 by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResponse#to_hash\u003c/code\u003e when response not finished yet by \u003ca href=\"https://github.com/yykamei\"\u003e\u003ccode\u003e@​yykamei\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1639\"\u003elostisland/faraday#1639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc/Docs 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLint: use \u003ccode\u003efilter_map\u003c/code\u003e by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1637\"\u003elostisland/faraday#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eactions/checkout\u003c/code\u003e from v4 to v5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1636\"\u003elostisland/faraday#1636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes documentation by \u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\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/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/3201a42957d37efc968ee8834ba9b50ed5dde54a\"\u003e\u003ccode\u003e3201a42\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/edd8cc513d407951be712b555f7d859f06326335\"\u003e\u003ccode\u003eedd8cc5\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eFaraday::Response#to_hash\u003c/code\u003e when request is not finished yet (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1639\"\u003e#1639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/0e008c584ddcf7d0554e470a8cea158e4b3532db\"\u003e\u003ccode\u003e0e008c5\u003c/code\u003e\u003c/a\u003e Use newer Unprocessable Content naming for 422 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1638\"\u003e#1638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/c399e43f8a2e259ad7699ce1b7d681b264de62a4\"\u003e\u003ccode\u003ec399e43\u003c/code\u003e\u003c/a\u003e Fixes typo (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1635\"\u003e#1635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/fd81a731fbecd081af137a3e544b1cda54ec3ead\"\u003e\u003ccode\u003efd81a73\u003c/code\u003e\u003c/a\u003e Convert strings to UTF-8 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1624\"\u003e#1624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/bc27144430eb1dd5a02233d3af0ac7f1c8257072\"\u003e\u003ccode\u003ebc27144\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1636\"\u003e#1636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/f0aab6331929f64e0863caff11adcb997f3d2cd2\"\u003e\u003ccode\u003ef0aab63\u003c/code\u003e\u003c/a\u003e Lint: use filter_map (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1637\"\u003e#1637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-follow_redirects` from 0.3.0 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tisba/faraday-follow-redirects/blob/main/CHANGELOG.md\"\u003efaraday-follow_redirects's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0 (2025-10-01)\u003c/h2\u003e\n\u003cp\u003eThis release contains no user facing changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003einternal: adopt \u0026quot;Trusted Publishing\u0026quot; for new releases\u003c/li\u003e\n\u003cli\u003einternal: harden GitHub Action workflows\u003c/li\u003e\n\u003cli\u003einternal: move dev dependencies to Gemfile for easier updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/e7f653a6eac37f7ab763ca25f836436535b38b8d\"\u003e\u003ccode\u003ee7f653a\u003c/code\u003e\u003c/a\u003e prep for 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/36b3a17ab084e83e19b0dfe98069f950a8620970\"\u003e\u003ccode\u003e36b3a17\u003c/code\u003e\u003c/a\u003e adds release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/a13bb072bb0e36c815bdb8bbe887a33d2b279eb4\"\u003e\u003ccode\u003ea13bb07\u003c/code\u003e\u003c/a\u003e bump dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/cff54d08481ef500119885bebf70b238b8e27ac8\"\u003e\u003ccode\u003ecff54d0\u003c/code\u003e\u003c/a\u003e bumps ruby to 3.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/82a72921e43cdb2ff6c402b86f92d58fd305c73c\"\u003e\u003ccode\u003e82a7292\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.254.0 to 1.263.0 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/b6f53b119476e2dabbbc6ce487962ef724350b89\"\u003e\u003ccode\u003eb6f53b1\u003c/code\u003e\u003c/a\u003e Update all Bundler dependencies (2025-09-21) (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/20ba7693e52f0eb820e97741439bc8629a85101d\"\u003e\u003ccode\u003e20ba769\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/9e2eb5ce6e06da0db5653537d6579106206cbb67\"\u003e\u003ccode\u003e9e2eb5c\u003c/code\u003e\u003c/a\u003e Update rexml to version 3.4.4 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/49\"\u003e#49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/680a9d28747fdc6cb712b97a11052734e7dff655\"\u003e\u003ccode\u003e680a9d2\u003c/code\u003e\u003c/a\u003e Update Ruby to version 3.4.5 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/a22272de7d96bcc0e91d4d5487a7a5bc221c1629\"\u003e\u003ccode\u003ea22272d\u003c/code\u003e\u003c/a\u003e Update all Bundler dependencies (2025-08-08) (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/45\"\u003e#45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tisba/faraday-follow-redirects/compare/v0.3.0...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby (and, in some cases, JRuby).\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of Net::IMAP::Config for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf71134032414e03683344161ba2822f0ce\"\u003e\u003ccode\u003e507eebf\u003c/code\u003e\u003c/a\u003e Update pp for Set to use new inspect format (\u003ca href=\"https://redirect.github.com/ruby/pp/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/24a0d3ff1c88efd31462377e15bbf6e3a90305b3\"\u003e\u003ccode\u003e24a0d3f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/56\"\u003e#56\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/6615b62d7b269391cff131f00ac2754808936c46\"\u003e\u003ccode\u003e6615b62\u003c/code\u003e\u003c/a\u003e Refine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/99064d28dc5e5881926c17eb73216491860ffbb0\"\u003e\u003ccode\u003e99064d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/55\"\u003e#55\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/352081dbbf22b968830848c2fb735d43530d3329\"\u003e\u003ccode\u003e352081d\u003c/code\u003e\u003c/a\u003e Do not override the methods in set.rb\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 6.14.2 to 6.15.0\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.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\u003eAllow rdoc-ref to link to non-text files by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1376\"\u003eruby/rdoc#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSearch automatically on ?q= URL query parameter by \u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esearcher.js: Escape characters when building regexps 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/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix backslash handling in table cell code spans 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/1400\"\u003eruby/rdoc#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags 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/1427\"\u003eruby/rdoc#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve inline styling inside tidy link labels 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/1428\"\u003eruby/rdoc#1428\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/rdoc/pull/1393\"\u003eruby/rdoc#1393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix \u003ccode\u003ewarn_missing_rdoc_ref\u003c/code\u003e default value in doc 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/1408\"\u003eruby/rdoc#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Correct levels of headings 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/rdoc/pull/1412\"\u003eruby/rdoc#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Tweaks for markup reference intro 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/rdoc/pull/1411\"\u003eruby/rdoc#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Re-format section Directives 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/rdoc/pull/1418\"\u003eruby/rdoc#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate README to markdown 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/1422\"\u003eruby/rdoc#1422\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u0026quot;poeple\u0026quot; typo and reword for clarity by \u003ca href=\"https://github.com/p8\"\u003e\u003ccode\u003e@​p8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1388\"\u003eruby/rdoc#1388\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/rdoc/pull/1392\"\u003eruby/rdoc#1392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape unescaped backslash at the end of code 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/rdoc/pull/1404\"\u003eruby/rdoc#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-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/1406\"\u003eruby/rdoc#1406\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/rdoc/pull/1407\"\u003eruby/rdoc#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Shorten the description text to get rid of JRuby exception\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1401\"\u003eruby/rdoc#1401\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrim even spaces only in code 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/rdoc/pull/1405\"\u003eruby/rdoc#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCommit generated files 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/1410\"\u003eruby/rdoc#1410\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/rdoc/pull/1415\"\u003eruby/rdoc#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/github-script from 7 to 8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1423\"\u003eruby/rdoc#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange error message assertion to make it pass in JRuby 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/rdoc/pull/1425\"\u003eruby/rdoc#1425\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/rdoc/pull/1426\"\u003eruby/rdoc#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings 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/rdoc/pull/1409\"\u003eruby/rdoc#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 6.15.0 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/1429\"\u003eruby/rdoc#1429\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\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.14.2...v6.15.0\"\u003ehttps://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/c33d173ffabe9df139efd48bce1986d08a2bbebe\"\u003e\u003ccode\u003ec33d173\u003c/code\u003e\u003c/a\u003e Bump version to 6.15.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/6b6033b588b917682fd102fc0c1b02d3f53b4620\"\u003e\u003ccode\u003e6b6033b\u003c/code\u003e\u003c/a\u003e Preserve inline styling inside tidy link labels (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e0051be26ae979882a1034f41499112d14ac878a\"\u003e\u003ccode\u003ee0051be\u003c/code\u003e\u003c/a\u003e Fix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/88db6135378d31c43250f3961eab71b1efa42f19\"\u003e\u003ccode\u003e88db613\u003c/code\u003e\u003c/a\u003e Fix warnings (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/b72648569b8db657867ab61e6fa25d106dedf46e\"\u003e\u003ccode\u003eb726485\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/71d4090e4841f591b4e9ae518fc329d71fdcc1f5\"\u003e\u003ccode\u003e71d4090\u003c/code\u003e\u003c/a\u003e Change error message assertion to make it pass in JRuby (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/2308312eef53d6eca446188fa2a4e1988b78ed0d\"\u003e\u003ccode\u003e2308312\u003c/code\u003e\u003c/a\u003e Migrate README to markdown (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1422\"\u003e#1422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1e4573b56e75c6b8fa97250989b9a7701a9bb0f0\"\u003e\u003ccode\u003e1e4573b\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 7 to 8 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1423\"\u003e#1423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e2dec097f2086cc7df564dda51f5f95bc431cbfa\"\u003e\u003ccode\u003ee2dec09\u003c/code\u003e\u003c/a\u003e [DOC] Re-format section Directives (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f2fefe0ee7e6aae72387f813edccbeee30a8dc84\"\u003e\u003ccode\u003ef2fefe0\u003c/code\u003e\u003c/a\u003e [DOC] Tweaks for markup reference intro (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\"\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.2 to 1.81.1\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.81.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/issues/14563\"\u003e#14563\u003c/a\u003e: Fix incorrect autocorrection for \u003ccode\u003eLint/DeprecatedOpenSSLConstant\u003c/code\u003e when \u003ccode\u003eCipher\u003c/code\u003e appears twice. (\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/pull/14565\"\u003e#14565\u003c/a\u003e: Allow multiline method chain for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e with \u003ccode\u003eEnforcedStyle: allow_single_line\u003c/code\u003e when the block itself is on a single line. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRuboCop v1.81.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/pull/14512\"\u003e#14512\u003c/a\u003e: Add \u003ccode\u003eStyle/ArrayIntersectWithSingleElement\u003c/code\u003e cop. (\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/10971\"\u003e#10971\u003c/a\u003e: Support \u003ccode\u003eEnforcedStyleForMultiline: diff_comma\u003c/code\u003e in \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e. (\u003ca href=\"https://github.com/akouryy\"\u003e\u003ccode\u003e@​akouryy\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/14560\"\u003e#14560\u003c/a\u003e: Fix an error for \u003ccode\u003eStyle/NilComparison\u003c/code\u003e cop when using the \u003ccode\u003evar.==(nil)\u003c/code\u003e and \u003ccode\u003evar.===(nil)\u003c/code\u003e syntax. (\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/issues/14535\"\u003e#14535\u003c/a\u003e: Fix autocorrect for \u003ccode\u003eStyle/ExplicitBlockArgument\u003c/code\u003e when there are two methods that share the same implementation. (\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/14527\"\u003e#14527\u003c/a\u003e: Fix false negatives for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e when using multiline method chain with \u003ccode\u003eEnforcedStyle: allow_single_line\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/14522\"\u003e#14522\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/MultilineOperationIndentation\u003c/code\u003e when using indented code on LHS of equality operator in modifier method 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/14496\"\u003e#14496\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/EmptyLineBetweenDefs\u003c/code\u003e for \u003ccode\u003eAllowAdjacentOneLineDefs: false\u003c/code\u003e and \u003ccode\u003eDefLikeMacros\u003c/code\u003e that take no block. (\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/issues/14553\"\u003e#14553\u003c/a\u003e: Fix false positives when \u003ccode\u003eEnforcedStyle: allowed_in_returns\u003c/code\u003e and \u003ccode\u003e!!\u003c/code\u003e appears across multiple lines in return position. (\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/14557\"\u003e#14557\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parentheses are used around a one-line \u003ccode\u003erescue\u003c/code\u003e expression as a condition. (\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/14525\"\u003e#14525\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantRegexpEscape\u003c/code\u003e when an escaped variable sigil follows \u003ccode\u003e#\u003c/code\u003e (e.g., \u003ccode\u003e/#\\@foo/\u003c/code\u003e, \u003ccode\u003e/#\\@@bar/\u003c/code\u003e, \u003ccode\u003e/#\\$baz/\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/14529\"\u003e#14529\u003c/a\u003e: Fix false negative in \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e with a block whose send node is split over multiple lines. (\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/issues/14528\"\u003e#14528\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantFormat\u003c/code\u003e when the format string has a variable width that isn't given as a literal value. (\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/issues/14541\"\u003e#14541\u003c/a\u003e: Fix gemspec parsing error when \u003ccode\u003eParserEngine: parser_prism\u003c/code\u003e is configured in a base config file. ([\u003ca href=\"https://github.com/sudoremo\"\u003e\u003ccode\u003e@​sudoremo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14544\"\u003e#14544\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eLint/Void\u003c/code\u003e when using a return value in assignment method 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/14543\"\u003e#14543\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/RedundantRegexpArgument\u003c/code\u003e when using escaped single quote character. (\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/14540\"\u003e#14540\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/UnlessElse\u003c/code\u003e when using \u003ccode\u003eunless\u003c/code\u003e with \u003ccode\u003ethen\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/14507\"\u003e#14507\u003c/a\u003e: Fix the built-in Ruby LSP add-on not restarting when config files (\u003ccode\u003e.rubocop.yml\u003c/code\u003e, \u003ccode\u003e.rubocop_todo.yml\u003c/code\u003e) change. (\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/14514\"\u003e#14514\u003c/a\u003e: Fix the built-in Ruby LSP add-on not respecting \u003ccode\u003e.rubocop\u003c/code\u003e config file. (\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/14508\"\u003e#14508\u003c/a\u003e: Fix the built-in Ruby LSP add-on getting in an irrecoverable state when the config is invalid on startup. (\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/issues/14534\"\u003e#14534\u003c/a\u003e: Prevent \u003ccode\u003eLayout/LineLength\u003c/code\u003e autocorrection from splitting a block if its receiver contains a heredoc. (\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/14497\"\u003e#14497\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/ShadowedArgument\u003c/code\u003e when assigning inside a \u003ccode\u003erescue\u003c/code\u003e block. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\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/14492\"\u003e#14492\u003c/a\u003e: Add support for LSP \u003ccode\u003epositionEncoding\u003c/code\u003e \u003ccode\u003eutf-8\u003c/code\u003e and \u003ccode\u003eutf-32\u003c/code\u003e. ([\u003ca href=\"https://github.com/tmtm\"\u003e\u003ccode\u003e@​tmtm\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.81.1 (2025-09-26)\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/14563\"\u003e#14563\u003c/a\u003e: Fix incorrect autocorrection for \u003ccode\u003eLint/DeprecatedOpenSSLConstant\u003c/code\u003e when \u003ccode\u003eCipher\u003c/code\u003e appears twice. ([\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/pull/14565\"\u003e#14565\u003c/a\u003e: Allow multiline method chain for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e with \u003ccode\u003eEnforcedStyle: allow_single_line\u003c/code\u003e when the block itself is on a single line. ([\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.81.0 (2025-09-25)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14512\"\u003e#14512\u003c/a\u003e: Add \u003ccode\u003eStyle/ArrayIntersectWithSingleElement\u003c/code\u003e cop. ([\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/10971\"\u003e#10971\u003c/a\u003e: Support \u003ccode\u003eEnforcedStyleForMultiline: diff_comma\u003c/code\u003e in \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e. ([\u003ca href=\"https://github.com/akouryy\"\u003e\u003ccode\u003e@​akouryy\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/14560\"\u003e#14560\u003c/a\u003e: Fix an error for \u003ccode\u003eStyle/NilComparison\u003c/code\u003e cop when using the \u003ccode\u003evar.==(nil)\u003c/code\u003e and \u003ccode\u003evar.===(nil)\u003c/code\u003e syntax. ([\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/issues/14535\"\u003e#14535\u003c/a\u003e: Fix autocorrect for \u003ccode\u003eStyle/ExplicitBlockArgument\u003c/code\u003e when there are two methods that share the same implementation. ([\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/14527\"\u003e#14527\u003c/a\u003e: Fix false negatives for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e when using multiline method chain with \u003ccode\u003eEnforcedStyle: allow_single_line\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/14522\"\u003e#14522\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/MultilineOperationIndentation\u003c/code\u003e when using indented code on LHS of equality operator in modifier method 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/14496\"\u003e#14496\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/EmptyLineBetweenDefs\u003c/code\u003e for \u003ccode\u003eAllowAdjacentOneLineDefs: false\u003c/code\u003e and \u003ccode\u003eDefLikeMacros\u003c/code\u003e that take no block. ([\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/issues/14553\"\u003e#14553\u003c/a\u003e: Fix false positives when \u003ccode\u003eEnforcedStyle: allowed_in_returns\u003c/code\u003e and \u003ccode\u003e!!\u003c/code\u003e appears across multiple lines in return position. ([\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/14557\"\u003e#14557\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parentheses are used around a one-line \u003ccode\u003erescue\u003c/code\u003e expression as a condition. ([\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/14525\"\u003e#14525\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantRegexpEscape\u003c/code\u003e when an escaped variable sigil follows \u003ccode\u003e#\u003c/code\u003e (e.g., \u003ccode\u003e/#\\@foo/\u003c/code\u003e, \u003ccode\u003e/#\\@@bar/\u003c/code\u003e, \u003ccode\u003e/#\\$baz/\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/14529\"\u003e#14529\u003c/a\u003e: Fix false negative in \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e with a block whose send node is split over multiple lines. ([\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/issues/14528\"\u003e#14528\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantFormat\u003c/code\u003e when the format string has a variable width that isn't given as a literal value. ([\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/issues/14541\"\u003e#14541\u003c/a\u003e: Fix gemspec parsing error when \u003ccode\u003eParserEngine: parser_prism\u003c/code\u003e is configured in a base config file. ([\u003ca href=\"https://github.com/sudoremo\"\u003e\u003ccode\u003e@​sudoremo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14544\"\u003e#14544\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eLint/Void\u003c/code\u003e when using a return value in assignment method 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/14543\"\u003e#14543\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/RedundantRegexpArgument\u003c/code\u003e when using escaped single quote character. ([\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/14540\"\u003e#14540\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/UnlessElse\u003c/code\u003e when using \u003ccode\u003eunless\u003c/code\u003e with \u003ccode\u003ethen\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/14507\"\u003e#14507\u003c/a\u003e: Fix the built-in Ruby LSP add-on not restarting when config files (\u003ccode\u003e.rubocop.yml\u003c/code\u003e, \u003ccode\u003e.rubocop_todo.yml\u003c/code\u003e) change. ([\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/14514\"\u003e#14514\u003c/a\u003e: Fix the built-in Ruby LSP add-on not respecting \u003ccode\u003e.rubocop\u003c/code\u003e config file. ([\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/14508\"\u003e#14508\u003c/a\u003e: Fix the built-in Ruby LSP add-on getting in an irrecoverable state when the config is invalid on startup. ([\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/issues/14534\"\u003e#14534\u003c/a\u003e: Prevent \u003ccode\u003eLayout/LineLength\u003c/code\u003e autocorrection from splitting a block if its receiver contains a heredoc. ([\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/14497\"\u003e#14497\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/ShadowedArgument\u003c/code\u003e when assigning inside a \u003ccode\u003ere...\n\n_Description has been truncated_","html_url":"https://github.com/bensheldon/island94.org/pull/444","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bensheldon%2Fisland94.org/issues/444","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/444/packages"},{"uuid":"2888617299","node_id":"PR_kwDOCB6Cus6sLM1T","number":1291,"state":"open","title":"Bump the production-dependencies-minor group across 1 directory with 25 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-06T02:10:11.000Z","updated_at":"2025-10-06T02:10:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies-minor","update_count":25,"packages":[{"name":"rake","old_version":"13.2.1","new_version":"13.3.0","repository_url":"https://github.com/ruby/rake"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.18.6","repository_url":"https://github.com/Shopify/bootsnap"},{"name":"test-unit","old_version":"3.2.7","new_version":"3.7.0","repository_url":"https://github.com/test-unit/test-unit"},{"name":"aws-sdk-s3","old_version":"1.113.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"json","old_version":"2.12.2","new_version":"2.15.0","repository_url":"https://github.com/ruby/json"},{"name":"rack-attack","old_version":"6.5.0","new_version":"6.7.0","repository_url":"https://github.com/rack/rack-attack"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"dalli","old_version":"3.2.3","new_version":"3.2.8","repository_url":"https://github.com/petergoldstein/dalli"},{"name":"carrierwave","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/carrierwaveuploader/carrierwave"},{"name":"mini_magick","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/minimagick/minimagick"},{"name":"httparty","old_version":"0.21.0","new_version":"0.23.1","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"geocoder","old_version":"1.6.1","new_version":"1.8.6","repository_url":"https://github.com/alexreisner/geocoder"},{"name":"table_print","old_version":"1.5.4","new_version":"1.5.7","repository_url":"https://github.com/arches/table_print"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"csv","old_version":"3.3.4","new_version":"3.3.5","repository_url":"https://github.com/ruby/csv"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"rails-autoscale-web","old_version":"1.11.1","new_version":"1.12.0","repository_url":"https://github.com/judoscale/judoscale-ruby"},{"name":"lograge","old_version":"0.3.6","new_version":"0.14.0","repository_url":"https://github.com/roidrage/lograge"},{"name":"recaptcha","old_version":"5.19.0","new_version":"5.21.1","repository_url":"https://github.com/ambethia/recaptcha"},{"name":"connection_pool","old_version":"2.5.3","new_version":"2.5.4","repository_url":"https://github.com/mperham/connection_pool"},{"name":"barnes","old_version":"0.0.8","new_version":"0.0.9","repository_url":"https://github.com/heroku/barnes"},{"name":"has_scope","old_version":"0.8.2","new_version":"0.9.0","repository_url":"https://github.com/heartcombo/has_scope"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"js-routes","old_version":"2.2.7","new_version":"2.3.5","repository_url":"https://github.com/railsware/js-routes"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies-minor group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rake](https://github.com/ruby/rake) | `13.2.1` | `13.3.0` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [bootsnap](https://github.com/Shopify/bootsnap) | `1.18.4` | `1.18.6` |\n| [test-unit](https://github.com/test-unit/test-unit) | `3.2.7` | `3.7.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.113.0` | `1.199.1` |\n| [json](https://github.com/ruby/json) | `2.12.2` | `2.15.0` |\n| [rack-attack](https://github.com/rack/rack-attack) | `6.5.0` | `6.7.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [dalli](https://github.com/petergoldstein/dalli) | `3.2.3` | `3.2.8` |\n| [carrierwave](https://github.com/carrierwaveuploader/carrierwave) | `3.1.1` | `3.1.2` |\n| [mini_magick](https://github.com/minimagick/minimagick) | `5.2.0` | `5.3.1` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.21.0` | `0.23.1` |\n| [geocoder](https://github.com/alexreisner/geocoder) | `1.6.1` | `1.8.6` |\n| [table_print](https://github.com/arches/table_print) | `1.5.4` | `1.5.7` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [csv](https://github.com/ruby/csv) | `3.3.4` | `3.3.5` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [rails-autoscale-web](https://github.com/judoscale/judoscale-ruby) | `1.11.1` | `1.12.0` |\n| [lograge](https://github.com/roidrage/lograge) | `0.3.6` | `0.14.0` |\n| [recaptcha](https://github.com/ambethia/recaptcha) | `5.19.0` | `5.21.1` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.3` | `2.5.4` |\n| [barnes](https://github.com/heroku/barnes) | `0.0.8` | `0.0.9` |\n| [has_scope](https://github.com/heartcombo/has_scope) | `0.8.2` | `0.9.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [js-routes](https://github.com/railsware/js-routes) | `2.2.7` | `2.3.5` |\n\n\nUpdates `rake` from 13.2.1 to 13.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/0fdacef47aa9a4140e472b0ce302a2dd09423a75\"\u003e\u003ccode\u003e0fdacef\u003c/code\u003e\u003c/a\u003e Bump rake to 13.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/fcc1f868360dd0c26a2f992e498efdd2088da15e\"\u003e\u003ccode\u003efcc1f86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/515\"\u003e#515\u003c/a\u003e from rgarner/task-arguments-deconstruct-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/8e917d9569675624b2c68fd5264c1dee513d9c88\"\u003e\u003ccode\u003e8e917d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/609\"\u003e#609\u003c/a\u003e from pvdb/fix_rubyrunner_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/0378c45af32de537f4ed946accc36a66ffb96d7c\"\u003e\u003ccode\u003e0378c45\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/627\"\u003e#627\u003c/a\u003e from komagata/fix-rdoc-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/cff76641e7aff0b905f0c20b77efe0b6acfbb0be\"\u003e\u003ccode\u003ecff7664\u003c/code\u003e\u003c/a\u003e Pattern matching support for arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a4454e681918babb8a86900794466b40c3f732db\"\u003e\u003ccode\u003ea4454e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/608\"\u003e#608\u003c/a\u003e from pvdb/use_dir_home\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/0b727e9abfc60d3ee7eb22f5668c8552aa2d9028\"\u003e\u003ccode\u003e0b727e9\u003c/code\u003e\u003c/a\u003e Remove superfluous dependency requires (in tests)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/5367e5c92d78be969812ac1ffa43a11df6a602d7\"\u003e\u003ccode\u003e5367e5c\u003c/code\u003e\u003c/a\u003e Move dependency requires to RubyRunner file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/6ba460101b2c0c3862dc84ebea9d683361346208\"\u003e\u003ccode\u003e6ba4601\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/634\"\u003e#634\u003c/a\u003e from ruby/trusted-publisher\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/6b3daf8723b9768590fa6bddbede8652f221a42d\"\u003e\u003ccode\u003e6b3daf8\u003c/code\u003e\u003c/a\u003e Enabled trusted publisher for rubygems.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.2.1...v13.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.13.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.4 to 1.18.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAttempt to detect a QEMU bug that can cause \u003ccode\u003ebootsnap precompile\u003c/code\u003e to hang forever when building ARM64 docker images\nfrom x86_64 machines. See \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/495\"\u003e#495\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove CLI to detect cgroup CPU limits and avoid spawning too many worker processes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/86efe7df5e3b19b0ba550206a9e03a5c6499d3b0\"\u003e\u003ccode\u003e86efe7d\u003c/code\u003e\u003c/a\u003e Release 1.18.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dc98453267575068a3aac65b8653382acd2f84a7\"\u003e\u003ccode\u003edc98453\u003c/code\u003e\u003c/a\u003e Fix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/11dbc37f60e6575795cd2295a2494a0bd5e488b3\"\u003e\u003ccode\u003e11dbc37\u003c/code\u003e\u003c/a\u003e Release 1.18.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dcd9327587f02f08e8313ff4fc163f04aaaab7e8\"\u003e\u003ccode\u003edcd9327\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/501\"\u003e#501\u003c/a\u003e from Shopify/improve-parallelism\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/abe4ec3aa9d80f2d8b7a3c7d03bf692d39044dce\"\u003e\u003ccode\u003eabe4ec3\u003c/code\u003e\u003c/a\u003e Bump bundler cache on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d603b704ab1b8f14ffe05ba6e7893aef4021fe3f\"\u003e\u003ccode\u003ed603b70\u003c/code\u003e\u003c/a\u003e Attempt to detect QEMU hangs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5e878001382765e0b291d19b9faa6c1dfd88ef84\"\u003e\u003ccode\u003e5e87800\u003c/code\u003e\u003c/a\u003e cli: improve automatic parallelism to respect cgroup limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/0dc269dbf05edad1022cb8e050f9a1e429369077\"\u003e\u003ccode\u003e0dc269d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/499\"\u003e#499\u003c/a\u003e from p8/docs/link-to-official-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5fb9098bd30e5f7bf86e33027c8993fe49b6a5e8\"\u003e\u003ccode\u003e5fb9098\u003c/code\u003e\u003c/a\u003e Link to official Ruby documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/252cf48f6fe56f7854bd1b6bcbc3b6692fc8f8f4\"\u003e\u003ccode\u003e252cf48\u003c/code\u003e\u003c/a\u003e Add config/ dir to precompile example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Shopify/bootsnap/compare/v1.18.4...v1.18.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-unit` from 3.2.7 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-unit/test-unit/releases\"\u003etest-unit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etest-unit 3.7.0 - 2025-07-06\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that \u003ccode\u003eTest::Unit::TestCase\u003c/code\u003e and \u003ccode\u003eTest::Unit::AutoRunner\u003c/code\u003e\naren't loaded when they are redefined by open class before referring\nto these constants.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/320\"\u003eGH-320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003eGH-321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReported by Mamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.9 - 2025-06-29\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edoc: test: Added one-line style to declare \u003ccode\u003eRactor\u003c/code\u003e test.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/261\"\u003eGH-261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003eGH-309\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsed \u003ccode\u003erequire_relative\u003c/code\u003e instead of \u003ccode\u003erequire\u003c/code\u003e for internal library\nfiles.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/311\"\u003eGH-311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003eGH-312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003eGH-313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003eGH-315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003e--version\u003c/code\u003e option.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003eGH-314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by MSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.8 - 2025-04-05\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etest-unit\u003c/code\u003e: Added. You can use this instead of creating a custom\ntest run script.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/288\"\u003eGH-288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/289\"\u003eGH-289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/291\"\u003eGH-291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggested by gemmaro\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated the \u0026quot;how to\u0026quot; document.\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/test-unit/test-unit/commit/c17d7eddc35db7e8bb6bf00954b0cc21a9a69bdc\"\u003e\u003ccode\u003ec17d7ed\u003c/code\u003e\u003c/a\u003e Add 3.7.0 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/84b93a0a8c6f54e8019d4f442dbfd7a1922c105f\"\u003e\u003ccode\u003e84b93a0\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/9335d99ad649771827df8b707578f16d8c863418\"\u003e\u003ccode\u003e9335d99\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/87891d8033f783fdbb3abfe628d4f259499f56b2\"\u003e\u003ccode\u003e87891d8\u003c/code\u003e\u003c/a\u003e Add 3.6.9 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/e837be2488d52e1290126ed9fee7f107a2ce8f6e\"\u003e\u003ccode\u003ee837be2\u003c/code\u003e\u003c/a\u003e test: use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003e#315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/df171bec2b32cee41c92af8471b447db0a29c909\"\u003e\u003ccode\u003edf171be\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--version\u003c/code\u003e cli option (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003e#314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/572b28afa0b387707dcb1229d2b96ba130f95f11\"\u003e\u003ccode\u003e572b28a\u003c/code\u003e\u003c/a\u003e Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/59146583a10c5b97bab54ccf5a6ce7448f67ac61\"\u003e\u003ccode\u003e5914658\u003c/code\u003e\u003c/a\u003e Use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/25ab959b81ce6bcd21c32c13bf972319a852718d\"\u003e\u003ccode\u003e25ab959\u003c/code\u003e\u003c/a\u003e doc: test: add \u003ccode\u003eractor def test_XXX\u003c/code\u003e style (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003e#309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/57454691c14d0f810e3a55d14577ad88727e8f3b\"\u003e\u003ccode\u003e5745469\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/308\"\u003e#308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-unit/test-unit/compare/3.2.7...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.113.0 to 1.199.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.0 (2025-09-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release includes backward compatibility work on the \u0026quot;Expires\u0026quot; parameter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.198.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart \u003ccode\u003edownload_file\u003c/code\u003e to support \u003ccode\u003ePathname\u003c/code\u003e, \u003ccode\u003eFile\u003c/code\u003e and \u003ccode\u003eTempfile\u003c/code\u003e objects as download destinations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.197.0 (2025-08-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - When multipart stream uploader fails to complete multipart upload, it calls abort multipart upload.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - For \u003ccode\u003eAws::S3::Object\u003c/code\u003e class, the following methods have been deprecated: \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e. Use \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e, a S3 transfer utility that provides upload/download capabilities with automatic multipart handling, progress tracking, and handling of large files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.196.1 (2025-08-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Add range validation to multipart download to ensure all parts are successfully processed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - When multipart uploader fails to complete multipart upload, it calls abort multipart upload.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Clean up partially downloaded file on multipart \u003ccode\u003edownload_file\u003c/code\u003e failure while preserving existing file.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.196.0 (2025-08-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.195.0 (2025-07-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.194.0 (2025-07-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.12.2 to 2.15.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.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\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.14.1...v2.15.0\"\u003ehttps://github.com/ruby/json/compare/v2.14.1...v2.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\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.14.0...v2.14.1\"\u003ehttps://github.com/ruby/json/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003cli\u003eStop defining \u003ccode\u003eString.json_create\u003c/code\u003e, \u003ccode\u003eString#to_json_raw\u003c/code\u003e, \u003ccode\u003eString#to_json_raw_object\u003c/code\u003e when \u003ccode\u003ejson/add\u003c/code\u003e isn't loaded.\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.13.2...v2.14.0\"\u003ehttps://github.com/ruby/json/compare/v2.13.2...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove duplicate key warning and errors to include the key name and point to the right caller.\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.13.1...v2.13.2\"\u003ehttps://github.com/ruby/json/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix support for older compilers without \u003ccode\u003e__builtin_cpu_supports\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/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e2025-09-22 (2.15.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003cli\u003eStop defining \u003ccode\u003eString.json_create\u003c/code\u003e, \u003ccode\u003eString#to_json_raw\u003c/code\u003e, \u003ccode\u003eString#to_json_raw_object\u003c/code\u003e when \u003ccode\u003ejson/add\u003c/code\u003e isn't loaded.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-28 (2.13.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove duplicate key warning and errors to include the key name and point to the right caller.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-24 (2.13.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix support for older compilers without \u003ccode\u003e__builtin_cpu_supports\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-17 (2.13.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e parsing options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\u003c/li\u003e\n\u003cli\u003eOptimize parsing further using SIMD to scan strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4abfad090d8398bfd30b4fcb253595151eb7f397\"\u003e\u003ccode\u003e4abfad0\u003c/code\u003e\u003c/a\u003e Release 2.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/bb5db851f58bffc71cb8651ef6203c814f58aca7\"\u003e\u003ccode\u003ebb5db85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/866\"\u003e#866\u003c/a\u003e from headius/jruby_rakefile_fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e809fabc29550bcde5b2cb12e6adc14aeed4666d\"\u003e\u003ccode\u003ee809fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/865\"\u003e#865\u003c/a\u003e from samyron/sm/swar-better-bounds-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3d1ed18b65c7581874ef65a7e197ef7b80b5ae49\"\u003e\u003ccode\u003e3d1ed18\u003c/code\u003e\u003c/a\u003e Add macos platform for JRuby CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/b1cc12605b5b5331b9c6c36774c37464d694b6cd\"\u003e\u003ccode\u003eb1cc126\u003c/code\u003e\u003c/a\u003e Use --release flag on Java 9+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/a2aa1cb3d0de7b7a81253191e9e7e0baa39f0bf4\"\u003e\u003ccode\u003ea2aa1cb\u003c/code\u003e\u003c/a\u003e Add JRuby build output to CLEAN and CLOBBER\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/0a9478a715ea766d627ff3a72cf7a4f033fe536f\"\u003e\u003ccode\u003e0a9478a\u003c/code\u003e\u003c/a\u003e implement a better fix for an out of bounds exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/efd67e7dfd32ba31cfe0c764a4825816f0e56a28\"\u003e\u003ccode\u003eefd67e7\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3a98832ededb7c56040a8ce6b67f583175aa6d2c\"\u003e\u003ccode\u003e3a98832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/864\"\u003e#864\u003c/a\u003e from byroot/as-json-key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/4d9068c1a6bee90235dd4aa8bdfb7c4416688de6\"\u003e\u003ccode\u003e4d9068c\u003c/code\u003e\u003c/a\u003e Refactor Truffle generator type checks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.12.2...v2.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack-attack` from 6.5.0 to 6.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/releases\"\u003erack-attack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/587\"\u003erack/rack-attack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/612\"\u003erack/rack-attack#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/586\"\u003erack/rack-attack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/614\"\u003erack/rack-attack#614\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/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.6.1\u003c/h2\u003e\n\u003cp\u003eDetails in CHANGELOG \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md#661---2022-04-14\"\u003eentry\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003eDetails in CHANGELOG \u003ca href=\"https://github.com/rack/rack-attack/blob/master/CHANGELOG.md#660---2022-01-29\"\u003eentry\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md\"\u003erack-attack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.7.0] - 2023-07-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/587\"\u003e#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.1] - 2022-04-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes deprecation warning in redis 4.6+ ([\u003ca href=\"https://github.com/ixti\"\u003e\u003ccode\u003e@​ixti\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2022-01-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbility to have access to the \u003ccode\u003erequest\u003c/code\u003e object instead of only \u003ccode\u003eenv\u003c/code\u003e (still can access env with \u003ccode\u003erequest.env\u003c/code\u003e) when\ncustomizing throttle and blocklist responses with new methods \u003ccode\u003eRack::Attack.blocklisted_responder=\u003c/code\u003e and\n\u003ccode\u003eRack::Attack.throttled_responder=\u003c/code\u003e which yield the request to your lambda. ([\u003ca href=\"https://github.com/NikolayRys\"\u003e\u003ccode\u003e@​NikolayRys\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.blocklisted_response=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.throttled_response=\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/rack/rack-attack/commit/d82c9fd7e3efc6fa9859d917d7ab2d90e5a258cf\"\u003e\u003ccode\u003ed82c9fd\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/02ef216788cf4fd534ff789c4b7fe7f42548d10a\"\u003e\u003ccode\u003e02ef216\u003c/code\u003e\u003c/a\u003e Gem release management. (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/b708de32f3667a65bd2a549983cd05671e9e690a\"\u003e\u003ccode\u003eb708de3\u003c/code\u003e\u003c/a\u003e Support Rack 3. (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e039ecde2aceeee45ab3fde41a9ef8e97a7ab717\"\u003e\u003ccode\u003ee039ecd\u003c/code\u003e\u003c/a\u003e ci: tests against redis gem v5 (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/c8e574aa6f565153b97f61c83905ef0f954177b9\"\u003e\u003ccode\u003ec8e574a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e from nateberkopec/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/a6bbbdc779f875b035c8a40464488df8256f2d06\"\u003e\u003ccode\u003ea6bbbdc\u003c/code\u003e\u003c/a\u003e Add note about cache stores and in-memory caches.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/4d201f7e425f99a0c1f0956fbcc935614d695308\"\u003e\u003ccode\u003e4d201f7\u003c/code\u003e\u003c/a\u003e Update example description to not suggest using a deprecated method. (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e9b753b4e7123ef0398d35c908b490eb9113c465\"\u003e\u003ccode\u003ee9b753b\u003c/code\u003e\u003c/a\u003e test: update rack-test to v2 from v1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/95ce9fdd7c99a527a46ffc477b01e682fed48dce\"\u003e\u003ccode\u003e95ce9fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e from kyoshidajp/replace_git.io\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/d3be2f31a5ccd0d5a96b916e9e4a3e431ab70f92\"\u003e\u003ccode\u003ed3be2f3\u003c/code\u003e\u003c/a\u003e Replace git.io URL\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.5.0...v6.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.5.9 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 [2025-09-02] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove several absolute paths from native binaries which pointed to build directories. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/668\"\u003e#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bad fallback path to \u003ccode\u003epg_service.conf\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/666\"\u003e#666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erbpg_\u003c/code\u003e prefix for \u003ccode\u003ebase64_*\u003c/code\u003e functions to avoid name clashes with functions provided by other libraries like Heimdal on Macos. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/667\"\u003e#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise a more descriptive error message in case of \u003ccode\u003epg_ext\u003c/code\u003e LoadError. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/664\"\u003e#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze some constants to make them available in a Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/660\"\u003e#660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral documentation improvements.\u003c/li\u003e\n\u003cli\u003eUpdate native binary gems to OpenSSL-3.5.2, krb5-1.22.1 and PostgreSQL-17.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.1 [2025-08-03] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for platforms \u003ccode\u003eaarch64-linux-musl\u003c/code\u003e and \u003ccode\u003ex86_64-linux-musl\u003c/code\u003e without the need to install package \u003ccode\u003egcompat\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/657\"\u003e#657\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSerialize CompositeCoder#dimensions only when set. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/652\"\u003e#652\u003c/a\u003e\nThis fixes the compatibility to pg-1.5.9, when deserializing Marshal data from pg-1.6, as long as the new attribute isn't used.\u003c/li\u003e\n\u003cli\u003eRemove dependency to MSYS2 package \u0026quot;postgresql\u0026quot; from binary Windows gem \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 [2025-07-27] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby 3.4.\u003c/li\u003e\n\u003cli\u003eAdd fat binary gem for platform \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e aka Windows on ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/626\"\u003e#626\u003c/a\u003e, for platform Macos on Intel and ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/643\"\u003e#643\u003c/a\u003e, for platform \u003ccode\u003eaarch64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/646\"\u003e#646\u003c/a\u003e and for platform \u003ccode\u003ex86_64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/551#issuecomment-2504715762\"\u003e#551\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.5.1 and PostgreSQL-17.5.\u003c/li\u003e\n\u003cli\u003eAdd a patch to libpq to avoid starvation on bigger SSL records, which some database engines other than vanilla PostgreSQL use.\nThis patch applies to platform specific binary gems only.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/616\"\u003e#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new query cancel functions of PostgreSQL-17.\nThis adds the new class \u003ccode\u003ePG::CancelConnection\u003c/code\u003e which provides the ability to cancel a query per blocking or per non-blocking functions.\nIf the new functions are available they are used and the older are no longer compiled in.\nThis way we can get rid of reading out the internal \u003ccode\u003ePGcancel\u003c/code\u003e struct by \u003ccode\u003eConnection#backend_key\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/603\"\u003e#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd possibility to define the number of array dimensions to be encoded.\nSetting dimensions is especially useful, when a Record shall be encoded into an Array, since the Array encoder can not distinguish if the array shall be encoded as a higher dimension or as a record otherwise.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/622\"\u003e#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#set_chunked_rows_mode \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/610\"\u003e#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/611\"\u003e#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MINGW package dependency which is resolved by RubyInstaller.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003econn.server_version\u003c/code\u003e and \u003ccode\u003econn.protocol_version\u003c/code\u003e to raise instead of return 0 on error.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/632\"\u003e#632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix connecting to multiple hosts after \u003ccode\u003econnnect_timeout\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/637\"\u003e#637\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/ged/ruby-pg/commit/c75ed8da19c356b52d83da2627295760780d3d36\"\u003e\u003ccode\u003ec75ed8d\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/90a00e51d296e8614ed6815589a26d971e9f444f\"\u003e\u003ccode\u003e90a00e5\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for pg-1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/c58434835ab6b077e757ef0c16e7b9dc1d1fccf6\"\u003e\u003ccode\u003ec584348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/670\"\u003e#670\u003c/a\u003e from larskanis/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/227653d235fe5ed4a8e03ea09854a6d298426ff3\"\u003e\u003ccode\u003e227653d\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/428415dd4ecb55882d2319d8b166fe73343853ba\"\u003e\u003ccode\u003e428415d\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 1.6.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/4282e5c729a98f66775611bd96c1848863b1d91f\"\u003e\u003ccode\u003e4282e5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/669\"\u003e#669\u003c/a\u003e from larskanis/test-rpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/19a35473b0ef7b4bf0d9caf7b62fb7fbbf7e168b\"\u003e\u003ccode\u003e19a3547\u003c/code\u003e\u003c/a\u003e Strip darwin C-ext to remove paths to C files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5e2ac6e14589f8698f127be080e94e93151552fc\"\u003e\u003ccode\u003e5e2ac6e\u003c/code\u003e\u003c/a\u003e Temporary enable head version of rake-compiler-dock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/70551b94eab64bcfd879d91382b216224d2394b5\"\u003e\u003ccode\u003e70551b9\u003c/code\u003e\u003c/a\u003e Add spec/pg_spec.rb to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/35b2704fc79aca22488251b1910d3b8e6be6f83e\"\u003e\u003ccode\u003e35b2704\u003c/code\u003e\u003c/a\u003e Add tests for rpath or other build related paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.5.9...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dalli` from 3.2.3 to 3.2.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md\"\u003edalli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.8\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle IO::TimeoutError when establishing connection (eugeneius)\u003c/li\u003e\n\u003cli\u003eDrop dependency on base64 gem (Earlopain)\u003c/li\u003e\n\u003cli\u003eAddress incompatibility with resolv-replace (y9v)\u003c/li\u003e\n\u003cli\u003eAdd rubygems.org metadata (m-nakamura145)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cascading error when there's an underlying network error in a pipelined get (eugeneius)\u003c/li\u003e\n\u003cli\u003eRuby 3.4/head compatibility by adding base64 to gemspec (tagliala)\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI (m-nakamura145)\u003c/li\u003e\n\u003cli\u003eUse Socket's connect_timeout when available, and pass timeout to the socket's send and receive timeouts (mlarraz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRescue IO::TimeoutError raised by Ruby since 3.2.0 on blocking reads/writes (skaes)\u003c/li\u003e\n\u003cli\u003eFix rubydoc link (JuanitoFatas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle memcached requests being interrupted by Thread#raise or Thread#kill (byroot)\u003c/li\u003e\n\u003cli\u003eUnexpected errors are no longer treated as \u003ccode\u003eDalli::NetworkError\u003c/code\u003e, including errors raised by \u003ccode\u003eTimeout.timeout\u003c/code\u003e (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eCache PID calls for performance since glibc no longer caches in recent versions (byroot)\u003c/li\u003e\n\u003cli\u003ePreallocate the read buffer in Socket#readfull (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/67942b8db6ba8ae9c39e30d9c0c63fb1525586b3\"\u003e\u003ccode\u003e67942b8\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.8 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/995\"\u003e#995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/23bc51f712314a5b8179c94ed59ba1545139c99e\"\u003e\u003ccode\u003e23bc51f\u003c/code\u003e\u003c/a\u003e Handle IO::TimeoutError when establishing connection (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4baeb3431edb46b5a1d0449432802dc214bb1a67\"\u003e\u003ccode\u003e4baeb34\u003c/code\u003e\u003c/a\u003e Bump the tested memcached version to 1.6.23 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/d5ad58f939af7ef765412f3820aace7399b68753\"\u003e\u003ccode\u003ed5ad58f\u003c/code\u003e\u003c/a\u003e Move check whether TCPSocket was patched to TCP.open (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/bec0440a9c4c040d2f564256abddd7e6a6604123\"\u003e\u003ccode\u003ebec0440\u003c/code\u003e\u003c/a\u003e Fix conflict with resolv-replace gem (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c5aea2200388c530b457485c96d22098e67e17d5\"\u003e\u003ccode\u003ec5aea22\u003c/code\u003e\u003c/a\u003e Add metadata for rubygems.org (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c409a07dc960b11595b329b6245b12b7be6d2dd7\"\u003e\u003ccode\u003ec409a07\u003c/code\u003e\u003c/a\u003e Drop dependency on base64 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4c4a5a2354707604456f6f1bf08d020f1909b49e\"\u003e\u003ccode\u003e4c4a5a2\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.7 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/fa641192072fd3852053f01e65853af95bc0b8d0\"\u003e\u003ccode\u003efa64119\u003c/code\u003e\u003c/a\u003e Don't reconnect to send pipelined request no-op (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/22dd9ce54dfe497c69244e7aa5fe2ba6ad4ac327\"\u003e\u003ccode\u003e22dd9ce\u003c/code\u003e\u003c/a\u003e Fix a test lint (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petergoldstein/dalli/compare/v3.2.3...v3.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `carrierwave` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/releases\"\u003ecarrierwave's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/blob/master/CHANGELOG.md\"\u003ecarrierwave's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2 - 2025-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/commit/8e5db8cb0b01b1d06b95d46fedf2e0c2a445a0e9\"\u003e\u003ccode\u003e8e5db8c\u003c/code\u003e\u003c/a\u003e Version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e\u003ccode\u003e7b2ce50\u003c/code\u003e\u003c/a\u003e Fix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, `##...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/9001ab7478dae07f99ef9a686d6d42e118a66336\"\u003e\u003ccode\u003e9001ab7\u003c/code\u003e\u003c/a\u003e Fix specs breaking with MiniMagick 5.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/compare/v3.1.1...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mini_magick` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minimagick/minimagick/releases\"\u003emini_magick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eMiniMagick.cli_prefix\u003c/code\u003e being mutated when set to an array.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eActually require Ruby 2.5+ in the gemspec.\u003c/li\u003e\n\u003cli\u003eFix Ruby 2.5 compatibility when using \u003ccode\u003eMiniMagick.restricted_env\u003c/code\u003e configuration.\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ebenchmark\u003c/code\u003e dependency.\u003c/li\u003e\n\u003cli\u003eFix keyword argument forwarding when trying to call \u003ccode\u003eMiniMagick.compare(errors: false)\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/minimagick/minimagick/commit/ddcbfe9632667876be10373e1e01252617e74057\"\u003e\u003ccode\u003eddcbfe9\u003c/code\u003e\u003c/a\u003e Bump to 5.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed5897b54fbfd0fc21b04187e78915f4f5e3acc3\"\u003e\u003ccode\u003eed5897b\u003c/code\u003e\u003c/a\u003e Simplify spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/862ffbbb4435a9363b179397ba02d4be1d1c7751\"\u003e\u003ccode\u003e862ffbb\u003c/code\u003e\u003c/a\u003e Fix configured cli_prefix being muated (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c53b8bb72b9885117d54e375bf33b6ec5641271a\"\u003e\u003ccode\u003ec53b8bb\u003c/code\u003e\u003c/a\u003e Bump to 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/eda3dde138f37ca4ef2de75b0abeda31ee915d2b\"\u003e\u003ccode\u003eeda3dde\u003c/code\u003e\u003c/a\u003e Bump ruby 2.5+ requirement in the gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed928b18107793cd144a681180f9c79e59d6b8cd\"\u003e\u003ccode\u003eed928b1\u003c/code\u003e\u003c/a\u003e Add spec for the keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/6de850ace3bb7a9d64f6d1d5804c4cad7ac5b3b2\"\u003e\u003ccode\u003e6de850a\u003c/code\u003e\u003c/a\u003e Try using ENV.to_h for compatibility with Ruby 2.5 (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c1b2e2c054210fcad2e8e26ce2e70ac76acddd27\"\u003e\u003ccode\u003ec1b2e2c\u003c/code\u003e\u003c/a\u003e Fix option forwarding in MiniMagick::Tool.new (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/dfd3de02c4482679cf7f0993dc368cbba413e7da\"\u003e\u003ccode\u003edfd3de0\u003c/code\u003e\u003c/a\u003e Fix typo in README: change tmdir to tmpdir in configuration example (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/23239db1263f96b1b96f62c67250afe16507b2ac\"\u003e\u003ccode\u003e23239db\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ebenchmark\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minimagick/minimagick/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.21.0 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd foul option to class level \u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003ehttps://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew: foul mode to rescue all common network errors:  \u003ca href=\"https://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\"\u003ehttps://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: replace master branch to main for better view by \u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\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/ashishra0\"\u003e\u003ccode\u003e@​ashishra0\u003c/code\u003e\u003c/a\u003e made their first contribution with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in example name by \u003ca href=\"https://github.com/xymbol\"\u003e\u003ccode\u003e@​xymbol\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/780\"\u003ejnunemaker/httparty#780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract request building method by \u003ca href=\"https://github.com/aliismayilov\"\u003e\u003ccode\u003e@​aliismayilov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/786\"\u003ejnunemaker/httparty#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Tell dependabot to update GH Actions by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/791\"\u003ejnunemaker/httparty#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CSV gem as a dependency for Ruby 3.4 by \u003ca href=\"https://github.com/ngan\"\u003e\u003ccode\u003e@​ngan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/796\"\u003ejnunemaker/httparty#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClear body when redirecting to a GET  by \u003ca href=\"https://github.com/rhett-inbox\"\u003e\u003ccode\u003e@​rhett-inbox\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/783\"\u003ejnunemaker/httparty#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI against Ruby 3.3 by \u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/798\"\u003ejnunemaker/httparty#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/792\"\u003ejnunemaker/httparty#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow regexpr on raise errors. by \u003ca href=\"https://github.com/ryanfox1985\"\u003e\u003ccode\u003e@​ryanfox1985\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/778\"\u003ejnunemaker/httparty#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid anonymous eval by \u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/776\"\u003ejnunemaker/httparty#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy load some gems by \u003ca href=\"https://github.com/orgads\"\u003e\u003ccode\u003e@​orgads\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/760\"\u003ejnunemaker/httparty#760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRedirect with authorization credentials to same host for relative paths by \u003ca href=\"https://github.com/jasonheecs\"\u003e\u003ccode\u003e@​jasonheecs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/700\"\u003ejnunemaker/httparty#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop old ruby support by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/799\"\u003ejnunemaker/httparty#799\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/aliismayilov\"\u003e\u003ccode\u003e@​aliismayilov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/786\"\u003ejnunemaker/httparty#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ngan\"\u003e\u003ccode\u003e@​ngan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/796\"\u003ejnunemaker/httparty#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rhett-inbox\"\u003e\u003ccode\u003e@​rhett-inbox\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/783\"\u003ejnunemaker/httparty#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/798\"\u003ejnunemaker/httparty#798\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 made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/792\"\u003ejnunemaker/httparty#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ryanfox1985\"\u003e\u003ccode\u003e@​ryanfox1985\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/778\"\u003ejnunemaker/httparty#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/776\"\u003ejnunemaker/httparty#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jasonheecs\"\u003e\u003ccode\u003e@​jasonheecs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/700\"\u003ejnunemaker/httparty#700\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.21.0...v0.22.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.21.0...v0.22.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/jnunemaker/httparty/blob/main/Changelog.md\"\u003ehttparty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003echanges since 0.22 are documented in GitHub Releases\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/9417ce158d732fecc753c656accb59c470cfb6f8\"\u003e\u003ccode\u003e9417ce1\u003c/code\u003e\u003c/a\u003e Release 0.23.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003e\u003ccode\u003ed268387\u003c/code\u003e\u003c/a\u003e Add foul to class level\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/891a4a8093afd4cacecab2719223e3170d07f1c0\"\u003e\u003ccode\u003e891a4a8\u003c/code\u003e\u003c/a\u003e Release 0.23 with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/894649d7c6fb3416f32ac260e4dc7ce3a0682f19\"\u003e\u003ccode\u003e894649d\u003c/code\u003e\u003c/a\u003e Plural typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/6efd004b63aa05178862869010e6b6628817f32f\"\u003e\u003ccode\u003e6efd004\u003c/code\u003e\u003c/a\u003e Fix example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/848616db1d24a6f71fd1cd11997eb217f88f7cf0\"\u003e\u003ccode\u003e848616d\u003c/code\u003e\u003c/a\u003e Fix missing base64 error on ruby 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/2ed53ae08962851e7a26691505509647325ada9e\"\u003e\u003ccode\u003e2ed53ae\u003c/code\u003e\u003c/a\u003e Regex match to fix 3.4 failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/c30b0e91e46eaea66d58d0dec990644841db4502\"\u003e\u003ccode\u003ec30b0e9\u003c/code\u003e\u003c/a\u003e Add ruby 3.4 to matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/e47c7f9ca0ada90798d78931f2f18ba1bfabf37e\"\u003e\u003ccode\u003ee47c7f9\u003c/code\u003e\u003c/a\u003e Tweak readme/examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/8e67078844c364dd32c789a734eae784e39978f4\"\u003e\u003ccode\u003e8e67078\u003c/code\u003e\u003c/a\u003e Inject foul higher up the exception stack\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.21.0...v0.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geocoder` from 1.6.1 to 1.8.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alexreisner/geocoder/blob/master/CHANGELOG.md\"\u003egeocoder's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.6 (2025 Sep 21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for IPInfo Lite lookup (thanks github.com/iltempo).\u003c/li\u003e\n\u003cli\u003eVarious minor fixes and improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.5 (2024 Dec 18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug when working with IPAddr objects (thanks github.com/ledermann and github.com/mattlemx).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.4 (2024 Dec  4)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Azure lookup (thanks github.com/AhlOct).\u003c/li\u003e\n\u003cli\u003eSeveral fixes for Mapbox and Bing lookups (thanks github.com/tmh-dev and github.com/iBlackShadow).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.3 (2024 May  2)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for IP2Location LITE lookup (thanks github.com/ip2location).\u003c/li\u003e\n\u003cli\u003eAdd support for PDOK NL lookup (thanks github.com/opensourceame).\u003c/li\u003e\n\u003cli\u003eRemove support for Data Science Toolkit lookup (defunct).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.2 (2023 Jul  4)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PC Miler lookup (thanks github.com/alexdean).\u003c/li\u003e\n\u003cli\u003eMinor fixes for :maxmind_local, :esri, and :ban_data_gouv_fr lookups.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.1 (2022 Sep 23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for IPBase lookup (thanks github.com/jonallured).\u003c/li\u003e\n\u003cli\u003eTest cleanup (thanks github.com/jonallured).\u003c/li\u003e\n\u003cli\u003ePrevent errors when existing constant name shadows a lookup class (thanks github.com/avram-twitch).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.0 (2022 May 17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for 2GIS lookup (thanks github.com/ggrikgg).\u003c/li\u003e\n\u003cli\u003eChange cache configuration structure and add an expiration option. Cache prefix is now set via {cache_options: {prefix: ...}} instead of {cache_prefix: ...}. See README for details.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e:fields\u003c/code\u003e parameter for :google_places_details and :google_places_search lookups. If you haven't been requesting specific fields, you may start getting different data (defaults are now the APIs' defaults). See for details: \u003ca href=\"https://redirect.github.com/alexreisner/geocoder/pull/1572\"\u003ealexreisner/geocoder#1572\u003c/a\u003e (thanks github.com/czlee).\u003c/li\u003e\n\u003cli\u003eUpdate :here lookup to use API version 7. Query options are different, API key must be a string (not an array). See API docs at \u003ca href=\"https://developer.here.com/documentation/geocoding-search-api/api-reference-swagger.html\"\u003ehttps://developer.here.com/documentation/geocoding-search-api/api-reference-swagger.html\u003c/a\u003e (thanks github.com/Pritilender).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.5 (2022 Mar 14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid lookup naming collisions in some environments.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.4 (2022 Mar 14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to use app-defined lookups (thanks github.com/januszm).\u003c/li\u003e\n\u003cli\u003eUpdates to LocationIQ and FreeGeoIP lookups.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.3 (2022 Jan 17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGet rid of unnecessary cache_prefix deprecation warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexreisner/geocoder/commit/d3515db46c5785db8cd48dbf94af123a2c99b8a9\"\u003e\u003ccode\u003ed3515db\u003c/code\u003e\u003c/a\u003e Prepare for release of gem version 1.8.6.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexreisner/geocoder/commit/737d16f277f81aabe73e2dfe466e2ba84fef188a\"\u003e\u003ccode\u003e737d16f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alexreisner/geocoder/issues/1694\"\u003e#1694\u003c/a\u003e f...\n\n_Description has been truncated_","html_url":"https://github.com/CommitChange/houdini/pull/1291","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommitChange%2Fhoudini/issues/1291","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1291/packages"},{"uuid":"3474006092","node_id":"PR_kwDOA0Nktc6rlKrl","number":441,"state":"open","title":"Bump the bundler-dependencies group across 1 directory with 36 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T15:06:17.000Z","updated_at":"2025-10-06T15:05:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-dependencies","update_count":36,"packages":[{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"parklife","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/benpickles/parklife"},{"name":"puma","old_version":"6.6.1","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"rouge","old_version":"4.6.0","new_version":"4.6.1","repository_url":"https://github.com/rouge-ruby/rouge"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.0","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"better_html","old_version":"2.1.1","new_version":"2.2.0","repository_url":"https://github.com/Shopify/better-html"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"google-protobuf","old_version":"4.32.0","new_version":"4.32.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.11","repository_url":"https://github.com/ruby/net-imap"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"rspec-support","old_version":"3.13.5","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"sass-embedded","old_version":"1.91.0","new_version":"1.93.2","repository_url":"https://github.com/sass-contrib/sass-embedded-host-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-dependencies group with 16 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [parklife](https://github.com/benpickles/parklife) | `0.7.0` | `0.8.0` |\n| [puma](https://github.com/puma/puma) | `6.6.1` | `7.0.4` |\n| [rouge](https://github.com/rouge-ruby/rouge) | `4.6.0` | `4.6.1` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.0` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.33.4` |\n| [better_html](https://github.com/Shopify/better-html) | `2.1.1` | `2.2.0` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [google-protobuf](https://github.com/protocolbuffers/protobuf) | `4.32.0` | `4.32.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.11` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [rspec-support](https://github.com/rspec/rspec) | `3.13.5` | `3.13.6` |\n| [sass-embedded](https://github.com/sass-contrib/sass-embedded-host-ruby) | `1.91.0` | `1.93.2` |\n\n\nUpdates `activesupport` from 8.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\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 \u003ccode\u003eEnumerable#sole\u003c/code\u003e for infinite collections.\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/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/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/830363adf5a1d04204cd1567d6ac948abd05c430\"\u003e\u003ccode\u003e830363a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55688\"\u003e#55688\u003c/a\u003e from Shopify/drop-active-support-benchmar-extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54569418077b68f2f0df27c15514ebd59748c625\"\u003e\u003ccode\u003e5456941\u003c/code\u003e\u003c/a\u003e Return early when column are empty in WhereClause#except_predicates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c9a82e214046ec0daa06dc0b1718e948ccdc7c9a\"\u003e\u003ccode\u003ec9a82e2\u003c/code\u003e\u003c/a\u003e BigDecimal now works with floats without precision\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/ae1aa389499547813879386d9bd22aa4402d9650\"\u003e\u003ccode\u003eae1aa38\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53093\"\u003e#53093\u003c/a\u003e from armstrjare/broadcast-logger-with-block\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `parklife` from 0.7.0 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benpickles/parklife/releases\"\u003eparklife's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.8.0\u003c/h2\u003e\n\u003cp\u003eNote that \u003cstrong\u003eParklife's Rails integration has been moved into a separate gem\u003c/strong\u003e and now includes support for ActiveStorage, \u003ca href=\"https://github.com/benpickles/parklife-rails\"\u003esee the \u003ccode\u003eparklife-rails\u003c/code\u003e repo for more information\u003c/a\u003e. This release also includes the following:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInclude the port when automatically assigning the base from Rails \u003ccode\u003edefault_url_options\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/130\"\u003ebenpickles/parklife#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the HTTP redirect error message to include the request's full URL and redirect location. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/129\"\u003ebenpickles/parklife#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmpty the build directory instead of deleting it. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/125\"\u003ebenpickles/parklife#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResurrect build callbacks (\u003ccode\u003ebefore_build\u003c/code\u003e/\u003ccode\u003eafter_build\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/124\"\u003ebenpickles/parklife#124\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/benpickles/parklife/blob/main/CHANGELOG.md\"\u003eparklife's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.8.0 - 2025-09-08\u003c/h2\u003e\n\u003cp\u003eNote that \u003cstrong\u003eParklife's Rails integration has been moved into a separate gem\u003c/strong\u003e with some additional functionality, \u003ca href=\"https://github.com/benpickles/parklife-rails\"\u003esee the \u003ccode\u003eparklife-rails\u003c/code\u003e repo for more information\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eVersion 0.8.0.beta1 - 2025-08-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove out-of-the-box Rails integration in preparation for a separate gem. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/131\"\u003ebenpickles/parklife#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude the port when automatically assigning the base from Rails \u003ccode\u003edefault_url_options\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/130\"\u003ebenpickles/parklife#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the HTTP redirect error message to include the request's full URL and redirect location. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/129\"\u003ebenpickles/parklife#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmpty the build directory instead of deleting it. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/125\"\u003ebenpickles/parklife#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResurrect build callbacks (\u003ccode\u003ebefore_build\u003c/code\u003e/\u003ccode\u003eafter_build\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/124\"\u003ebenpickles/parklife#124\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/benpickles/parklife/commit/594b82d30280fc864499253f7931ed11866bcebf\"\u003e\u003ccode\u003e594b82d\u003c/code\u003e\u003c/a\u003e Version 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/0321a49dd128074ee871a02a44c35cbb952c74ed\"\u003e\u003ccode\u003e0321a49\u003c/code\u003e\u003c/a\u003e Rails tweaks (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/132\"\u003e#132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/2f5311fa9847a6d93096e8ac87e8f4de2e1b2149\"\u003e\u003ccode\u003e2f5311f\u003c/code\u003e\u003c/a\u003e Add .github/FUNDING.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/419cee2e106028efbf26718318255cda620dac42\"\u003e\u003ccode\u003e419cee2\u003c/code\u003e\u003c/a\u003e Version 0.8.0.beta1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/9896f9b094f0201addd3614c9fbc2cfb8186131f\"\u003e\u003ccode\u003e9896f9b\u003c/code\u003e\u003c/a\u003e Remove out-of-the-box Rails integration (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/131\"\u003e#131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/9dc861646155428c4bee38bf2a43423689fe0cfa\"\u003e\u003ccode\u003e9dc8616\u003c/code\u003e\u003c/a\u003e Include the port when automatically assigning the base from Rails default_url...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/2e5790e3239e16a4ed4dddd12581e8fb671fa815\"\u003e\u003ccode\u003e2e5790e\u003c/code\u003e\u003c/a\u003e Improve the HTTP redirect error message to include the request's full URL and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/31c1e8c12db8fd5a0185485dada400b91b21745e\"\u003e\u003ccode\u003e31c1e8c\u003c/code\u003e\u003c/a\u003e Load the correct config defaults in the example Rails app (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/128\"\u003e#128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/ef2f7a738daa76e26ad6da533c124939e5fe51c8\"\u003e\u003ccode\u003eef2f7a7\u003c/code\u003e\u003c/a\u003e Fix deleting everything O.o (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/05b494d728284d21fa2bb8c92b437baeaf2fa285\"\u003e\u003ccode\u003e05b494d\u003c/code\u003e\u003c/a\u003e If the build directory already exists only remove its contents (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benpickles/parklife/compare/v0.7.0...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.2.1 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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/030f68cb32c6ff05f7922040ad6bde3dd902f977\"\u003e\u003ccode\u003e030f68c\u003c/code\u003e\u003c/a\u003e Remove lock for rdoc gem in Gemfile\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/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/74038d7f15a8f9e5b3d38a730a4b67da14697daa\"\u003e\u003ccode\u003e74038d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55722\"\u003e#55722\u003c/a\u003e from kozy4324/fix-lease-sticky-flag-timing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4fc9618c6116476bcb4818624abb27bedc488cd3\"\u003e\u003ccode\u003e4fc9618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55703\"\u003e#55703\u003c/a\u003e from byroot/hly-fix-query-cache-system-tests-2\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 6.6.1 to 7.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.3\u003c/h2\u003e\n\u003ch2\u003e7.0.3 / 2025-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eserver.rb - process_client - add ka to todo if readable \u0026amp; complete (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConvert PUMA_PERSISTENT_TIMEOUT to an Integer (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Puma not booting if queue_requests disabled by \u003ca href=\"https://github.com/stanhu\"\u003e\u003ccode\u003e@​stanhu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3731\"\u003epuma/puma#3731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace\u003ccode\u003e sleep 0.001 while out_of_band_running\u003c/code\u003e with condition variable by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3729\"\u003epuma/puma#3729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebug: control_cli.rb - Fixup \u003ccode\u003epumactl\u003c/code\u003e code to load puma.rb for \u003ccode\u003edeprecate_method_change\u003c/code\u003e by \u003ca href=\"https://github.com/MSP-Greg\"\u003e\u003ccode\u003e@​MSP-Greg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3736\"\u003epuma/puma#3736\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/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3729\"\u003epuma/puma#3729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.1...v7.0.2\"\u003ehttps://github.com/puma/puma/compare/v7.0.1...v7.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd backward compatibility aliases for Events class methods by \u003ca href=\"https://github.com/tannakartikey\"\u003e\u003ccode\u003e@​tannakartikey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3725\"\u003epuma/puma#3725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.0...v7.0.1\"\u003ehttps://github.com/puma/puma/compare/v7.0.0...v7.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0 - Romantic Warrior\u003c/h2\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking changes\n\u003cul\u003e\n\u003cli\u003eSet default \u003ccode\u003emax_keep_alive\u003c/code\u003e to 999 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease \u003ccode\u003epersistent_timeout\u003c/code\u003e default to 65 seconds (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an ArgumentError if no block given to hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't set env['HTTP_VERSION'] for Rack \u0026gt; 3.1 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3711\"\u003e#3711\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3576\"\u003e#3576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunner.rb - remove \u003ccode\u003eruby_engine\u003c/code\u003e method, deprecated Nov-2024 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3701\"\u003e#3701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet conditional config defaults after CLI options are parsed and config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResponse headers set to lowercase (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3704\"\u003e#3704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate minimum Ruby version to 3.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3698\"\u003e#3698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename callback hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3438\"\u003e#3438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eOld hook name\u003c/th\u003e\n\u003cth\u003eNew hook name\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_boot\u003c/td\u003e\n\u003ctd\u003ebefore_worker_boot\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_shutdown\u003c/td\u003e\n\u003ctd\u003ebefore_worker_shutdown\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/master/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.4 / 2025-09-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3740\"\u003e#3740\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.3 / 2025-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eserver.rb - process_client - add ka to todo if readable \u0026amp; complete (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConvert PUMA_PERSISTENT_TIMEOUT to an Integer (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.2 / 2025-09-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003ebug: control_cli.rb - Fixup \u003ccode\u003epumactl\u003c/code\u003e code to load puma.rb for \u003ccode\u003edeprecate_method_change\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3736\"\u003e#3736\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3734\"\u003e#3734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace sleep spin lock with condition variable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3729\"\u003e#3729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Puma not booting if queue_requests disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3731\"\u003e#3731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.1 / 2025-09-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003eAdd backward compatibility aliases for Events class methods (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3725\"\u003e#3725\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.0 / 2025-09-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking changes\n\u003cul\u003e\n\u003cli\u003eSet default \u003ccode\u003emax_keep_alive\u003c/code\u003e to 999 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease \u003ccode\u003epersistent_timeout\u003c/code\u003e default to 65 seconds (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an ArgumentError if no block given to hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't set env['HTTP_VERSION'] for Rack \u0026gt; 3.1 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3711\"\u003e#3711\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3576\"\u003e#3576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunner.rb - remove \u003ccode\u003eruby_engine\u003c/code\u003e method, deprecated Nov-2024 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3701\"\u003e#3701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig \u003ccode\u003epreload_app!\u003c/code\u003e is now the default for clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig instance must be \u003ccode\u003eclamp\u003c/code\u003e-d before reading any values (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResponse headers set to lowercase (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3704\"\u003e#3704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate minimum Ruby version to 3.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3698\"\u003e#3698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename callback hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3438\"\u003e#3438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eOld hook name\u003c/th\u003e\n\u003cth\u003eNew hook name\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_boot\u003c/td\u003e\n\u003ctd\u003ebefore_worker_boot\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_shutdown\u003c/td\u003e\n\u003ctd\u003ebefore_worker_shutdown\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_restart\u003c/td\u003e\n\u003ctd\u003ebefore_restart\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_booted\u003c/td\u003e\n\u003ctd\u003eafter_booted\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a4c451c142a93ffb33af4a643b1e065341d9ad3a\"\u003e\u003ccode\u003ea4c451c\u003c/code\u003e\u003c/a\u003e v7.0.4 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3769\"\u003e#3769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/474f4ac87b3a49884080f6611636eff2e6e61cee\"\u003e\u003ccode\u003e474f4ac\u003c/code\u003e\u003c/a\u003e Remove global side effect from test (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/30e0d2254043f0ef8b586f23bc5f06a59a45c219\"\u003e\u003ccode\u003e30e0d22\u003c/code\u003e\u003c/a\u003e Add test/rackup/sleep_fibonacci.ru, update benchmark hey files (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4cd1199e1c1ad40af350f70e57ce3703e0d72e8c\"\u003e\u003ccode\u003e4cd1199\u003c/code\u003e\u003c/a\u003e ci: test_puma_server_ssl.rb - catch error in thread (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/684b715026d8e0a239274f4433294e5cd8b1ad0c\"\u003e\u003ccode\u003e684b715\u003c/code\u003e\u003c/a\u003e Fix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7e0d127b93a7d7bea0c1ecf3c7c88012d1a0baea\"\u003e\u003ccode\u003e7e0d127\u003c/code\u003e\u003c/a\u003e Strip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b817da4305a7a429e8e63d4f4a9b52d2a95fdc3e\"\u003e\u003ccode\u003eb817da4\u003c/code\u003e\u003c/a\u003e puma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/943d9c7bc3f916039ef918608a21030858b4333c\"\u003e\u003ccode\u003e943d9c7\u003c/code\u003e\u003c/a\u003e Move sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7aadde56fb2507dc0aab36649bc808a90c626e05\"\u003e\u003ccode\u003e7aadde5\u003c/code\u003e\u003c/a\u003e ci: helper.rb - catch error writing to \u003ccode\u003eENV['GITHUB_STEP_SUMMARY']\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/48ffd34a8e56ef5dce1471f75b98a094874ac953\"\u003e\u003ccode\u003e48ffd34\u003c/code\u003e\u003c/a\u003e Fixup benchmark scripts (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3753\"\u003e#3753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v6.6.1...v7.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rouge` from 4.6.0 to 4.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/releases\"\u003erouge's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.1\u003c/h2\u003e\n\u003cp\u003eThis release focuses on bug fixes and compatibility improvements across multiple lexers. We've fixed Ruby method definition highlighting for comparable methods. The TOML lexer has been realigned with the Pygments counterpart for better consistency. Language support has been enhanced with recognition of .resource files as Robot Framework files and improved Lua lexer handling of escaped quotes. The INI parser now supports standalone options, and the CSS lexer has been updated to support range context in media queries. Thanks to all our contributors for their valuable work on making Rouge more robust!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ehttps://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md\"\u003erouge's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eversion 4.6.1: 2025-09-25\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003eComparison with the previous version\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGeneral\n\u003cul\u003e\n\u003cli\u003eAdd ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2154/\"\u003e#2154\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003cli\u003eReplace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2131/\"\u003e#2131\u003c/a\u003e by Earlopain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCSS Lexer\n\u003cul\u003e\n\u003cli\u003eCSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2160/\"\u003e#2160\u003c/a\u003e by Gerard)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eINI Lexer\n\u003cul\u003e\n\u003cli\u003eSupport standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2161/\"\u003e#2161\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLua Lexer\n\u003cul\u003e\n\u003cli\u003eBugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2155/\"\u003e#2155\u003c/a\u003e by Nicholas Reaves)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRobot Framework Lexer\n\u003cul\u003e\n\u003cli\u003eRecognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2158/\"\u003e#2158\u003c/a\u003e by Vasiliy)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRuby Lexer\n\u003cul\u003e\n\u003cli\u003eFix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2149/\"\u003e#2149\u003c/a\u003e by Hartley McGuire)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTOML Lexer\n\u003cul\u003e\n\u003cli\u003eRealign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2152/\"\u003e#2152\u003c/a\u003e by Tan Le)\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/rouge-ruby/rouge/commit/7a879833337f68fd358c350366db3f24cf441ed7\"\u003e\u003ccode\u003e7a87983\u003c/code\u003e\u003c/a\u003e Release v4.6.1 (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2164\"\u003e#2164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/55b9ea967c75a63d7669a7797cd5b33644036ef1\"\u003e\u003ccode\u003e55b9ea9\u003c/code\u003e\u003c/a\u003e CSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2160\"\u003e#2160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/70a77c3d54ee449460f92eae14b1dd472be92fd3\"\u003e\u003ccode\u003e70a77c3\u003c/code\u003e\u003c/a\u003e Support standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2161\"\u003e#2161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/e5cb72f7b24b39e36e6ee4f086644897ae567c4e\"\u003e\u003ccode\u003ee5cb72f\u003c/code\u003e\u003c/a\u003e Bugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2155\"\u003e#2155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/87662dda2bb2fe5b36bdff78d22dfd886183e08f\"\u003e\u003ccode\u003e87662dd\u003c/code\u003e\u003c/a\u003e Recognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2158\"\u003e#2158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/d917e336f89f1d5554b816980b1828b3ed75c1af\"\u003e\u003ccode\u003ed917e33\u003c/code\u003e\u003c/a\u003e Add ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2154\"\u003e#2154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/aabe2490d40ef793aa72e8eff6851f343af89dde\"\u003e\u003ccode\u003eaabe249\u003c/code\u003e\u003c/a\u003e Realign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/a59d414b45ec2b68f372a8e2661f554c6fcd8d3d\"\u003e\u003ccode\u003ea59d414\u003c/code\u003e\u003c/a\u003e Replace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/327071fe99f3efbe295d3b3a9263c7bec5bdec47\"\u003e\u003ccode\u003e327071f\u003c/code\u003e\u003c/a\u003e Fix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2149\"\u003e#2149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.17\"\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.25.0 to 1.26.0\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.0\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/444\"\u003e#444\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003ePerformance/BlockGivenWithExplicitBlock\u003c/code\u003e when using \u003ccode\u003eNaming/BlockForwarding\u003c/code\u003e's autocorrection together. (\u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/500\"\u003e#500\u003c/a\u003e: Mark \u003ccode\u003ePerformance/MapCompact\u003c/code\u003e cop as unsafe. (\u003ca href=\"https://github.com/jbpextra\"\u003e\u003ccode\u003e@​jbpextra\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/pull/498\"\u003e#498\u003c/a\u003e: Fix \u003ccode\u003ePerformance/Count\u003c/code\u003e cop error on empty selector block. (\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-performance/pull/504\"\u003e#504\u003c/a\u003e: Fix autocorrection syntax error for \u003ccode\u003ePerformance/Count\u003c/code\u003e with multiline calls. (\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\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/512\"\u003e#512\u003c/a\u003e: Detect negated conditions like \u003ccode\u003e!foo.start_with('bar') \u0026amp;\u0026amp; !foo.start_with('baz')\u003c/code\u003e with \u003ccode\u003ePerformance/DoubleStartEndWith\u003c/code\u003e. (\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.0 (2025-09-06)\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/444\"\u003e#444\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003ePerformance/BlockGivenWithExplicitBlock\u003c/code\u003e when using \u003ccode\u003eNaming/BlockForwarding\u003c/code\u003e's autocorrection together. ([\u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/500\"\u003e#500\u003c/a\u003e: Mark \u003ccode\u003ePerformance/MapCompact\u003c/code\u003e cop as unsafe. ([\u003ca href=\"https://github.com/jbpextra\"\u003e\u003ccode\u003e@​jbpextra\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/pull/498\"\u003e#498\u003c/a\u003e: Fix \u003ccode\u003ePerformance/Count\u003c/code\u003e cop error on empty selector block. ([\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-performance/pull/504\"\u003e#504\u003c/a\u003e: Fix autocorrection syntax error for \u003ccode\u003ePerformance/Count\u003c/code\u003e with multiline calls. ([\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\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/512\"\u003e#512\u003c/a\u003e: Detect negated conditions like \u003ccode\u003e!foo.start_with('bar') \u0026amp;\u0026amp; !foo.start_with('baz')\u003c/code\u003e with \u003ccode\u003ePerformance/DoubleStartEndWith\u003c/code\u003e. ([\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/4e6eb015f256bebde8a80d075d709f90ad7507f0\"\u003e\u003ccode\u003e4e6eb01\u003c/code\u003e\u003c/a\u003e Cut 1.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/b78119b60a380991229e2a602c1c89ac75345123\"\u003e\u003ccode\u003eb78119b\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/75e8065c4d2a35fcfa1a1cb8b41f91dc19150245\"\u003e\u003ccode\u003e75e8065\u003c/code\u003e\u003c/a\u003e Fix typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/be32feccfb6216a134f9d5635ef9544fbd33f56d\"\u003e\u003ccode\u003ebe32fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/514\"\u003e#514\u003c/a\u003e from Earlopain/ci-jrbuy-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/7615a373c96462b0f3e1322d9aa7dae14b542d8d\"\u003e\u003ccode\u003e7615a37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/513\"\u003e#513\u003c/a\u003e from Earlopain/sync-spellchecking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/1b82ee847ada4d95cc81c711cea22a2bdca9ee4b\"\u003e\u003ccode\u003e1b82ee8\u003c/code\u003e\u003c/a\u003e CI against the latest stable JRuby version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/2bfd0c699b40f4e9d49c3d1179e17bd30759f955\"\u003e\u003ccode\u003e2bfd0c6\u003c/code\u003e\u003c/a\u003e Remove misspell from CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/95b35594d3732e10bb11d85351b3e6faf1965353\"\u003e\u003ccode\u003e95b3559\u003c/code\u003e\u003c/a\u003e Run codespell with \u003ccode\u003ebundle exec rake\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/c592668a75bf305f0ab33d2c8dd3e23bbe8fc6a1\"\u003e\u003ccode\u003ec592668\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/512\"\u003e#512\u003c/a\u003e from Earlopain/start-end-negation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/b78995987ac8e0b012ad0c0d3b9c6b9a71ada0cf\"\u003e\u003ccode\u003eb789959\u003c/code\u003e\u003c/a\u003e Detect negated conditions with \u003ccode\u003ePerformance/DoubleStartEndWith\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-performance/compare/v1.25.0...v1.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-rails` from 2.33.3 to 2.33.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rails/releases\"\u003erubocop-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop Rails v2.33.4\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. (\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. (\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/blob/master/CHANGELOG.md\"\u003erubocop-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.4 (2025-09-27)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. ([\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/commit/b2ccb8244903d481ed3c38ec7d82b178004b1ba8\"\u003e\u003ccode\u003eb2ccb82\u003c/code\u003e\u003c/a\u003e Cut 2.33.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/0fb12599c595f64b9f71133076d6b82039caef2f\"\u003e\u003ccode\u003e0fb1259\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/24faad2570253883247edd5b0cfb23eb56ed9c86\"\u003e\u003ccode\u003e24faad2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1533\"\u003e#1533\u003c/a\u003e from viralpraxis/load-simplecov-before-lib-for-bette...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/28caddb84e77734bda1acb6632cf58b7add0b0ec\"\u003e\u003ccode\u003e28caddb\u003c/code\u003e\u003c/a\u003e Load \u003ccode\u003esimplecov\u003c/code\u003e before loading \u003ccode\u003elib\u003c/code\u003e for better coverage results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/60dd19b6795282ae3e2c6ba0519b368fc9bb4c13\"\u003e\u003ccode\u003e60dd19b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1528\"\u003e#1528\u003c/a\u003e from 5hun-s/fix_false_positive_for_rails_action_cont...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/87e5bbffeb97904cdb840095e1b1edd1244ff539\"\u003e\u003ccode\u003e87e5bbf\u003c/code\u003e\u003c/a\u003e [Fix rubocop#1182] Fix a false positive for Rails/ActionControllerFlashBefore...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/ec292a2c818586f04291fb698710659ecb213763\"\u003e\u003ccode\u003eec292a2\u003c/code\u003e\u003c/a\u003e Fix a build error when using Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/17371a8c6b6ec46a043b6b345fbaee4de08e2d7e\"\u003e\u003ccode\u003e17371a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1531\"\u003e#1531\u003c/a\u003e from koic/fix_an_incorrect_autocorrect_for_rails_fin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/2b091eb909dad6efb162541dcdcf24567bc4291f\"\u003e\u003ccode\u003e2b091eb\u003c/code\u003e\u003c/a\u003e Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/dd734913df79ac68ca1b4038bc93320d3172cf10\"\u003e\u003ccode\u003edd73491\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1522\"\u003e#1522\u003c/a\u003e from Earlopain/find-by-where-block\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rails/compare/v2.33.3...v2.33.4\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed compatibility with \u003ccode\u003eredis\u003c/code\u003e gem \u003ccode\u003e5.4.1\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a possible race condition in \u003ccode\u003estream_from\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOuYangJinTing\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/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/5eb4c3d2fabd84954eddccca9ddc437f41a27ebc\"\u003e\u003ccode\u003e5eb4c3d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54031\"\u003e#54031\u003c/a\u003e from bai/bun-lockfile-txt\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/e0278f5728a2c3f5666c3565ee195e43ffc86dec\"\u003e\u003ccode\u003ee0278f5\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/cb04cf583a5390bf87834be69bc096a3b48c3af3\"\u003e\u003ccode\u003ecb04cf5\u003c/code\u003e\u003c/a\u003e Appease rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/11493e8126e964cb7480c64adff3be92cabbc0eb\"\u003e\u003ccode\u003e11493e8\u003c/code\u003e\u003c/a\u003e Fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5b8826cd03edbaf4a0a7bb40323c0de2e6cda91\"\u003e\u003ccode\u003ef5b8826\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/44e016ec2290e16e4f53814c522d37dafe8119ce\"\u003e\u003ccode\u003e44e016e\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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/5308e753c69a15bad58892d83dd98302cb766beb\"\u003e\u003ccode\u003e5308e75\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/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.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eURL helpers for engines mounted at the application root handle \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e correctly.\u003c/p\u003e\n\u003cp\u003eFixed an issue where \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e is not applied to paths generated for routes in an engine\nmounted at \u0026quot;/\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e from clearing almost all routes.\u003c/p\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e inside a middleware of\na Rake task, it was possible under certain conditions that all routes would be cleared.\nIf ran inside a middleware, this would result in getting a 404 on most page you visit.\nThis issue was only happening in development.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdouard Chin\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress \u003ccode\u003erack 3.2\u003c/code\u003e deprecations warnings.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ewarning: Status code :unprocessable_entity is deprecated and will be removed in a future version of Rack.\nPlease use :unprocessable_content instead.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eRails API will transparently convert one into the other for the foreseeable future.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEarlopain\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport hash-source in Content Security Policy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003emadogiwa\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways return empty body for HEAD requests in \u003ccode\u003ePublicExceptions\u003c/code\u003e and\n\u003ccode\u003eDebugExceptions\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis is required by \u003ccode\u003eRack::Lint\u003c/code\u003e (per RFC9110).\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/13123c4f097fba9f173ab069d487ecc5b7f4ff69\"\u003e\u003ccode\u003e13123c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54306\"\u003e#54306\u003c/a\u003e from Edouard-chin/ec-routes-reloading\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/d6a8692215f611a419d5c28f6e03691c82a0a789\"\u003e\u003ccode\u003ed6a8692\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54207\"\u003e#54207\u003c/a\u003e from madogiwa0124/support-csp-hash-source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f495b6e19d01ece09b3293e3079ce375e8cc1002\"\u003e\u003ccode\u003ef495b6e\u003c/code\u003e\u003c/a\u003e Format example as code instead of ASCII table [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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd rollup-plugin-terser as a dev dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eÉdouard Chin\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/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/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/91d803cc53d3078149639fc7498b8651396e4bbc\"\u003e\u003ccode\u003e91d803c\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/144c9657952210a23cf78a3cc4f17b8eb8051683\"\u003e\u003ccode\u003e144c965\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/e4aefa9c80ddfa05fa645b0470f7971cedf1ce6e\"\u003e\u003ccode\u003ee4aefa9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54798\"\u003e#54798\u003c/a\u003e from Edouard...\n\n_Description has been truncated_","html_url":"https://github.com/bensheldon/island94.org/pull/441","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bensheldon%2Fisland94.org/issues/441","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/441/packages"},{"uuid":"2868991659","node_id":"PR_kwDOAmAyHM6rAVar","number":151,"state":"open","title":"Bump the semver_updates group with 22 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T04:31:29.000Z","updated_at":"2025-09-29T04:31:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"semver_updates","update_count":22,"packages":[{"name":"rails","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"puma","old_version":"7.0.3","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"actioncable","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"aws-partitions","old_version":"1.1162.0","new_version":"1.1166.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.232.0","new_version":"3.233.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.112.0","new_version":"1.113.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.199.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"mime-types-data","old_version":"3.2025.0916","new_version":"3.2025.0924","repository_url":"https://github.com/mime-types/mime-types-data"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"rubyzip","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/rubyzip/rubyzip"},{"name":"sass-embedded","old_version":"1.93.0","new_version":"1.93.2","repository_url":"https://github.com/sass-contrib/sass-embedded-host-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the semver_updates group with 22 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [puma](https://github.com/puma/puma) | `7.0.3` | `7.0.4` |\n| [actioncable](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionmailbox](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actiontext](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activestorage](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1162.0` | `1.1166.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.232.0` | `3.233.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.112.0` | `1.113.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.199.0` | `1.199.1` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [mime-types-data](https://github.com/mime-types/mime-types-data) | `3.2025.0916` | `3.2025.0924` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [rubyzip](https://github.com/rubyzip/rubyzip) | `3.1.0` | `3.1.1` |\n| [sass-embedded](https://github.com/sass-contrib/sass-embedded-host-ruby) | `1.93.0` | `1.93.2` |\n\nUpdates `rails` from 8.0.2.1 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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/030f68cb32c6ff05f7922040ad6bde3dd902f977\"\u003e\u003ccode\u003e030f68c\u003c/code\u003e\u003c/a\u003e Remove lock for rdoc gem in Gemfile\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/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/74038d7f15a8f9e5b3d38a730a4b67da14697daa\"\u003e\u003ccode\u003e74038d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55722\"\u003e#55722\u003c/a\u003e from kozy4324/fix-lease-sticky-flag-timing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4fc9618c6116476bcb4818624abb27bedc488cd3\"\u003e\u003ccode\u003e4fc9618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55703\"\u003e#55703\u003c/a\u003e from byroot/hly-fix-query-cache-system-tests-2\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.3 to 7.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/master/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.4 / 2025-09-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3740\"\u003e#3740\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a4c451c142a93ffb33af4a643b1e065341d9ad3a\"\u003e\u003ccode\u003ea4c451c\u003c/code\u003e\u003c/a\u003e v7.0.4 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3769\"\u003e#3769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/474f4ac87b3a49884080f6611636eff2e6e61cee\"\u003e\u003ccode\u003e474f4ac\u003c/code\u003e\u003c/a\u003e Remove global side effect from test (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/30e0d2254043f0ef8b586f23bc5f06a59a45c219\"\u003e\u003ccode\u003e30e0d22\u003c/code\u003e\u003c/a\u003e Add test/rackup/sleep_fibonacci.ru, update benchmark hey files (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4cd1199e1c1ad40af350f70e57ce3703e0d72e8c\"\u003e\u003ccode\u003e4cd1199\u003c/code\u003e\u003c/a\u003e ci: test_puma_server_ssl.rb - catch error in thread (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/684b715026d8e0a239274f4433294e5cd8b1ad0c\"\u003e\u003ccode\u003e684b715\u003c/code\u003e\u003c/a\u003e Fix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7e0d127b93a7d7bea0c1ecf3c7c88012d1a0baea\"\u003e\u003ccode\u003e7e0d127\u003c/code\u003e\u003c/a\u003e Strip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b817da4305a7a429e8e63d4f4a9b52d2a95fdc3e\"\u003e\u003ccode\u003eb817da4\u003c/code\u003e\u003c/a\u003e puma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/943d9c7bc3f916039ef918608a21030858b4333c\"\u003e\u003ccode\u003e943d9c7\u003c/code\u003e\u003c/a\u003e Move sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7aadde56fb2507dc0aab36649bc808a90c626e05\"\u003e\u003ccode\u003e7aadde5\u003c/code\u003e\u003c/a\u003e ci: helper.rb - catch error writing to \u003ccode\u003eENV['GITHUB_STEP_SUMMARY']\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/48ffd34a8e56ef5dce1471f75b98a094874ac953\"\u003e\u003ccode\u003e48ffd34\u003c/code\u003e\u003c/a\u003e Fixup benchmark scripts (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3753\"\u003e#3753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.3...v7.0.4\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed compatibility with \u003ccode\u003eredis\u003c/code\u003e gem \u003ccode\u003e5.4.1\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a possible race condition in \u003ccode\u003estream_from\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOuYangJinTing\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/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/5eb4c3d2fabd84954eddccca9ddc437f41a27ebc\"\u003e\u003ccode\u003e5eb4c3d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54031\"\u003e#54031\u003c/a\u003e from bai/bun-lockfile-txt\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/e0278f5728a2c3f5666c3565ee195e43ffc86dec\"\u003e\u003ccode\u003ee0278f5\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/cb04cf583a5390bf87834be69bc096a3b48c3af3\"\u003e\u003ccode\u003ecb04cf5\u003c/code\u003e\u003c/a\u003e Appease rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/11493e8126e964cb7480c64adff3be92cabbc0eb\"\u003e\u003ccode\u003e11493e8\u003c/code\u003e\u003c/a\u003e Fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5b8826cd03edbaf4a0a7bb40323c0de2e6cda91\"\u003e\u003ccode\u003ef5b8826\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/44e016ec2290e16e4f53814c522d37dafe8119ce\"\u003e\u003ccode\u003e44e016e\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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/5308e753c69a15bad58892d83dd98302cb766beb\"\u003e\u003ccode\u003e5308e75\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/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.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eURL helpers for engines mounted at the application root handle \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e correctly.\u003c/p\u003e\n\u003cp\u003eFixed an issue where \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e is not applied to paths generated for routes in an engine\nmounted at \u0026quot;/\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e from clearing almost all routes.\u003c/p\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e inside a middleware of\na Rake task, it was possible under certain conditions that all routes would be cleared.\nIf ran inside a middleware, this would result in getting a 404 on most page you visit.\nThis issue was only happening in development.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdouard Chin\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress \u003ccode\u003erack 3.2\u003c/code\u003e deprecations warnings.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ewarning: Status code :unprocessable_entity is deprecated and will be removed in a future version of Rack.\nPlease use :unprocessable_content instead.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eRails API will transparently convert one into the other for the foreseeable future.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEarlopain\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport hash-source in Content Security Policy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003emadogiwa\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways return empty body for HEAD requests in \u003ccode\u003ePublicExceptions\u003c/code\u003e and\n\u003ccode\u003eDebugExceptions\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis is required by \u003ccode\u003eRack::Lint\u003c/code\u003e (per RFC9110).\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/13123c4f097fba9f173ab069d487ecc5b7f4ff69\"\u003e\u003ccode\u003e13123c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54306\"\u003e#54306\u003c/a\u003e from Edouard-chin/ec-routes-reloading\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/d6a8692215f611a419d5c28f6e03691c82a0a789\"\u003e\u003ccode\u003ed6a8692\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54207\"\u003e#54207\u003c/a\u003e from madogiwa0124/support-csp-hash-source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f495b6e19d01ece09b3293e3079ce375e8cc1002\"\u003e\u003ccode\u003ef495b6e\u003c/code\u003e\u003c/a\u003e Format example as code instead of ASCII table [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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd rollup-plugin-terser as a dev dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eÉdouard Chin\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/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/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/91d803cc53d3078149639fc7498b8651396e4bbc\"\u003e\u003ccode\u003e91d803c\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/144c9657952210a23cf78a3cc4f17b8eb8051683\"\u003e\u003ccode\u003e144c965\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/e4aefa9c80ddfa05fa645b0470f7971cedf1ce6e\"\u003e\u003ccode\u003ee4aefa9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54798\"\u003e#54798\u003c/a\u003e from Edouard-chin/ec-actiontext-rollup\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.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003ejavascript_include_tag\u003c/code\u003e \u003ccode\u003etype\u003c/code\u003e option to accept either strings and symbols.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ejavascript_include_tag \u0026quot;application\u0026quot;, type: :module\njavascript_include_tag \u0026quot;application\u0026quot;, type: \u0026quot;module\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePreviously, only the string value was recognized.\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\u003eexcerpt\u003c/code\u003e helper with non-whitespace separator.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJonathan Hefner\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/4a441e933fc764eb7128a76a36d5024c1b3caada\"\u003e\u003ccode\u003e4a441e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55476\"\u003e#55476\u003c/a\u003e from jonathanhefner/excerpt-with-non-whitespace-sep...\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/cb12148f72837b74ba63f3fba0b891b50e49f6bb\"\u003e\u003ccode\u003ecb12148\u003c/code\u003e\u003c/a\u003e Use headings for args documentation [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.3\"\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.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\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activejob/CHANGELOG.md\"\u003eactivejob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInclude the actual Active Job locale when serializing rather than I18n locale.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdrien S\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eretry_job\u003c/code\u003e instrumentation when using \u003ccode\u003e:test\u003c/code\u003e adapter for Active Job.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/91e927f00cd920e34bc844d33e6a99bbeee5beeb\"\u003e\u003ccode\u003e91e927f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55444\"\u003e#55444\u003c/a\u003e from fatkodima/remove-perform_all_later-from-config...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003ehas_secure_password\u003c/code\u003e to perform confirmation validation of the password even when blank.\u003c/p\u003e\n\u003cp\u003eThe validation was incorrectly skipped when the password only contained whitespace characters.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFabio Sangiovanni\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/9f62452807a852f29d14fb395c5c441348e16b9e\"\u003e\u003ccode\u003e9f62452\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.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\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix query cache for pinned connections in multi threaded transactional tests\u003c/p\u003e\n\u003cp\u003eWhen a pinned connection is used across separate threads, they now use a separate cache store\nfor each thread.\u003c/p\u003e\n\u003cp\u003eThis improve accuracy of system tests, and any test using multiple threads.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHeinrich Lee Yu\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't add \u003ccode\u003eid_value\u003c/code\u003e attribute alias when attribute/column with that name already exists.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRob Lewis\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix false positive change detection involving STI and polymorphic has one relationships.\u003c/p\u003e\n\u003cp\u003ePolymorphic \u003ccode\u003ehas_one\u003c/code\u003e relationships would always be considered changed when defined in a STI child\nclass, causing nedless extra autosaves.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDavid Fritsch\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip calling \u003ccode\u003ePG::Connection#cancel\u003c/code\u003e in \u003ccode\u003ecancel_any_running_query\u003c/code\u003e\nwhen using libpq \u0026gt;= 18 with pg \u0026lt; 1.6.0, due to incompatibility.\nRollback still runs, but may take longer.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eYasuo Honda\u003c/em\u003e, \u003cem\u003eLars Kanis\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix stale association detection for polymorphic \u003ccode\u003ebelongs_to\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFlorent Beaurain\u003c/em\u003e, \u003cem\u003eThomas Crambert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix removal of PostgreSQL version comments in \u003ccode\u003estructure.sql\u003c/code\u003e for latest PostgreSQL versions which include \u003ccode\u003e\\restrict\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBrendan Weibrecht\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow setting \u003ccode\u003eschema_format\u003c/code\u003e in database configuration.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eprimary:\n  schema_format: ruby\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eUseful in multi-database setups to have different formats per-database.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eT S Vallender\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ntuples to populate row_count instead of count for Postgres\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJonathan Calvert\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/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/74038d7f15a8f9e5b3d38a730a4b67da14697daa\"\u003e\u003ccode\u003e74038d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55722\"\u003e#55722\u003c/a\u003e from kozy4324/fix-lease-sticky-flag-timing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4fc9618c6116476bcb4818624abb27bedc488cd3\"\u003e\u003ccode\u003e4fc9618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55703\"\u003e#55703\u003c/a\u003e from byroot/hly-fix-query-cache-system-tests-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/20c7cffa5c6412e324e363393c5a477657f98162\"\u003e\u003ccode\u003e20c7cff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55699\"\u003e#55699\u003c/a\u003e from skipkayhil/hm-zlxzqwylrmlruzuq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8408ba67e8eb81557af11e515b8a10ab4f745552\"\u003e\u003ccode\u003e8408ba6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55698\"\u003e#55698\u003c/a\u003e from salzig/fix/respect_schema_format_in_db_schema_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e7f65a941ac3b7f193e234377e48718a86843caa\"\u003e\u003ccode\u003ee7f65a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55691\"\u003e#55691\u003c/a\u003e from kohder/rl-id-value-alias-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/228fcf56524fd380925277793c43636c226accf2\"\u003e\u003ccode\u003e228fcf5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/51359\"\u003e#51359\u003c/a\u003e from dfritsch/dfritsch/51280-polymorphic-name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54569418077b68f2f0df27c15514ebd59748c625\"\u003e\u003ccode\u003e5456941\u003c/code\u003e\u003c/a\u003e Return early when column are empty in WhereClause#except_predicates\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.3\"\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.2.1 to 8.0.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\"\u003eactivestorage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activestorage/CHANGELOG.md\"\u003eactivestorage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress deprecation of \u003ccode\u003eAws::S3::Object#upload_stream\u003c/code\u003e in \u003ccode\u003eActiveStorage::Service::S3Service\u003c/code\u003e.\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\u003econfig.active_storage.touch_attachment_records\u003c/code\u003e to work with eager loading.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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/58c1cf52979199dddead19f8caca7d5d9efdd120\"\u003e\u003ccode\u003e58c1cf5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55655\"\u003e#55655\u003c/a\u003e from viralpraxis/fix-leftover-docs-references-to-ac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2cc238e8a3eebb5f5f223a4c8ed757585b7d8d7e\"\u003e\u003ccode\u003e2cc238e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55552\"\u003e#55552\u003c/a\u003e from willnet/fix-broken-link-in-active-storage-vari...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/928391e83db900265d9ebc75d82a69f9490d9ea3\"\u003e\u003ccode\u003e928391e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55541\"\u003e#55541\u003c/a\u003e from joshuay03/fix-55525\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/fea5b858955971fcd75dbd7579a5cac542632e63\"\u003e\u003ccode\u003efea5b85\u003c/code\u003e\u003c/a\u003e Move Representable#variant options doc to API docs [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/638673a0d3831316a8f4efcff52b71674606f785\"\u003e\u003ccode\u003e638673a\u003c/code\u003e\u003c/a\u003e Use h4 headings in method docs [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a36f6cc8a6491e141cd1ff0cc5eec2b91e4bca3e\"\u003e\u003ccode\u003ea36f6cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55394\"\u003e#55394\u003c/a\u003e from cesariouy/patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\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 \u003ccode\u003eEnumerable#sole\u003c/code\u003e for infinite collections.\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/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/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/830363adf5a1d04204cd1567d6ac948abd05c430\"\u003e\u003ccode\u003e830363a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55688\"\u003e#55688\u003c/a\u003e from Shopify/drop-active-support-benchmar-extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54569418077b68f2f0df27c15514ebd59748c625\"\u003e\u003ccode\u003e5456941\u003c/code\u003e\u003c/a\u003e Return early when column are empty in WhereClause#except_predicates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c9a82e214046ec0daa06dc0b1718e948ccdc7c9a\"\u003e\u003ccode\u003ec9a82e2\u003c/code\u003e\u003c/a\u003e BigDecimal now works with floats without precision\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/ae1aa389499547813879386d9bd22aa4402d9650\"\u003e\u003ccode\u003eae1aa38\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53093\"\u003e#53093\u003c/a\u003e from armstrjare/broadcast-logger-with-block\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1162.0 to 1.1166.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1166.0 (2025-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1165.0 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1164.0 (2025-09-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1163.0 (2025-09-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.232.0 to 3.233.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.233.0 (2025-09-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSOOIDC::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - This release includes exception definition and documentation updates.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-kms` from 1.112.0 to 1.113.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-kms/CHANGELOG.md\"\u003eaws-sdk-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.113.0 (2025-09-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Documentation only updates for KMS.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.199.0 to 1.199.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/botandrosedesign/rw24/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/botandrosedesign%2Frw24/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"}],"issue_packages":[{"old_version":"1.3.0","new_version":"1.4.0","update_type":"minor","path":null,"pr_created_at":"2026-09-10T17:04:44.000Z","version_change":"1.3.0 → 1.4.0","issue":{"uuid":"5415119393","node_id":"PR_kwDOABNy5s8AAAABDBxkFA","number":346,"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-09-14T17:04:15.000Z","author_association":null,"state_reason":null,"created_at":"2026-09-10T17:04:44.000Z","updated_at":"2026-09-14T17:04:17.000Z","time_to_close":345571,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":15,"packages":[{"name":"action_text-trix","old_version":"2.1.18","new_version":"2.1.19","repository_url":"https://github.com/basecamp/trix"},{"name":"concurrent-ruby","old_version":"1.3.7","new_version":"1.3.8"},{"name":"erb","old_version":"6.0.4","new_version":"6.0.7"},{"name":"globalid","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/rails/globalid"},{"name":"i18n","old_version":"1.14.8","new_version":"1.15.2"},{"name":"io-console","old_version":"0.8.2","new_version":"0.9.2"},{"name":"mail","old_version":"2.9.0","new_version":"2.9.1","repository_url":"https://github.com/mikel/mail"},{"name":"minitest","old_version":"6.0.5","new_version":"6.0.6"},{"name":"net-imap","old_version":"0.6.4.1","new_version":"0.6.7"},{"name":"net-protocol","old_version":"0.2.2","new_version":"0.3.0"},{"name":"pp","old_version":"0.6.3","new_version":"0.6.4"},{"name":"rack","old_version":"3.2.6","new_version":"3.2.7"},{"name":"rdoc","old_version":"7.2.0","new_version":"8.0.0"},{"name":"reline","old_version":"0.6.3","new_version":"0.7.0"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 3 updates in the / directory: [action_text-trix](https://github.com/basecamp/trix), [globalid](https://github.com/rails/globalid) and [mail](https://github.com/mikel/mail).\n\nUpdates `action_text-trix` from 2.1.18 to 2.1.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.19\u003c/h2\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade DOMPurify to 3.4.2 from 3.2.7 by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1310\"\u003ebasecamp/trix#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/23ab2f6504d2a07d9e319e3617331d03fa6c36db\"\u003e\u003ccode\u003e23ab2f6\u003c/code\u003e\u003c/a\u003e v2.1.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/6ba31fea451622707548de6cd6b3c8fcd4a8aaea\"\u003e\u003ccode\u003e6ba31fe\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 3.14.1 to 3.14.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/644a02c8802ae3fb1a5656f2ac55a6a0a5fca1f1\"\u003e\u003ccode\u003e644a02c\u003c/code\u003e\u003c/a\u003e dep: upgrade rangy to 1.3.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/a7c0e0945e4c98e12c1fd586c3e6c7858ce21a02\"\u003e\u003ccode\u003ea7c0e09\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.0 to 6.15.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/ce80a5ef31715d851222ee616421a33ea63574de\"\u003e\u003ccode\u003ece80a5e\u003c/code\u003e\u003c/a\u003e dep: upgrade DOMPurify to 3.4.2 from 3.2.7 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1310\"\u003e#1310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/50c5d4fecd4b36aadec5fc8fcc0dea124ce201b0\"\u003e\u003ccode\u003e50c5d4f\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e from 7.23.9 to 7.29.4 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/95addeb72a525bf26408e8bb480886024a7b9184\"\u003e\u003ccode\u003e95addeb\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.21 to 4.18.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/c76aeb707fb52cc412adb1fac10dd31267d3c024\"\u003e\u003ccode\u003ec76aeb7\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/f325978dc025923a9d149379edfa1017eaf83c0e\"\u003e\u003ccode\u003ef325978\u003c/code\u003e\u003c/a\u003e Bump ip-address from 10.1.0 to 10.2.0 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/d014617094cd974bb19eb15e325685cac909cb5c\"\u003e\u003ccode\u003ed014617\u003c/code\u003e\u003c/a\u003e Bump basic-ftp from 5.0.5 to 5.2.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `concurrent-ruby` from 1.3.7 to 1.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases\"\u003econcurrent-ruby's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProgramatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to use Concurrent::Map#compute_if_absent in a Ractor by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1109\"\u003eruby-concurrency/concurrent-ruby#1109\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/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\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-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ehttps://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\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-concurrency/concurrent-ruby/blob/master/CHANGELOG.md\"\u003econcurrent-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.3.8 (19 July 2026)\u003c/h2\u003e\n\u003cp\u003econcurrent-ruby:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.8\"\u003erelease notes on GitHub\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-concurrency/concurrent-ruby/commit/0b88d5ff75f69b3740c8f0868e76f833cb2fd45d\"\u003e\u003ccode\u003e0b88d5f\u003c/code\u003e\u003c/a\u003e Release 1.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/0f83a98928df59ea9f713adba8f68e2e9d518503\"\u003e\u003ccode\u003e0f83a98\u003c/code\u003e\u003c/a\u003e Allow to use Concurrent::Map#compute_if_absent in a Ractor (\u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/issues/1109\"\u003e#1109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/cc5a32fe96ba9b118752bd9b60548259580d2f1c\"\u003e\u003ccode\u003ecc5a32f\u003c/code\u003e\u003c/a\u003e Programatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception:\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 6.0.4 to 6.0.7\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\u003ev6.0.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression, add tests by \u003ca href=\"https://github.com/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/v6.0.6...v6.0.7\"\u003ehttps://github.com/ruby/erb/compare/v6.0.6...v6.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation typos and code examples by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/126\"\u003eruby/erb#126\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/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\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/v6.0.5...v6.0.6\"\u003ehttps://github.com/ruby/erb/compare/v6.0.5...v6.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: fix dead link to now removed issue by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: forward-port NEWS/changelog entries for clarity by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/114\"\u003eruby/erb#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConstrain RDoc below 8 for JRuby CI 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/erb/pull/122\"\u003eruby/erb#122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix wrong receiver in eoutvar example for #src 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/erb/pull/123\"\u003eruby/erb#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid dispatch in ERB initialization guard 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/erb/pull/124\"\u003eruby/erb#124\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/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.5\"\u003ehttps://github.com/ruby/erb/compare/v6.0.4...v6.0.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression in v6.0.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overridable method dispatch in the initialization guard\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/9907393a1f1dfc027e8e7f2a9f5fcc7c60632762\"\u003e\u003ccode\u003e9907393\u003c/code\u003e\u003c/a\u003e Version 6.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/50f434e7e5cc055348d4a744f8b0336bc511fe8f\"\u003e\u003ccode\u003e50f434e\u003c/code\u003e\u003c/a\u003e Simplify Scanner's Ractor safety code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/75f1ea059e9ed55d910589f6da5989e2ba65150c\"\u003e\u003ccode\u003e75f1ea0\u003c/code\u003e\u003c/a\u003e Fix Ractor compatibility regression, add tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/26f674e48eed5ec2f503812758b24fc9415a84f4\"\u003e\u003ccode\u003e26f674e\u003c/code\u003e\u003c/a\u003e Bump lewagon/wait-on-check-action from 1.8.0 to 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/58411353a15accf5395593dc541d8168fa134c10\"\u003e\u003ccode\u003e5841135\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.4 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/488683a7785a11b2b706b5b6e0708bed311ec577\"\u003e\u003ccode\u003e488683a\u003c/code\u003e\u003c/a\u003e Version 6.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/0f9a6d6a7ad49dd322df352dc66fc7c3793a44c6\"\u003e\u003ccode\u003e0f9a6d6\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e-h\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37daba66e03c588d66a42fc391bd35c21fd0c665\"\u003e\u003ccode\u003e37daba6\u003c/code\u003e\u003c/a\u003e Fix documentation typos and code examples (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37c941cb6df14463150b73f43db497f7e23dea4e\"\u003e\u003ccode\u003e37c941c\u003c/code\u003e\u003c/a\u003e Version 6.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ce08ffbeff70dfc44b5551a5bb51cc471bb7c3d2\"\u003e\u003ccode\u003ece08ffb\u003c/code\u003e\u003c/a\u003e Hide ERB init guard internals from RDoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors by \u003ca href=\"https://github.com/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange the underlying URI parser (from RFC2396 to RFC3986) by \u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't try to constantize GID's class too soon by \u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow custom locators to override model class by \u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/globalid/compare/v1.3.0...v1.4.0\"\u003ehttps://github.com/rails/globalid/compare/v1.3.0...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c81267b4ca2eb41aa1d39178e281fbf38b6e5685\"\u003e\u003ccode\u003ec81267b\u003c/code\u003e\u003c/a\u003e Release 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/ce280b7e793a31bb604222407e8812ffca559a61\"\u003e\u003ccode\u003ece280b7\u003c/code\u003e\u003c/a\u003e Frozen string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9325789f231ed6b7cbc0c2bdd34ec45e9d5d893b\"\u003e\u003ccode\u003e9325789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/203\"\u003e#203\u003c/a\u003e from xijo/support_model_class_override_for_custom_loc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/241657bd6049738972c439d3402732744a86edd4\"\u003e\u003ccode\u003e241657b\u003c/code\u003e\u003c/a\u003e Allow custom locators to override model class derivation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/dc5bc56320a093c1ca24fa22c78fa64be37a717f\"\u003e\u003ccode\u003edc5bc56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/204\"\u003e#204\u003c/a\u003e from paulRbr/dont-constantize-model-when-not-needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26498976f018312c1949e2f11e40ec9f0f70815c\"\u003e\u003ccode\u003e2649897\u003c/code\u003e\u003c/a\u003e Don't try to constantize GID's class too soon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/018ccf19597f97513f5b5786634bcb532f476681\"\u003e\u003ccode\u003e018ccf1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/202\"\u003e#202\u003c/a\u003e from Drowze/swappable-uri-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/0f2efb5753009a64107f18071d6c1f0217cba6fa\"\u003e\u003ccode\u003e0f2efb5\u003c/code\u003e\u003c/a\u003e Change the underlying URI parser (from RFC2396 to RFC3986)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4fd30dd77f645d6c03191e2936e4d3370004c729\"\u003e\u003ccode\u003e4fd30dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/206\"\u003e#206\u003c/a\u003e from rosa/fetch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/948503f198cff5b951b1b7210b5648891e1d049c\"\u003e\u003ccode\u003e948503f\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.3.0...v1.4.0\"\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.8 to 1.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 3.1 support by \u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/739\"\u003eruby-i18n/i18n#739\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.15.1...v1.15.2\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.1...v1.15.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix feature fiber storage by \u003ca href=\"https://github.com/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore Ruby 3.2 + Rails main from the matrix 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-i18n/i18n/pull/737\"\u003eruby-i18n/i18n#737\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/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\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.15.0...v1.15.1\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.0...v1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake lazy loading of I18n translations thread safe ( part 2 ) by \u003ca href=\"https://github.com/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to not replace non-ASCII chars not in map by \u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd transliteration for O with ogonek 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-i18n/i18n/pull/733\"\u003eruby-i18n/i18n#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: exclude Ruby 3.2 from rails-main matrix 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-i18n/i18n/pull/734\"\u003eruby-i18n/i18n#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFiber-aware I18n config storage 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/731\"\u003eruby-i18n/i18n#731\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/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\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.8...v1.15.0\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/8beba78761637f6677fa94e26e19b50790161f78\"\u003e\u003ccode\u003e8beba78\u003c/code\u003e\u003c/a\u003e Bump to 1.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d6964f2b60e65223573fbba9e51e2689ef4324bc\"\u003e\u003ccode\u003ed6964f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/739\"\u003e#739\u003c/a\u003e from koic/restore_ruby_3_1_support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/e4c806e513bf51f19c956fefbee38b5a105bebf8\"\u003e\u003ccode\u003ee4c806e\u003c/code\u003e\u003c/a\u003e Restore Ruby 3.1 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/02841cb7fcf17458c6574fbf43fb36f25a00e9ad\"\u003e\u003ccode\u003e02841cb\u003c/code\u003e\u003c/a\u003e Bump to 1.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/a56484de2167826995867f0a34f9e03a581ebad7\"\u003e\u003ccode\u003ea56484d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/737\"\u003e#737\u003c/a\u003e from ruby-i18n/ignore-ruby32-rails-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/52deabaf8e1f6e9ec5ea300b180f749fc6554294\"\u003e\u003ccode\u003e52deaba\u003c/code\u003e\u003c/a\u003e Ignore Ruby 3.2 + Rails main from the matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/94891ca7fd503d57b00ab8abb6e8a5025b5ed284\"\u003e\u003ccode\u003e94891ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/736\"\u003e#736\u003c/a\u003e from YashaVinter/fix-feature-fiber-storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/5a7913e587cd8db5417a359049ad7decfac86bcc\"\u003e\u003ccode\u003e5a7913e\u003c/code\u003e\u003c/a\u003e Test against Ruby 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/cd337a8a8ba25351a08c0118e52a796113da7802\"\u003e\u003ccode\u003ecd337a8\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/735\"\u003eruby-i18n/i18n#735\u003c/a\u003e NoMethodError: undefined met...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/78fa20aa9a4f8d3632fc5c0e146aaca73fdea098\"\u003e\u003ccode\u003e78fa20a\u003c/code\u003e\u003c/a\u003e Bump to 1.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io-console` from 0.8.2 to 0.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/io-console/releases\"\u003eio-console's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCI: Add more platforms to matrix by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/147\"\u003eruby/io-console#147\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOrganize JRuby console implementations by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/148\"\u003eruby/io-console#148\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.9.1...v0.9.2\"\u003ehttps://github.com/ruby/io-console/compare/v0.9.1...v0.9.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix stty redirection on JRuby by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/146\"\u003eruby/io-console#146\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.9.0...v0.9.1\"\u003ehttps://github.com/ruby/io-console/compare/v0.9.0...v0.9.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.9.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove no longer used variable by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/119\"\u003eruby/io-console#119\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Use \u003ccode\u003e:nodoc:\u003c/code\u003e instead of \u003ccode\u003e:stopdoc:\u003c/code\u003e for internal C-defined classes 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/io-console/pull/123\"\u003eruby/io-console#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument that getch can return nil by \u003ca href=\"https://github.com/zonuexe\"\u003e\u003ccode\u003e@​zonuexe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/130\"\u003eruby/io-console#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Pin rbs on JRuby to a pre-release with JRuby support 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/io-console/pull/135\"\u003eruby/io-console#135\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake win32_vk generator portable to cmd.exe by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/136\"\u003eruby/io-console#136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove stale checks by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/138\"\u003eruby/io-console#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtend \u003ccode\u003eIO#tty?\u003c/code\u003e to recognize Windows PTYs by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/139\"\u003eruby/io-console#139\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged File.exists? to File.exist? in lib/ffi/io/console/stty_console.rb by \u003ca href=\"https://github.com/Kostadin\"\u003e\u003ccode\u003e@​Kostadin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/137\"\u003eruby/io-console#137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up platform dispatch in the FFI version by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/141\"\u003eruby/io-console#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement FFI console mode support by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/142\"\u003eruby/io-console#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce the \u003ccode\u003eIO::Console\u003c/code\u003e namespace by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/143\"\u003eruby/io-console#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor and fix \u003ccode\u003eIO#_io_console_stty\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/io-console/pull/144\"\u003eruby/io-console#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Windows console support by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/140\"\u003eruby/io-console#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/123\"\u003eruby/io-console#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zonuexe\"\u003e\u003ccode\u003e@​zonuexe\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/130\"\u003eruby/io-console#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kostadin\"\u003e\u003ccode\u003e@​Kostadin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/io-console/pull/137\"\u003eruby/io-console#137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.2...v0.9.0\"\u003ehttps://github.com/ruby/io-console/compare/v0.8.2...v0.9.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/io-console/commit/23f96614704a59f69411ca2ece24d5361dd27601\"\u003e\u003ccode\u003e23f9661\u003c/code\u003e\u003c/a\u003e bump up to 0.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/48942c2803258eb32b231d3aa8a0a48b5d40cd61\"\u003e\u003ccode\u003e48942c2\u003c/code\u003e\u003c/a\u003e Support JRuby FFI console on arm64 Darwin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/0ec2d9d45acb2c6b60dac59724f16fbf0a99e52b\"\u003e\u003ccode\u003e0ec2d9d\u003c/code\u003e\u003c/a\u003e Separate JRuby FFI bindings from constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/8b57c65011c0919bdb3a9fb111e2f330754861bc\"\u003e\u003ccode\u003e8b57c65\u003c/code\u003e\u003c/a\u003e Organize JRuby console implementations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/b7ac2e04e94a636b66b19ee04d912dcdb70404b1\"\u003e\u003ccode\u003eb7ac2e0\u003c/code\u003e\u003c/a\u003e Move JRuby implementation under jruby/lib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/d6e1af6eb394cfd88c6b33b0a1a642f214d5a867\"\u003e\u003ccode\u003ed6e1af6\u003c/code\u003e\u003c/a\u003e Clarify JRuby test load path setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/fcb28a3ff7ba5bb3c8229f4b8becc50a7a495820\"\u003e\u003ccode\u003efcb28a3\u003c/code\u003e\u003c/a\u003e Improve stty console support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/1b4a781de34fc1d2fbb54bce38ff08bf492b9163\"\u003e\u003ccode\u003e1b4a781\u003c/code\u003e\u003c/a\u003e Test bad keywords on JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/14ca994f43f42a71e0337af86105e40a13ff206c\"\u003e\u003ccode\u003e14ca994\u003c/code\u003e\u003c/a\u003e Test more platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/io-console/commit/3837d1a955b8a5907f699d1ba16754f11cdeec02\"\u003e\u003ccode\u003e3837d1a\u003c/code\u003e\u003c/a\u003e bump up to 0.9.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/io-console/compare/v0.8.2...v0.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.9.0 to 2.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Ruby 3.4 to CI matrix in GitHub Actions workflow by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove decoding of Q- and B-encoded strings by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1664\"\u003emikel/mail#1664\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump to 2.9.1 by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1665\"\u003emikel/mail#1665\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\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/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\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/mikel/mail/compare/2.9.0...2.9.1\"\u003ehttps://github.com/mikel/mail/compare/2.9.0...2.9.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/mikel/mail/commit/d645d7b5b7d03218b0bc8971ef041c991a63f5f7\"\u003e\u003ccode\u003ed645d7b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1665\"\u003e#1665\u003c/a\u003e from mikel/tag-291\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/5c863ed0489571e7572669018739dc47ed1f9189\"\u003e\u003ccode\u003e5c863ed\u003c/code\u003e\u003c/a\u003e Bump to 2.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/14915fa4c5f30ade18f3745ecc6d5d141a48104d\"\u003e\u003ccode\u003e14915fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1664\"\u003e#1664\u003c/a\u003e from mikel/sec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/4eab5623419079d6b972f063f16b536c02ecee62\"\u003e\u003ccode\u003e4eab562\u003c/code\u003e\u003c/a\u003e Potential fix for pull request finding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f9d59c2e447af42e2c3dec5a56b1bb25c7292859\"\u003e\u003ccode\u003ef9d59c2\u003c/code\u003e\u003c/a\u003e Improve decoding of Q- and B-encoded strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f98fb653956d246661394b1e98cf6e77eb8dd0a0\"\u003e\u003ccode\u003ef98fb65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1653\"\u003e#1653\u003c/a\u003e from ydah/add-ci-matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d9081000b1c3e9a07f2b58e0e6c0b8f360bc8c8f\"\u003e\u003ccode\u003ed908100\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI matrix in GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mikel/mail/compare/2.9.0...2.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.5 to 6.0.6\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=== 6.0.6 / 2026-04-30\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e2 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e. (mtasaka)\u003c/li\u003e\n\u003cli\u003eRemoved private Assertions#_where as it is no longer used.\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/f6180b07ea6e8504a71d220246da0875f392c51c\"\u003e\u003ccode\u003ef6180b0\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/23bc7f25a8853b9b3c75b9b73c65d231e42cb452\"\u003e\u003ccode\u003e23bc7f2\u003c/code\u003e\u003c/a\u003e - Removed private Assertions#_where as it is no longer used.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c471347e5daf7f3e362c530170ae3302edad9117\"\u003e\u003ccode\u003ec471347\u003c/code\u003e\u003c/a\u003e - Fix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.5...v6.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.6.4.1 to 0.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add SequenceSet predicates for comparing any/all/none above/below a number by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/737\"\u003eruby/net-imap#737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse NIL APPENDLIMIT values in STATUS responses by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/749\"\u003eruby/net-imap#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🔓️ Add \u003ccode\u003e#tls_socket?\u003c/code\u003e and \u003ccode\u003e#tls_connected?\u003c/code\u003e debug methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/767\"\u003eruby/net-imap#767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCompare SearchResult values instead of hashes in eql? by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/738\"\u003eruby/net-imap#738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHonor clone freeze keywords for \u003ccode\u003eConfig\u003c/code\u003e and \u003ccode\u003eSequenceSet\u003c/code\u003e by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/739\"\u003eruby/net-imap#739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNormalize response types consistently when clearing responses by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/747\"\u003eruby/net-imap#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle zero and negative SequenceSet min/max counts by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/742\"\u003eruby/net-imap#742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep large ordered sequence indices as integers by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/743\"\u003eruby/net-imap#743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept string arguments in SequenceSet delete? by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/741\"\u003eruby/net-imap#741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse the documented 16 KiB non-synchronizing literal default by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/744\"\u003eruby/net-imap#744\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse STATUS responses with empty attribute lists by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/748\"\u003eruby/net-imap#748\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatch ID string literal bytes without encoding conflicts by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/740\"\u003eruby/net-imap#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003e#inspect\u003c/code\u003e output when \u003ccode\u003eSSLSocket#connect\u003c/code\u003e fails by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/764\"\u003eruby/net-imap#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Don't freeze caller's \u003ccode\u003essl: ctx_params\u003c/code\u003e hash by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/765\"\u003eruby/net-imap#765\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚️ Fix Config attributes docs broken by rdoc 8.0 by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/735\"\u003eruby/net-imap#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚️ Fix ghost \u003ccode\u003emethod:\u003c/code\u003e directives broken by rdoc 8.0 by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/734\"\u003eruby/net-imap#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Various documentation updates by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/763\"\u003eruby/net-imap#763\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse benchmark_driver by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/733\"\u003eruby/net-imap#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Match subclasses in \u003ccode\u003eSearchResult#eql?\u003c/code\u003e/\u003ccode\u003e#hash\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/751\"\u003eruby/net-imap#751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve caller fetch modifiers when adding keyword options by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/746\"\u003eruby/net-imap#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⚡ Scan raw command literals without copying the remaining input by \u003ca href=\"https://github.com/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/745\"\u003eruby/net-imap#745\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Style tweaks to \u003ccode\u003eRawData.split\u003c/code\u003e update by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/762\"\u003eruby/net-imap#762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Update bin/test test runner and README by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/727\"\u003eruby/net-imap#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Ratchet up minimum test coverage requirements by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/725\"\u003eruby/net-imap#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Move various IMAP client tests to their own files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/728\"\u003eruby/net-imap#728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Use release version of test-unit-ruby-core by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/736\"\u003eruby/net-imap#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix JRuby local backtrace test assertions by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/732\"\u003eruby/net-imap#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Improve \u003ccode\u003eSearchResult#eql?\u003c/code\u003e and \u003ccode\u003e#hash\u003c/code\u003e tests by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/750\"\u003eruby/net-imap#750\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.20.0 to 2.21.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/731\"\u003eruby/net-imap#731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.21.0 to 2.21.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/net-imap/pull/761\"\u003eruby/net-imap#761\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/OskarEichler\"\u003e\u003ccode\u003e@​OskarEichler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/738\"\u003eruby/net-imap#738\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.6...v0.6.7\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.6...v0.6.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/5ef99839958cdc9153ae0f147c5fb3bfbc437a10\"\u003e\u003ccode\u003e5ef9983\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to v0.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8bca190508109b89070cf824d5008a8f244bc887\"\u003e\u003ccode\u003e8bca190\u003c/code\u003e\u003c/a\u003e 🔀 Merge branch 'tls-state-inspection-predicates'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9dc5d1dd4547b6f71dbcae2f02370f1e1b4e758f\"\u003e\u003ccode\u003e9dc5d1d\u003c/code\u003e\u003c/a\u003e 🔓️ Add \u003ccode\u003etls_socket?\u003c/code\u003e and \u003ccode\u003etls_connected?\u003c/code\u003e methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/40bff51aac21c985d75edac03ec24cbf98b8ab49\"\u003e\u003ccode\u003e40bff51\u003c/code\u003e\u003c/a\u003e 📚 Link to SSLSocket in ssl_ctx rdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6236f4d1e0c39c743be54b70cfdbdc0ad7f3e3e2\"\u003e\u003ccode\u003e6236f4d\u003c/code\u003e\u003c/a\u003e 🐛 Don't freeze caller's \u003ccode\u003essl: ctx_params\u003c/code\u003e hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6fe079675bc18ad7fa9377aae4ca89235ff69217\"\u003e\u003ccode\u003e6fe0796\u003c/code\u003e\u003c/a\u003e 🐛 Fix #inspect when TLS connect fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/a945a9d5ea9b65ea1db86f825e8777d78ad4deca\"\u003e\u003ccode\u003ea945a9d\u003c/code\u003e\u003c/a\u003e ✅ Improve TLS/STARTTLS tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bd1400a90abe3bc635e1789613cb6d38fc502764\"\u003e\u003ccode\u003ebd1400a\u003c/code\u003e\u003c/a\u003e ⬆️ Bump step-security/harden-runner from 2.21.0 to 2.21.1 (\u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/61c8d3e3c5321448907944b8b508a5685fea1dfd\"\u003e\u003ccode\u003e61c8d3e\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/762\"\u003e#762\u003c/a\u003e from ruby/raw_data-split-style\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/e7e91f9941b631f24ba23c4149a42aeb34d182fd\"\u003e\u003ccode\u003ee7e91f9\u003c/code\u003e\u003c/a\u003e ♻️ Style tweaks to RawDate.split\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-protocol` from 0.2.2 to 0.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-protocol/releases\"\u003enet-protocol's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProvide a 'Changelog' link on rubygems.org/gems/net-protocol by \u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/29\"\u003eruby/net-protocol#29\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/net-protocol/pull/33\"\u003eruby/net-protocol#33\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/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/net-protocol/pull/39\"\u003eruby/net-protocol#39\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Net::Protocol::TCP_SOCKET_NEW_HAS_OPEN_TIMEOUT by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/43\"\u003eruby/net-protocol#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix readuntil missing a terminator that spans two reads by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/66\"\u003eruby/net-protocol#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd limit option to Net::BufferedIO#readuntil by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/67\"\u003eruby/net-protocol#67\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/29\"\u003eruby/net-protocol#29\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-protocol/pull/43\"\u003eruby/net-protocol#43\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-protocol/compare/v0.2.2...v0.3.0\"\u003ehttps://github.com/ruby/net-protocol/compare/v0.2.2...v0.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/fb347d5ff4c1129780cdf771b741325f61e69586\"\u003e\u003ccode\u003efb347d5\u003c/code\u003e\u003c/a\u003e v0.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/74c234899c29c1726442a7ba48e137aac6c35a04\"\u003e\u003ccode\u003e74c2348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-protocol/issues/67\"\u003e#67\u003c/a\u003e from ruby/readuntil-limit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/6ffd258b7cd2626dfd855a37aa2fa1236e610f5d\"\u003e\u003ccode\u003e6ffd258\u003c/code\u003e\u003c/a\u003e Trim the comments added with the readuntil rewind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/e1b38d98b7be6210166ed3ef0726cb872449c820\"\u003e\u003ccode\u003ee1b38d9\u003c/code\u003e\u003c/a\u003e Add limit option to Net::BufferedIO#readuntil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/716719edd55bcfc1bc97ff3011feab896c9ccbf9\"\u003e\u003ccode\u003e716719e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-protocol/issues/66\"\u003e#66\u003c/a\u003e from ruby/readuntil-chunk-boundary\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/0dbbaea0eb498e66deb768763ce92324dd0d8143\"\u003e\u003ccode\u003e0dbbaea\u003c/code\u003e\u003c/a\u003e Ignore Gemfile.lock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/215cc3566663fab49520cbea03f094cf07fa5cc7\"\u003e\u003ccode\u003e215cc35\u003c/code\u003e\u003c/a\u003e Add regression tests for the readuntil rewind\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/84ef3aba09c37a6343b5a09b80e83b82132af35d\"\u003e\u003ccode\u003e84ef3ab\u003c/code\u003e\u003c/a\u003e Fix readuntil missing a terminator that spans two reads\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/c1d4563ecf75860da451897e7f1ad26f07d32012\"\u003e\u003ccode\u003ec1d4563\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-protocol/issues/65\"\u003e#65\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-protocol/commit/0c9e23be6c309b395dc8bf9df76896aab547a6a2\"\u003e\u003ccode\u003e0c9e23b\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.4.0 to 1.4.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-protocol/compare/v0.2.2...v0.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.3 to 0.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Suppress documentation for internals 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/pp/pull/65\"\u003eruby/pp#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport private instance_variables_to_inspect by \u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\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/pp/compare/v0.6.3...v0.6.4\"\u003ehttps://github.com/ruby/pp/compare/v0.6.3...v0.6.4\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/pp/commit/29552e894c8cd5700c50135b2e4a385fbda512a4\"\u003e\u003ccode\u003e29552e8\u003c/code\u003e\u003c/a\u003e v0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/e08d84ce10b8a2e994ba99af9b1e31b6397b7fc9\"\u003e\u003ccode\u003ee08d84c\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/91079ce0774a21e68e53c410479c0fadcd4d28b8\"\u003e\u003ccode\u003e91079ce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/87\"\u003e#87\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/a39f73e604ce38bdeae5171eaa3a37c83b0566f8\"\u003e\u003ccode\u003ea39f73e\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.2.0 to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/5a688e4d35123147426fa6bd91871318eb3e3985\"\u003e\u003ccode\u003e5a688e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/86\"\u003e#86\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/d649a95151c205a0be351c37fb74193fddb30a12\"\u003e\u003ccode\u003ed649a95\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.3 to 2.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/54a425d7a53d56e1abab525491653837e86d5c42\"\u003e\u003ccode\u003e54a425d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/85\"\u003e#85\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/34941a375b6d46a9e42ec04d7bcf747b5ca2485c\"\u003e\u003ccode\u003e34941a3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.1 to 2.19.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/670c8c0b3cd69fb64375be97943c01f96981729e\"\u003e\u003ccode\u003e670c8c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/84\"\u003e#84\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/bd8165d5a628d2707853ba2e5b50b04bbc008ad6\"\u003e\u003ccode\u003ebd8165d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.0 to 2.19.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.3...v0.6.4\"\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.6 to 3.2.7\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.7] - 2026-08-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 2.4/2.5 compatibility.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/70d2e1046789a70e240e01b9ac0b3ffc9b26d33f\"\u003e\u003ccode\u003e70d2e10\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9b31adf2a8a1fa443cda4825f35b1fff76b2eedd\"\u003e\u003ccode\u003e9b31adf\u003c/code\u003e\u003c/a\u003e Fix specs on Ruby 2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/7c0ababcbad4e4b3fe0cc45c3a8d8b4e2a8cfcef\"\u003e\u003ccode\u003e7c0abab\u003c/code\u003e\u003c/a\u003e Do not ignore Ruby 2.4/2.5 errors in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ef52d4e87ba4346ba381361712c8f714ae9dbe11\"\u003e\u003ccode\u003eef52d4e\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eFORWARDED\u003c/code\u003e typo.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/108405ea9fec02dc14c8317e25619d1001ffe4a9\"\u003e\u003ccode\u003e108405e\u003c/code\u003e\u003c/a\u003e Restore Ruby 2.4/2.5 compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c3fe39348bc688f6c02096c04fa6fbc668300c1a\"\u003e\u003ccode\u003ec3fe393\u003c/code\u003e\u003c/a\u003e Update changelog.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v3.2.6...v3.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRDoc 8.0.0 is the biggest RDoc release in years. It brings together the work we have been doing to modernize Ruby's documentation experience: a Prism-based parser, RBS signatures in generated documentation, \u003ccode\u003e.rbs\u003c/code\u003e files as documentation input, a live preview server, theme polish, and many long-standing bug fixes.\u003c/p\u003e\n\u003cp\u003eFor users, the biggest visible change is that RDoc can now show type information next to method documentation. RBS signatures are rendered in both HTML and \u003ccode\u003eri\u003c/code\u003e, and the Aliki theme now presents method entries as signature cards. This should make generated documentation more useful for both human readers and tools that consume Ruby documentation.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eFor documentation authors, RDoc 8.0.0 adds \u003ccode\u003erdoc --server\u003c/code\u003e and \u003ccode\u003erake rdoc:server\u003c/code\u003e, giving you a local preview server with live reload. This release also includes many fixes around Markdown, cross-references, page links, C source handling, server mode, and generated HTML structure. The goal is to make writing and checking documentation less tedious.\u003c/p\u003e\n\u003cp\u003eInternally, RDoc has migrated to the Prism-based parser and removed the old Ripper-based parser. This saves RDoc from re-implementing new Ruby syntax support manually going forward. The release also includes a refreshed coverage report, a new user-facing configuration reference, more Aliki polish, and finally, an RDoc logo.\u003c/p\u003e\n\u003cp\u003eThere are breaking changes in this release, so please read the details below before upgrading. But overall, RDoc 8.0.0 is a big step toward making Ruby's documentation tooling feel actively maintained again.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e💥 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange default ruby parser to RDoc::Parser::PrismRuby 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/rdoc/pull/1581\"\u003eruby/rdoc#1581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated CLI options and directives 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/1616\"\u003eruby/rdoc#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor formatter options 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/1623\"\u003eruby/rdoc#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused memoized caches from Context 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/1644\"\u003eruby/rdoc#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd server mode with live reload (\u003ccode\u003erdoc --server\u003c/code\u003e) 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/1620\"\u003eruby/rdoc#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Ripper-based parser 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/1690\"\u003eruby/rdoc#1690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStyle method entries as signature cards in aliki theme 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/1669\"\u003eruby/rdoc#1669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul coverage report 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/1663\"\u003eruby/rdoc#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisplay RBS type signatures in documentation 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/1665\"\u003eruby/rdoc#1665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse RBS files as RDoc input 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/1728\"\u003eruby/rdoc#1728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish Aliki documentation theme 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/1742\"\u003eruby/rdoc#1742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop generating a separate page file for \u003ccode\u003emain_page\u003c/code\u003e 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/1624\"\u003eruby/rdoc#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown table parser consuming lines without pipes as table rows 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/1626\"\u003eruby/rdoc#1626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix section comments with the prism parser 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/rdoc/pull/1639\"\u003eruby/rdoc#1639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deadlock on Ctrl+C in server mode 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/1649\"\u003eruby/rdoc#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix server mode live reload for C files 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/1647\"\u003eruby/rdoc#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't auto-link to non-text source files in cross-references 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/1646\"\u003eruby/rdoc#1646\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix encoding error when C parser reads external source files 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/1657\"\u003eruby/rdoc#1657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix page links returning 404 in server mode 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/1671\"\u003eruby/rdoc#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indentation not being preserved on first line in code fences by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1672\"\u003eruby/rdoc#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broken sidebar links for chained class aliases 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/1675\"\u003eruby/rdoc#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003e#\u003c/code\u003e prefix for unresolved cross-references 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/1676\"\u003eruby/rdoc#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Markdown blockquote parsing 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/1627\"\u003eruby/rdoc#1627\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop lazy alias resolver from overwriting real classes (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1662\"\u003e#1662\u003c/a\u003e) 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/1689\"\u003eruby/rdoc#1689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip markdown HTML comments within paragraph 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/rdoc/pull/1698\"\u003eruby/rdoc#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete -V short flag from --visibility option 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/1703\"\u003eruby/rdoc#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u0026quot;check syntax\u0026quot; message when it isn't a ruby file by \u003ca href=\"https://github.com/rwstauner\"\u003e\u003ccode\u003e@​rwstauner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1715\"\u003eruby/rdoc#1715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid detecting encoding comments in documentation text 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/1727\"\u003eruby/rdoc#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix colorization of imaginary/rational numbers 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/rdoc/pull/1733\"\u003eruby/rdoc#1733\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/rdoc/commit/4e303b392092fe731de1a10e53a9862d7c9cecc8\"\u003e\u003ccode\u003e4e303b3\u003c/code\u003e\u003c/a\u003e Bump RDoc to 8.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/004278532b01e40316fe22266946936cd931218b\"\u003e\u003ccode\u003e0042785\u003c/code\u003e\u003c/a\u003e Polish Aliki documentation theme (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/daa7768b81c703b84c796bf60c27977c62cd4aa1\"\u003e\u003ccode\u003edaa7768\u003c/code\u003e\u003c/a\u003e Encapsulate superclass method link rendering (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/a8df5c5d03b63cf05425bf676644688ac673a329\"\u003e\u003ccode\u003ea8df5c5\u003c/code\u003e\u003c/a\u003e Parse RBS files as RDoc input (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1728\"\u003e#1728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f89b93a8fb10eca11bb307319bbab295ab468192\"\u003e\u003ccode\u003ef89b93a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.3 to 7.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/be20315862d7834402ffa289fafb7bf40524ca23\"\u003e\u003ccode\u003ebe20315\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.313.0 to 1.314.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1739\"\u003e#1739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/66c1d658014dcc277486d94af65ed07005125217\"\u003e\u003ccode\u003e66c1d65\u003c/code\u003e\u003c/a\u003e Simplify CrossReference resolve (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/7daa43156f2713db5763e2879af74d15a88be193\"\u003e\u003ccode\u003e7daa431\u003c/code\u003e\u003c/a\u003e Add RDoc logo to documentation (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/bb8b2d4587d64df8cd70924fb52021c0941e728a\"\u003e\u003ccode\u003ebb8b2d4\u003c/code\u003e\u003c/a\u003e Fix colorization of imaginary/rational numbers (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1733\"\u003e#1733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1ae9dc17903e363228fa507e607fdbfb2acad50e\"\u003e\u003ccode\u003e1ae9dc1\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `reline` from 0.6.3 to 0.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/reline/releases\"\u003ereline's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\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/reline/pull/861\"\u003eruby/reline#861\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] New document \u0026quot;For Users\u0026quot; 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/reline/pull/856\"\u003eruby/reline#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Doc for init file 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/reline/pull/869\"\u003eruby/reline#869\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/reline/pull/871\"\u003eruby/reline#871\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/reline/pull/872\"\u003eruby/reline#872\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/reline/pull/874\"\u003eruby/reline#874\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/reline/pull/873\"\u003eruby/reline#873\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/reline/pull/876\"\u003eruby/reline#876\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDuplicate console handles and use them by \u003ca href=\"https://github.com/YO4\"\u003e\u003ccode\u003e@​YO4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/875\"\u003eruby/reline#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.14.0 to 2.14.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/881\"\u003eruby/reline#881\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 6.0.1 to 6.0.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/882\"\u003eruby/reline#882\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rprompt support for right-side prompt display (take 2) by \u003ca href=\"https://github.com/amatsuda\"\u003e\u003ccode\u003e@​amatsuda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/879\"\u003eruby/reline#879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.14.1 to 2.15.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/887\"\u003eruby/reline#887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse cursor-x-coordinate instead of byte_pointer in em_exchange_mark by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/868\"\u003eruby/reline#868\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEm yank pop fix by \u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/867\"\u003eruby/reline#867\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.2 to 1.1.4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/890\"\u003eruby/reline#890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.15.1 to 2.16.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/reline/pull/889\"\u003eruby/reline#889\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/configure-pages 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/reline/pull/893\"\u003eruby/reline#893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/deploy-pages ...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/346","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/346","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/346/packages"}},{"old_version":"1.3.0","new_version":"1.4.0","update_type":"minor","path":null,"pr_created_at":"2026-08-05T08:17:45.000Z","version_change":"1.3.0 → 1.4.0","issue":{"uuid":"5068882425","node_id":"PR_kwDOABNy5s769r94","number":340,"state":"closed","title":"Bump the dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-08-07T17:04:38.000Z","author_association":null,"state_reason":null,"created_at":"2026-08-05T08:17:45.000Z","updated_at":"2026-08-07T17:04:40.000Z","time_to_close":204413,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":13,"packages":[{"name":"json","old_version":"2.19.4","new_version":"2.21.2","repository_url":"https://github.com/ruby/json"},{"name":"action_text-trix","old_version":"2.1.18","new_version":"2.1.19","repository_url":"https://github.com/basecamp/trix"},{"name":"globalid","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/rails/globalid"},{"name":"mail","old_version":"2.9.0","new_version":"2.9.1","repository_url":"https://github.com/mikel/mail"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [json](https://github.com/ruby/json) | `2.19.4` | `2.21.2` |\n| [action_text-trix](https://github.com/basecamp/trix) | `2.1.18` | `2.1.19` |\n| [globalid](https://github.com/rails/globalid) | `1.3.0` | `1.4.0` |\n| [mail](https://github.com/mikel/mail) | `2.9.0` | `2.9.1` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n\n\nUpdates `json` from 2.19.4 to 2.21.2\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.21.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a use-after-free bug in \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e. [GHSA-9hj4-r449-hfvc].\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.21.1...v2.21.2\"\u003ehttps://github.com/ruby/json/compare/v2.21.1...v2.21.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.21.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON.generate\u003c/code\u003e now accept a \u003ccode\u003esort_keys\u003c/code\u003e option, which takes either a boolean or a block.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e#empty?\u003c/code\u003e and \u003ccode\u003e#partial_value?\u003c/code\u003e methods on \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNumerous correctness and performance fixes for \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAvoid triggering Ruby's \u003ccode\u003efloat out of range\u003c/code\u003e warning when parsing out of range numbers.\u003c/li\u003e\n\u003cli\u003eDeclare C types with Ruby 4.1 \u003ccode\u003eRUBY_TYPED_THREAD_SAFE_FREE\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.20.0...v2.21.0\"\u003ehttps://github.com/ruby/json/compare/v2.20.0...v2.21.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\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.19.8...v2.20.0\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\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.19.8...v2.19.9\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.19.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\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.19.7...v2.19.8\"\u003ehttps://github.com/ruby/json/compare/v2.19.7...v2.19.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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\u003e2026-07-31 (2.21.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a use-after-free bug in \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e. [GHSA-9hj4-r449-hfvc].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-07-13 (2.21.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a compilation issue on Window and Microsoft Visual C++.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-07-12 (2.21.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON.generate\u003c/code\u003e now accept a \u003ccode\u003esort_keys\u003c/code\u003e option, which takes either a boolean or a block.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e#empty?\u003c/code\u003e and \u003ccode\u003e#partial_value?\u003c/code\u003e methods on \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eNumerous correctness and performance fixes for \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAvoid triggering Ruby's \u003ccode\u003efloat out of range\u003c/code\u003e warning when parsing out of range numbers.\u003c/li\u003e\n\u003cli\u003eDeclare C types with Ruby 4.1 \u003ccode\u003eRUBY_TYPED_THREAD_SAFE_FREE\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-23 (2.20.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-11 (2.19.9)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-03 (2.19.8)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.7)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003cli\u003eAdd missing write barriers in \u003ccode\u003eState#dup\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFurther validate generator \u003ccode\u003edepth\u003c/code\u003e config.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.6)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCleanly handle overly large \u003ccode\u003edepth\u003c/code\u003e generator argument.\u003c/li\u003e\n\u003cli\u003eAdd missing write barrier in \u003ccode\u003eParserConfig\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-04 (2.19.5)\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/5a32e4367ca5976f62af12887a09685b7109b054\"\u003e\u003ccode\u003e5a32e43\u003c/code\u003e\u003c/a\u003e Release 2.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/2c332bfe2bfb0e754da07e2a0310ef106bf46482\"\u003e\u003ccode\u003e2c332bf\u003c/code\u003e\u003c/a\u003e Also don't compute ResumableParser cursor position for warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/5499aa54a46a8e399e2568e6569b504f0f0e2a41\"\u003e\u003ccode\u003e5499aa5\u003c/code\u003e\u003c/a\u003e Improve max_nesting documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/499d9bcf22e6a9183f7b765446a458a57ca127ae\"\u003e\u003ccode\u003e499d9bc\u003c/code\u003e\u003c/a\u003e Fix the parser benchmark bytes report\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/f5fc2454fdf518a3ef7a024ed0d946587f94bd00\"\u003e\u003ccode\u003ef5fc245\u003c/code\u003e\u003c/a\u003e Pass '-mno-outline' to the compiler (if supported) to prevent function outlin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/fd61def38b9bb859fee7eec8e7d3143600e5b347\"\u003e\u003ccode\u003efd61def\u003c/code\u003e\u003c/a\u003e Release 2.21.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/db70b1432157d1c01b556c1367babe72a6a1fe21\"\u003e\u003ccode\u003edb70b14\u003c/code\u003e\u003c/a\u003e Rely on Ruby's HAVE_BUILTIN___BUILTIN_CLZLL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/9be0e8ed39c29f08ad9c72eabdb8aa0851bfa990\"\u003e\u003ccode\u003e9be0e8e\u003c/code\u003e\u003c/a\u003e Release 2.21.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d1299d42ac3042f6756af7673ab4ca76178f2d65\"\u003e\u003ccode\u003ed1299d4\u003c/code\u003e\u003c/a\u003e Avoid re-decoding an incomplete number on every ResumableParser chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/cc010c46889c8516a9a357336b262ce35779985f\"\u003e\u003ccode\u003ecc010c4\u003c/code\u003e\u003c/a\u003e Fix ResumableParser losing tokens before a feed-boundary suspension\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.19.4...v2.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `action_text-trix` from 2.1.18 to 2.1.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.19\u003c/h2\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade DOMPurify to 3.4.2 from 3.2.7 by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1310\"\u003ebasecamp/trix#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/23ab2f6504d2a07d9e319e3617331d03fa6c36db\"\u003e\u003ccode\u003e23ab2f6\u003c/code\u003e\u003c/a\u003e v2.1.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/6ba31fea451622707548de6cd6b3c8fcd4a8aaea\"\u003e\u003ccode\u003e6ba31fe\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 3.14.1 to 3.14.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/644a02c8802ae3fb1a5656f2ac55a6a0a5fca1f1\"\u003e\u003ccode\u003e644a02c\u003c/code\u003e\u003c/a\u003e dep: upgrade rangy to 1.3.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/a7c0e0945e4c98e12c1fd586c3e6c7858ce21a02\"\u003e\u003ccode\u003ea7c0e09\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.0 to 6.15.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/ce80a5ef31715d851222ee616421a33ea63574de\"\u003e\u003ccode\u003ece80a5e\u003c/code\u003e\u003c/a\u003e dep: upgrade DOMPurify to 3.4.2 from 3.2.7 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1310\"\u003e#1310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/50c5d4fecd4b36aadec5fc8fcc0dea124ce201b0\"\u003e\u003ccode\u003e50c5d4f\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e from 7.23.9 to 7.29.4 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/95addeb72a525bf26408e8bb480886024a7b9184\"\u003e\u003ccode\u003e95addeb\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.21 to 4.18.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/c76aeb707fb52cc412adb1fac10dd31267d3c024\"\u003e\u003ccode\u003ec76aeb7\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/f325978dc025923a9d149379edfa1017eaf83c0e\"\u003e\u003ccode\u003ef325978\u003c/code\u003e\u003c/a\u003e Bump ip-address from 10.1.0 to 10.2.0 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/d014617094cd974bb19eb15e325685cac909cb5c\"\u003e\u003ccode\u003ed014617\u003c/code\u003e\u003c/a\u003e Bump basic-ftp from 5.0.5 to 5.2.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `concurrent-ruby` from 1.3.7 to 1.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases\"\u003econcurrent-ruby's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eProgramatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow to use Concurrent::Map#compute_if_absent in a Ractor by \u003ca href=\"https://github.com/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1109\"\u003eruby-concurrency/concurrent-ruby#1109\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/Edouard-chin\"\u003e\u003ccode\u003e@​Edouard-chin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1107\"\u003eruby-concurrency/concurrent-ruby#1107\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-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ehttps://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\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-concurrency/concurrent-ruby/blob/master/CHANGELOG.md\"\u003econcurrent-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.3.8 (19 July 2026)\u003c/h2\u003e\n\u003cp\u003econcurrent-ruby:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.8\"\u003erelease notes on GitHub\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-concurrency/concurrent-ruby/commit/0b88d5ff75f69b3740c8f0868e76f833cb2fd45d\"\u003e\u003ccode\u003e0b88d5f\u003c/code\u003e\u003c/a\u003e Release 1.3.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/0f83a98928df59ea9f713adba8f68e2e9d518503\"\u003e\u003ccode\u003e0f83a98\u003c/code\u003e\u003c/a\u003e Allow to use Concurrent::Map#compute_if_absent in a Ractor (\u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/issues/1109\"\u003e#1109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/cc5a32fe96ba9b118752bd9b60548259580d2f1c\"\u003e\u003ccode\u003ecc5a32f\u003c/code\u003e\u003c/a\u003e Programatically set the \u003ccode\u003ebacktrace_location\u003c/code\u003e on exception:\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.7...v1.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 6.0.4 to 6.0.7\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\u003ev6.0.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression, add tests by \u003ca href=\"https://github.com/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/hmcguire-shopify\"\u003e\u003ccode\u003e@​hmcguire-shopify\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/127\"\u003eruby/erb#127\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/v6.0.6...v6.0.7\"\u003ehttps://github.com/ruby/erb/compare/v6.0.6...v6.0.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix documentation typos and code examples by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option by \u003ca href=\"https://github.com/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/126\"\u003eruby/erb#126\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/ybiquitous\"\u003e\u003ccode\u003e@​ybiquitous\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/125\"\u003eruby/erb#125\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/v6.0.5...v6.0.6\"\u003ehttps://github.com/ruby/erb/compare/v6.0.5...v6.0.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.0.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: fix dead link to now removed issue by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: forward-port NEWS/changelog entries for clarity by \u003ca href=\"https://github.com/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/114\"\u003eruby/erb#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConstrain RDoc below 8 for JRuby CI 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/erb/pull/122\"\u003eruby/erb#122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix wrong receiver in eoutvar example for #src 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/erb/pull/123\"\u003eruby/erb#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid dispatch in ERB initialization guard 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/erb/pull/124\"\u003eruby/erb#124\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/chadlwilson\"\u003e\u003ccode\u003e@​chadlwilson\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/erb/pull/113\"\u003eruby/erb#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.5\"\u003ehttps://github.com/ruby/erb/compare/v6.0.4...v6.0.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/erb/blob/master/NEWS.md\"\u003eerb's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ractor compatibility regression in v6.0.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003e-h\u003c/code\u003e CLI option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid overridable method dispatch in the initialization guard\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/9907393a1f1dfc027e8e7f2a9f5fcc7c60632762\"\u003e\u003ccode\u003e9907393\u003c/code\u003e\u003c/a\u003e Version 6.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/50f434e7e5cc055348d4a744f8b0336bc511fe8f\"\u003e\u003ccode\u003e50f434e\u003c/code\u003e\u003c/a\u003e Simplify Scanner's Ractor safety code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/75f1ea059e9ed55d910589f6da5989e2ba65150c\"\u003e\u003ccode\u003e75f1ea0\u003c/code\u003e\u003c/a\u003e Fix Ractor compatibility regression, add tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/26f674e48eed5ec2f503812758b24fc9415a84f4\"\u003e\u003ccode\u003e26f674e\u003c/code\u003e\u003c/a\u003e Bump lewagon/wait-on-check-action from 1.8.0 to 1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/58411353a15accf5395593dc541d8168fa134c10\"\u003e\u003ccode\u003e5841135\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.4 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/488683a7785a11b2b706b5b6e0708bed311ec577\"\u003e\u003ccode\u003e488683a\u003c/code\u003e\u003c/a\u003e Version 6.0.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/0f9a6d6a7ad49dd322df352dc66fc7c3793a44c6\"\u003e\u003ccode\u003e0f9a6d6\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003e-h\u003c/code\u003e CLI option (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37daba66e03c588d66a42fc391bd35c21fd0c665\"\u003e\u003ccode\u003e37daba6\u003c/code\u003e\u003c/a\u003e Fix documentation typos and code examples (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/37c941cb6df14463150b73f43db497f7e23dea4e\"\u003e\u003ccode\u003e37c941c\u003c/code\u003e\u003c/a\u003e Version 6.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/ce08ffbeff70dfc44b5551a5bb51cc471bb7c3d2\"\u003e\u003ccode\u003ece08ffb\u003c/code\u003e\u003c/a\u003e Hide ERB init guard internals from RDoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/erb/compare/v6.0.4...v6.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors by \u003ca href=\"https://github.com/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange the underlying URI parser (from RFC2396 to RFC3986) by \u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't try to constantize GID's class too soon by \u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow custom locators to override model class by \u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/globalid/compare/v1.3.0...v1.4.0\"\u003ehttps://github.com/rails/globalid/compare/v1.3.0...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c81267b4ca2eb41aa1d39178e281fbf38b6e5685\"\u003e\u003ccode\u003ec81267b\u003c/code\u003e\u003c/a\u003e Release 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/ce280b7e793a31bb604222407e8812ffca559a61\"\u003e\u003ccode\u003ece280b7\u003c/code\u003e\u003c/a\u003e Frozen string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9325789f231ed6b7cbc0c2bdd34ec45e9d5d893b\"\u003e\u003ccode\u003e9325789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/203\"\u003e#203\u003c/a\u003e from xijo/support_model_class_override_for_custom_loc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/241657bd6049738972c439d3402732744a86edd4\"\u003e\u003ccode\u003e241657b\u003c/code\u003e\u003c/a\u003e Allow custom locators to override model class derivation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/dc5bc56320a093c1ca24fa22c78fa64be37a717f\"\u003e\u003ccode\u003edc5bc56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/204\"\u003e#204\u003c/a\u003e from paulRbr/dont-constantize-model-when-not-needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26498976f018312c1949e2f11e40ec9f0f70815c\"\u003e\u003ccode\u003e2649897\u003c/code\u003e\u003c/a\u003e Don't try to constantize GID's class too soon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/018ccf19597f97513f5b5786634bcb532f476681\"\u003e\u003ccode\u003e018ccf1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/202\"\u003e#202\u003c/a\u003e from Drowze/swappable-uri-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/0f2efb5753009a64107f18071d6c1f0217cba6fa\"\u003e\u003ccode\u003e0f2efb5\u003c/code\u003e\u003c/a\u003e Change the underlying URI parser (from RFC2396 to RFC3986)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4fd30dd77f645d6c03191e2936e4d3370004c729\"\u003e\u003ccode\u003e4fd30dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/206\"\u003e#206\u003c/a\u003e from rosa/fetch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/948503f198cff5b951b1b7210b5648891e1d049c\"\u003e\u003ccode\u003e948503f\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.3.0...v1.4.0\"\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.8 to 1.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 3.1 support by \u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/739\"\u003eruby-i18n/i18n#739\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.15.1...v1.15.2\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.1...v1.15.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix feature fiber storage by \u003ca href=\"https://github.com/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore Ruby 3.2 + Rails main from the matrix 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-i18n/i18n/pull/737\"\u003eruby-i18n/i18n#737\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/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\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.15.0...v1.15.1\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.0...v1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake lazy loading of I18n translations thread safe ( part 2 ) by \u003ca href=\"https://github.com/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to not replace non-ASCII chars not in map by \u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd transliteration for O with ogonek 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-i18n/i18n/pull/733\"\u003eruby-i18n/i18n#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: exclude Ruby 3.2 from rails-main matrix 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-i18n/i18n/pull/734\"\u003eruby-i18n/i18n#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFiber-aware I18n config storage 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/731\"\u003eruby-i18n/i18n#731\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/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\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.8...v1.15.0\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/8beba78761637f6677fa94e26e19b50790161f78\"\u003e\u003ccode\u003e8beba78\u003c/code\u003e\u003c/a\u003e Bump to 1.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d6964f2b60e65223573fbba9e51e2689ef4324bc\"\u003e\u003ccode\u003ed6964f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/739\"\u003e#739\u003c/a\u003e from koic/restore_ruby_3_1_support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/e4c806e513bf51f19c956fefbee38b5a105bebf8\"\u003e\u003ccode\u003ee4c806e\u003c/code\u003e\u003c/a\u003e Restore Ruby 3.1 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/02841cb7fcf17458c6574fbf43fb36f25a00e9ad\"\u003e\u003ccode\u003e02841cb\u003c/code\u003e\u003c/a\u003e Bump to 1.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/a56484de2167826995867f0a34f9e03a581ebad7\"\u003e\u003ccode\u003ea56484d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/737\"\u003e#737\u003c/a\u003e from ruby-i18n/ignore-ruby32-rails-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/52deabaf8e1f6e9ec5ea300b180f749fc6554294\"\u003e\u003ccode\u003e52deaba\u003c/code\u003e\u003c/a\u003e Ignore Ruby 3.2 + Rails main from the matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/94891ca7fd503d57b00ab8abb6e8a5025b5ed284\"\u003e\u003ccode\u003e94891ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/736\"\u003e#736\u003c/a\u003e from YashaVinter/fix-feature-fiber-storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/5a7913e587cd8db5417a359049ad7decfac86bcc\"\u003e\u003ccode\u003e5a7913e\u003c/code\u003e\u003c/a\u003e Test against Ruby 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/cd337a8a8ba25351a08c0118e52a796113da7802\"\u003e\u003ccode\u003ecd337a8\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/735\"\u003eruby-i18n/i18n#735\u003c/a\u003e NoMethodError: undefined met...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/78fa20aa9a4f8d3632fc5c0e146aaca73fdea098\"\u003e\u003ccode\u003e78fa20a\u003c/code\u003e\u003c/a\u003e Bump to 1.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mail` from 2.9.0 to 2.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikel/mail/releases\"\u003email's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Ruby 3.4 to CI matrix in GitHub Actions workflow by \u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove decoding of Q- and B-encoded strings by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1664\"\u003emikel/mail#1664\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBump to 2.9.1 by \u003ca href=\"https://github.com/radar\"\u003e\u003ccode\u003e@​radar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/mikel/mail/pull/1665\"\u003emikel/mail#1665\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\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/mikel/mail/pull/1653\"\u003emikel/mail#1653\u003c/a\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/mikel/mail/compare/2.9.0...2.9.1\"\u003ehttps://github.com/mikel/mail/compare/2.9.0...2.9.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/mikel/mail/commit/d645d7b5b7d03218b0bc8971ef041c991a63f5f7\"\u003e\u003ccode\u003ed645d7b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1665\"\u003e#1665\u003c/a\u003e from mikel/tag-291\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/5c863ed0489571e7572669018739dc47ed1f9189\"\u003e\u003ccode\u003e5c863ed\u003c/code\u003e\u003c/a\u003e Bump to 2.9.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/14915fa4c5f30ade18f3745ecc6d5d141a48104d\"\u003e\u003ccode\u003e14915fa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1664\"\u003e#1664\u003c/a\u003e from mikel/sec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/4eab5623419079d6b972f063f16b536c02ecee62\"\u003e\u003ccode\u003e4eab562\u003c/code\u003e\u003c/a\u003e Potential fix for pull request finding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f9d59c2e447af42e2c3dec5a56b1bb25c7292859\"\u003e\u003ccode\u003ef9d59c2\u003c/code\u003e\u003c/a\u003e Improve decoding of Q- and B-encoded strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/f98fb653956d246661394b1e98cf6e77eb8dd0a0\"\u003e\u003ccode\u003ef98fb65\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikel/mail/issues/1653\"\u003e#1653\u003c/a\u003e from ydah/add-ci-matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikel/mail/commit/d9081000b1c3e9a07f2b58e0e6c0b8f360bc8c8f\"\u003e\u003ccode\u003ed908100\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI matrix in GitHub Actions workflow\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mikel/mail/compare/2.9.0...2.9.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.5 to 6.0.6\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=== 6.0.6 / 2026-04-30\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e2 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e. (mtasaka)\u003c/li\u003e\n\u003cli\u003eRemoved private Assertions#_where as it is no longer used.\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/f6180b07ea6e8504a71d220246da0875f392c51c\"\u003e\u003ccode\u003ef6180b0\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/23bc7f25a8853b9b3c75b9b73c65d231e42cb452\"\u003e\u003ccode\u003e23bc7f2\u003c/code\u003e\u003c/a\u003e - Removed private Assertions#_where as it is no longer used.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c471347e5daf7f3e362c530170ae3302edad9117\"\u003e\u003ccode\u003ec471347\u003c/code\u003e\u003c/a\u003e - Fix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.5...v6.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.6.4.1 to 0.6.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix incorrect regexp for testing if string is quotable by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/723\"\u003eruby/net-imap#723\u003c/a\u003e\nThis bug was introduced by v0.6.5 as part of \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/712\"\u003e#712\u003c/a\u003e.\nIt causes some valid string arguments (which should be sent as IMAP \u003ccode\u003eliteral\u003c/code\u003e values) to raise a \u003ccode\u003eDataFormatError\u003c/code\u003e exception (without sending).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.5...v0.6.6\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.5...v0.6.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🧵 Add thread join timeout to \u003ccode\u003e#disconnect\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/689\"\u003eruby/net-imap#689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003e#utf8_enabled?\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/715\"\u003eruby/net-imap#715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Remember set of enabled server capabilities by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/716\"\u003eruby/net-imap#716\u003c/a\u003e\nAdds \u003ccode\u003e#enabled\u003c/code\u003e and \u003ccode\u003e#enabled?\u003c/code\u003e methods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🥅 Fix premature tagged response guard for IDLE by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/688\"\u003eruby/net-imap#688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Test for NULL bytes before sending string args by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/712\"\u003eruby/net-imap#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🐛 Use literal syntax for invalid UTF8 or non-UTF8 strings by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/713\"\u003eruby/net-imap#713\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🧵🥅 Reraise receiver thread errors with caller's backtrace by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/691\"\u003eruby/net-imap#691\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧵🥅 Reraise \u003ccode\u003e#starttls\u003c/code\u003e receiver thread errors with caller's backtrace by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/711\"\u003eruby/net-imap#711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Extract InvalidTaggedResponseError error by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/687\"\u003eruby/net-imap#687\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧵 Refactor thread synchronization for sending commands by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/692\"\u003eruby/net-imap#692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🧵Refactor receive responses thread sync by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/694\"\u003eruby/net-imap#694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Extract \u003ccode\u003ehandle_response\u003c/code\u003e from \u003ccode\u003ereceive_responses\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/695\"\u003eruby/net-imap#695\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🔀 Merge v0.6.4.1 patches by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/702\"\u003eruby/net-imap#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix flaky test_starttls_stripping_ok_sent_before_response by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/709\"\u003eruby/net-imap#709\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump actions/checkout from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/708\"\u003eruby/net-imap#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅⚡ Faster tests by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/714\"\u003eruby/net-imap#714\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin simplecov version by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/717\"\u003eruby/net-imap#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esimplecov-{html,json} have been incorporated in SimpleCov 1.0.0 by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/718\"\u003eruby/net-imap#718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e⬆️ Bump step-security/harden-runner from 2.19.4 to 2.20.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/719\"\u003eruby/net-imap#719\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix issues with simplecov v1.0 upgrade by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/721\"\u003eruby/net-imap#721\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.5\"\u003ehttps://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.5\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/7cc1dd0a11a4f5faeb5c92676f78e348a0104a87\"\u003e\u003ccode\u003e7cc1dd0\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/416ada408ace8dead7bc468fe435cf191de30c7e\"\u003e\u003ccode\u003e416ada4\u003c/code\u003e\u003c/a\u003e 🐛 Fix bug in \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/712\"\u003e#712\u003c/a\u003e, testing if string is quotable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8fb302986a45c589ec700b195b131e31a6575f4e\"\u003e\u003ccode\u003e8fb3029\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.6.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/adfe70d1fad2a0d6cac5d0c271211c2421a70bc2\"\u003e\u003ccode\u003eadfe70d\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/721\"\u003e#721\u003c/a\u003e from ruby/fix-simplecov-upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/e38a03dda2fa8738d1d6a1a34ceedb499e4f389d\"\u003e\u003ccode\u003ee38a03d\u003c/code\u003e\u003c/a\u003e ✅ Change CI simplecov minimum coverage handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/74cd62764ffe93786ac545acb206fd3dad9d3102\"\u003e\u003ccode\u003e74cd627\u003c/code\u003e\u003c/a\u003e ✅ Update simplecov groups so nothing is ungrouped\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/f4afcc7ee39bd362966864c57ce782cd61c37e24\"\u003e\u003ccode\u003ef4afcc7\u003c/code\u003e\u003c/a\u003e ✅ Update simplecov config for v1.0 syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ce44000297a63e3f927be542eb194d6e01c09718\"\u003e\u003ccode\u003ece44000\u003c/code\u003e\u003c/a\u003e ✅ Move simplecov config into .simplecov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8e0c450f79118490154af790fc98a3c064195784\"\u003e\u003ccode\u003e8e0c450\u003c/code\u003e\u003c/a\u003e :arrow_up: Bump step-security/harden-runner from 2.19.4 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/fd526d8165292e23726d5624f9d775a9f371a9a7\"\u003e\u003ccode\u003efd526d8\u003c/code\u003e\u003c/a\u003e simplecov-{html,json} have been incorporated in SimpleCov 1.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.6.4.1...v0.6.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.3 to 0.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Suppress documentation for internals 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/pp/pull/65\"\u003eruby/pp#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport private instance_variables_to_inspect by \u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\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/pp/compare/v0.6.3...v0.6.4\"\u003ehttps://github.com/ruby/pp/compare/v0.6.3...v0.6.4\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/pp/commit/29552e894c8cd5700c50135b2e4a385fbda512a4\"\u003e\u003ccode\u003e29552e8\u003c/code\u003e\u003c/a\u003e v0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/e08d84ce10b8a2e994ba99af9b1e31b6397b7fc9\"\u003e\u003ccode\u003ee08d84c\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/91079ce0774a21e68e53c410479c0fadcd4d28b8\"\u003e\u003ccode\u003e91079ce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/87\"\u003e#87\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/a39f73e604ce38bdeae5171eaa3a37c83b0566f8\"\u003e\u003ccode\u003ea39f73e\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.2.0 to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/5a688e4d35123147426fa6bd91871318eb3e3985\"\u003e\u003ccode\u003e5a688e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/86\"\u003e#86\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/d649a95151c205a0be351c37fb74193fddb30a12\"\u003e\u003ccode\u003ed649a95\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.3 to 2.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/54a425d7a53d56e1abab525491653837e86d5c42\"\u003e\u003ccode\u003e54a425d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/85\"\u003e#85\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/34941a375b6d46a9e42ec04d7bcf747b5ca2485c\"\u003e\u003ccode\u003e34941a3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.1 to 2.19.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/670c8c0b3cd69fb64375be97943c01f96981729e\"\u003e\u003ccode\u003e670c8c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/84\"\u003e#84\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/bd8165d5a628d2707853ba2e5b50b04bbc008ad6\"\u003e\u003ccode\u003ebd8165d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.0 to 2.19.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.3...v0.6.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRDoc 8.0.0 is the biggest RDoc release in years. It brings together the work we have been doing to modernize Ruby's documentation experience: a Prism-based parser, RBS signatures in generated documentation, \u003ccode\u003e.rbs\u003c/code\u003e files as documentation input, a live preview server, theme polish, and many long-standing bug fixes.\u003c/p\u003e\n\u003cp\u003eFor users, the biggest visible change is that RDoc can now show type information next to method documentation. RBS signatures are rendered in both HTML and \u003ccode\u003eri\u003c/code\u003e, and the Aliki theme now presents method entries as signature cards. This should make generated documentation more useful for both human readers and tools that consume Ruby documentation.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eFor documentation authors, RDoc 8.0.0 adds \u003ccode\u003erdoc --server\u003c/code\u003e and \u003ccode\u003erake rdoc:server\u003c/code\u003e, giving you a local preview server with live reload. This release also includes many fixes around Markdown, cross-references, page links, C source handling, server mode, and generated HTML structure. The goal is to make writing and checking documentation less tedious.\u003c/p\u003e\n\u003cp\u003eInternally, RDoc has migrated to the Prism-based parser and removed the old Ripper-based parser. This saves RDoc from re-implementing new Ruby syntax support manually going forward. The release also includes a refreshed coverage report, a new user-facing configuration reference, more Aliki polish, and finally, an RDoc logo.\u003c/p\u003e\n\u003cp\u003eThere are breaking changes in this release, so please read the details below before upgrading. But overall, RDoc 8.0.0 is a big step toward making Ruby's documentation tooling feel actively maintained again.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e💥 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange default ruby parser to RDoc::Parser::PrismRuby 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/rdoc/pull/1581\"\u003eruby/rdoc#1581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated CLI options and directives 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/1616\"\u003eruby/rdoc#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor formatter options 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/1623\"\u003eruby/rdoc#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused memoized caches from Context 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/1644\"\u003eruby/rdoc#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd server mode with live reload (\u003ccode\u003erdoc --server\u003c/code\u003e) 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/1620\"\u003eruby/rdoc#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Ripper-based parser 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/1690\"\u003eruby/rdoc#1690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStyle method entries as signature cards in aliki theme 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/1669\"\u003eruby/rdoc#1669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul coverage report 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/1663\"\u003eruby/rdoc#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisplay RBS type signatures in documentation 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/1665\"\u003eruby/rdoc#1665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse RBS files as RDoc input 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/1728\"\u003eruby/rdoc#1728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish Aliki documentation theme 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/1742\"\u003eruby/rdoc#1742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop generating a separate page file for \u003ccode\u003emain_page\u003c/code\u003e 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/1624\"\u003eruby/rdoc#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown table parser consuming lines without pipes as table rows 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/1626\"\u003eruby/rdoc#1626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix section comments with the prism parser 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/rdoc/pull/1639\"\u003eruby/rdoc#1639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deadlock on Ctrl+C in server mode 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/1649\"\u003eruby/rdoc#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix server mode live reload for C files 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/1647\"\u003eruby/rdoc#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't auto-link to non-text source files in cross-references 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/1646\"\u003eruby/rdoc#1646\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix encoding error when C parser reads external source files 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/1657\"\u003eruby/rdoc#1657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix page links returning 404 in server mode 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/1671\"\u003eruby/rdoc#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indentation not being preserved on first line in code fences by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1672\"\u003eruby/rdoc#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broken sidebar links for chained class aliases 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/1675\"\u003eruby/rdoc#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003e#\u003c/code\u003e prefix for unresolved cross-references 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/1676\"\u003eruby/rdoc#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Markdown blockquote parsing 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/1627\"\u003eruby/rdoc#1627\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop lazy alias resolver from overwriting real classes (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1662\"\u003e#1662\u003c/a\u003e) 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/1689\"\u003eruby/rdoc#1689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip markdown HTML comments within paragraph 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/rdoc/pull/1698\"\u003eruby/rdoc#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete -V short flag from --visibility option 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/1703\"\u003eruby/rdoc#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u0026quot;check syntax\u0026quot; message when it isn't a ruby file by \u003ca href=\"https://github.com/rwstauner\"\u003e\u003ccode\u003e@​rwstauner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1715\"\u003eruby/rdoc#1715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid detecting encoding comments in documentation text 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/1727\"\u003eruby/rdoc#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix colorization of imaginary/rational numbers 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/rdoc/pull/1733\"\u003eruby/rdoc#1733\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/rdoc/commit/4e303b392092fe731de1a10e53a9862d7c9cecc8\"\u003e\u003ccode\u003e4e303b3\u003c/code\u003e\u003c/a\u003e Bump RDoc to 8.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/004278532b01e40316fe22266946936cd931218b\"\u003e\u003ccode\u003e0042785\u003c/code\u003e\u003c/a\u003e Polish Aliki documentation theme (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/daa7768b81c703b84c796bf60c27977c62cd4aa1\"\u003e\u003ccode\u003edaa7768\u003c/code\u003e\u003c/a\u003e Encapsulate superclass method link rendering (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/a8df5c5d03b63cf05425bf676644688ac673a329\"\u003e\u003ccode\u003ea8df5c5\u003c/code\u003e\u003c/a\u003e Parse RBS files as RDoc input (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1728\"\u003e#1728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f89b93a8fb10eca11bb307319bbab295ab468192\"\u003e\u003ccode\u003ef89b93a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.3 to 7.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/be20315862d7834402ffa289fafb7bf40524ca23\"\u003e\u003ccode\u003ebe20315\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.313.0 to 1.314.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1739\"\u003e#1739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/66c1d658014dcc277486d94af65ed07005125217\"\u003e\u003ccode\u003e66c1d65\u003c/code\u003e\u003c/a\u003e Simplify CrossReference resolve (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/7daa43156f2713db5763e2879af74d15a88be193\"\u003e\u003ccode\u003e7daa431\u003c/code\u003e\u003c/a\u003e Add RDoc logo to documentation (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/bb8b2d4587d64df8cd70924fb52021c0941e728a\"\u003e\u003ccode\u003ebb8b2d4\u003c/code\u003e\u003c/a\u003e Fix colorization of imaginary/rational numbers (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1733\"\u003e#1733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1ae9dc17903e363228fa507e607fdbfb2acad50e\"\u003e\u003ccode\u003e1ae9dc1\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.7.5 to 2.8.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md\"\u003ezeitwerk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.3 (1 Aug 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2.8.0 introduced a regression: Collapsed directories that were also configured as eager load exclusions were eager loaded. The exclusion was not honored. This has been fixed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.2 (23 May 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eon_load\u003c/code\u003e and \u003ccode\u003eon_unload\u003c/code\u003e accept constant paths with leading colons. For example:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eloader.on_load('::User') { ... }\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eon_load\u003c/code\u003e and \u003ccode\u003eon_unload\u003c/code\u003e validate that their input is a constant path. For example:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eloader.on_load(':User') { ... }\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eraises \u003ccode\u003eNameError\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.1 (19 May 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eReplace anonymous block parameters with regular named ones.\u003c/p\u003e\n\u003cp\u003eRuby 3.3.0 has a bug: it does not parse anonymous block parameters, which were\nintroduced in Ruby 3.1.\u003c/p\u003e\n\u003cp\u003eWhile this is a Ruby bug and people could upgrade to 3.3.1, I prefer users\njust do not hit this. At the end of the day, it is cosmetic.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.8.0 (18 May 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdds support for namespace files, \u003cem\u003ensfiles\u003c/em\u003e for short.\u003c/p\u003e\n\u003cp\u003eIf a loader has an nsfile configured (\u003ccode\u003enil\u003c/code\u003e by default):\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eloader.nsfile = 'ns.rb' # must be set before setup\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eexplicit namespaces can be defined by such special file inside their\ndirectories:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003emy_component/ns.rb     # MyComponent\nmy_component/widget.rb # MyComponent::Widget\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis may be handy for self-contained units for which a \u003ccode\u003emy_component.rb\u003c/code\u003e file\nin the parent directory would feel unnatural.\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/fxn/zeitwerk/commit/607973fc0bd8c3131d1651d2558ebcd006dbf69b\"\u003e\u003ccode\u003e607973f\u003c/code\u003e\u003c/a\u003e Ready for 2.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/8f09b9625cbb3ff6f21b97fafb7cc85df2d7615d\"\u003e\u003ccode\u003e8f09b96\u003c/code\u003e\u003c/a\u003e Let eager loading skip collapsed eager loading exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/f548f2c534277737fded7629036a89636bf641c7\"\u003e\u003ccode\u003ef548f2c\u003c/code\u003e\u003c/a\u003e Remove unused variables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/76f0790a53552ff90ffbe687ba01d1c6b2bad803\"\u003e\u003ccode\u003e76f0790\u003c/code\u003e\u003c/a\u003e Ready for 2.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/14cff5ed89b51ec15c7c67a6da387c0fddd66365\"\u003e\u003ccode\u003e14cff5e\u003c/code\u003e\u003c/a\u003e Refactor cpath validation for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/8c263936395d9ece17c7f97a3cbc7750ede4f875\"\u003e\u003ccode\u003e8c26393\u003c/code\u003e\u003c/a\u003e on_load and on_unload validate their input is a constant path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/ea55f02094c269701967ba90a4b7cdb74725071b\"\u003e\u003ccode\u003eea55f02\u003c/code\u003e\u003c/a\u003e Add a constant path validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/80e925bd2e395d1f3d3489068b162fe9e4dbc16e\"\u003e\u003ccode\u003e80e925b\u003c/code\u003e\u003c/a\u003e Let on_load/on_unload use a sentinel for 0 args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/2a25bce94c2abf2be69e8c6210d4d6ccbd390147\"\u003e\u003ccode\u003e2a25bce\u003c/code\u003e\u003c/a\u003e Add RuboCop to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/198fe83097bbd7f3c8061563228545fbd15501c8\"\u003e\u003ccode\u003e198fe83\u003c/code\u003e\u003c/a\u003e Linting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fxn/zeitwerk/compare/v2.7.5...v2.8.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 \u003cdepen...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/340","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/340","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/340/packages"}},{"old_version":"1.3.0","new_version":"1.4.0","update_type":"minor","path":null,"pr_created_at":"2026-06-26T17:04:43.000Z","version_change":"1.3.0 → 1.4.0","issue":{"uuid":"4753749176","node_id":"PR_kwDOABNy5s7rEK1D","number":327,"state":"closed","title":"Bump the dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-01T17:04:39.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T17:04:43.000Z","updated_at":"2026-07-01T17:04:41.000Z","time_to_close":431996,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":13,"packages":[{"name":"json","old_version":"2.19.4","new_version":"2.20.0","repository_url":"https://github.com/ruby/json"},{"name":"action_text-trix","old_version":"2.1.18","new_version":"2.1.19","repository_url":"https://github.com/basecamp/trix"},{"name":"globalid","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"},{"name":"websocket-driver","old_version":"0.8.0","new_version":"0.8.2","repository_url":"https://github.com/faye/websocket-driver-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the dependencies group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [json](https://github.com/ruby/json) | `2.19.4` | `2.20.0` |\n| [action_text-trix](https://github.com/basecamp/trix) | `2.1.18` | `2.1.19` |\n| [globalid](https://github.com/rails/globalid) | `1.3.0` | `1.4.0` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n| [websocket-driver](https://github.com/faye/websocket-driver-ruby) | `0.8.0` | `0.8.2` |\n\n\nUpdates `json` from 2.19.4 to 2.20.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.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\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.19.8...v2.20.0\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\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.19.8...v2.19.9\"\u003ehttps://github.com/ruby/json/compare/v2.19.8...v2.19.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\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.19.7...v2.19.8\"\u003ehttps://github.com/ruby/json/compare/v2.19.7...v2.19.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003cli\u003eAdd missing write barriers in \u003ccode\u003eState#dup\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFurther validate generator \u003ccode\u003edepth\u003c/code\u003e config.\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.19.6...v2.19.7\"\u003ehttps://github.com/ruby/json/compare/v2.19.6...v2.19.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCleanly handle overly large \u003ccode\u003edepth\u003c/code\u003e generator argument.\u003c/li\u003e\n\u003cli\u003eAdd missing write barrier in \u003ccode\u003eParserConfig\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.19.5...v2.19.6\"\u003ehttps://github.com/ruby/json/compare/v2.19.5...v2.19.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.19.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCap the parser to emit a maximum of 5 deprecation warnings per document. Emitting more is not helpful.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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\u003e2026-06-23 (2.20.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBoth C and Java parsers are no longer recursive, so parsing very deep documents with \u003ccode\u003emax_nesting: false\u003c/code\u003e will no longer\nresult in \u003ccode\u003eSystemStackError stack level too deep\u003c/code\u003e errors.\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:max_nesting\u003c/code\u003e option still defaults to \u003ccode\u003e100\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOptimized floating point number parsing further by replacing the ryu algorithm by a port of Eisel-Lemire Fast Float.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eJSON::ResumableParser\u003c/code\u003e to parse streams of JSON documents. Not yet available on JRuby.\u003c/li\u003e\n\u003cli\u003eDeprecate default support of JavaScript comments in the parser and add \u003ccode\u003eallow_comments: true\u003c/code\u003e parsing option.\u003c/li\u003e\n\u003cli\u003eIntegrate with Ruby 4.1 \u003ccode\u003eruby_sized_xfree\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-11 (2.19.9)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix buffer overflow that could lead to a crash when writing JSON directly into an IO\nwith \u003ccode\u003eJSON.generate(object, io)\u003c/code\u003e. [CVE-2026-54696].\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-06-03 (2.19.8)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix 1-byte buffer overread on EOS errors.\u003c/li\u003e\n\u003cli\u003eHandle invalid types passed as \u003ccode\u003emax_nesting\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.7)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix some more edge cases with out of range floats.\u003c/li\u003e\n\u003cli\u003eEnsure the string provided to \u003ccode\u003eJSON.parse\u003c/code\u003e can't be mutated during parsing.\u003c/li\u003e\n\u003cli\u003eAdd missing write barriers in \u003ccode\u003eState#dup\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFurther validate generator \u003ccode\u003edepth\u003c/code\u003e config.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-28 (2.19.6)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCleanly handle overly large \u003ccode\u003edepth\u003c/code\u003e generator argument.\u003c/li\u003e\n\u003cli\u003eAdd missing write barrier in \u003ccode\u003eParserConfig\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2026-05-04 (2.19.5)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCap the parser to emit a maximum of 5 deprecation warnings per document. Emitting more is not helpful.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/13162921b89c4f662aa018771403457f069f7e26\"\u003e\u003ccode\u003e1316292\u003c/code\u003e\u003c/a\u003e Release 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/1443265cd178fcacfea41ba531b770c2dbf7feef\"\u003e\u003ccode\u003e1443265\u003c/code\u003e\u003c/a\u003e Remove useless executable bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/532065c259a87c78a0a2af1e6ea0177aeca85539\"\u003e\u003ccode\u003e532065c\u003c/code\u003e\u003c/a\u003e Preserve UTF-8 encoding when reallocating a frozen ResumableParser buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/7c8af4b9ef509f6d989a0da1d1cdfdd7650ae10b\"\u003e\u003ccode\u003e7c8af4b\u003c/code\u003e\u003c/a\u003e Update extconf.rb guard to use RUBY_ENGINE_VERSION\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/2afd1a9a61de2e58ff5a65c724de22d91c37db2e\"\u003e\u003ccode\u003e2afd1a9\u003c/code\u003e\u003c/a\u003e Cleanup the \u003ccode\u003erb_catch_obj\u003c/code\u003e workaround\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/98925145d2ac1f87a6bb3e5add1fb5dd2a9901f8\"\u003e\u003ccode\u003e9892514\u003c/code\u003e\u003c/a\u003e Simplify parser_config_init\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/b30a8f852dada93093a215b1519cc3bde526316c\"\u003e\u003ccode\u003eb30a8f8\u003c/code\u003e\u003c/a\u003e ResumableParser: eagerly drop the buffer when reaching EOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/f08c66338cd0155a44dbda81d889f6db9ba4d205\"\u003e\u003ccode\u003ef08c663\u003c/code\u003e\u003c/a\u003e ResumableParser: accept only keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/9d8efcb08b90b1543765e50783efaabc6f921ad6\"\u003e\u003ccode\u003e9d8efcb\u003c/code\u003e\u003c/a\u003e Workaround TruffleRuby buggy \u003ccode\u003erb_catch_obj\u003c/code\u003e implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/4bd1e9bce64c82b6e829f4583a62bab485529a00\"\u003e\u003ccode\u003e4bd1e9b\u003c/code\u003e\u003c/a\u003e ResumableParser: use throw rather than raise for handled EOS\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.19.4...v2.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `action_text-trix` from 2.1.18 to 2.1.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.19\u003c/h2\u003e\n\u003ch2\u003eDependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade DOMPurify to 3.4.2 from 3.2.7 by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1310\"\u003ebasecamp/trix#1310\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/23ab2f6504d2a07d9e319e3617331d03fa6c36db\"\u003e\u003ccode\u003e23ab2f6\u003c/code\u003e\u003c/a\u003e v2.1.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/6ba31fea451622707548de6cd6b3c8fcd4a8aaea\"\u003e\u003ccode\u003e6ba31fe\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 3.14.1 to 3.14.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/644a02c8802ae3fb1a5656f2ac55a6a0a5fca1f1\"\u003e\u003ccode\u003e644a02c\u003c/code\u003e\u003c/a\u003e dep: upgrade rangy to 1.3.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1312\"\u003e#1312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/a7c0e0945e4c98e12c1fd586c3e6c7858ce21a02\"\u003e\u003ccode\u003ea7c0e09\u003c/code\u003e\u003c/a\u003e Bump qs from 6.14.0 to 6.15.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/ce80a5ef31715d851222ee616421a33ea63574de\"\u003e\u003ccode\u003ece80a5e\u003c/code\u003e\u003c/a\u003e dep: upgrade DOMPurify to 3.4.2 from 3.2.7 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1310\"\u003e#1310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/50c5d4fecd4b36aadec5fc8fcc0dea124ce201b0\"\u003e\u003ccode\u003e50c5d4f\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003e@​babel/plugin-transform-modules-systemjs\u003c/code\u003e from 7.23.9 to 7.29.4 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/95addeb72a525bf26408e8bb480886024a7b9184\"\u003e\u003ccode\u003e95addeb\u003c/code\u003e\u003c/a\u003e Bump lodash from 4.17.21 to 4.18.1 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/c76aeb707fb52cc412adb1fac10dd31267d3c024\"\u003e\u003ccode\u003ec76aeb7\u003c/code\u003e\u003c/a\u003e Bump immutable from 5.1.3 to 5.1.5 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1292\"\u003e#1292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/f325978dc025923a9d149379edfa1017eaf83c0e\"\u003e\u003ccode\u003ef325978\u003c/code\u003e\u003c/a\u003e Bump ip-address from 10.1.0 to 10.2.0 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/d014617094cd974bb19eb15e325685cac909cb5c\"\u003e\u003ccode\u003ed014617\u003c/code\u003e\u003c/a\u003e Bump basic-ftp from 5.0.5 to 5.2.2 (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.18...v2.1.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `concurrent-ruby` from 1.3.6 to 1.3.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases\"\u003econcurrent-ruby's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eThere are 3 security fixes in this release, so updating is recommended.\nThese security vulnerabilities are not very likely to be hit in practice and have a corresponding \u003ccode\u003eLow\u003c/code\u003e severity score.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/security/advisories/GHSA-h8w8-99g7-qmvj\"\u003eCVE-2026-54904\u003c/a\u003e \u003ccode\u003eAtomicReference#update\u003c/code\u003e livelocks when the stored value is \u003ccode\u003eFloat::NAN\u003c/code\u003e. Fix by \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/security/advisories/GHSA-wv3x-4vxv-whpp\"\u003eCVE-2026-54905\u003c/a\u003e \u003ccode\u003eReentrantReadWriteLock\u003c/code\u003e read-count overflow grants a write lock without exclusivity. Fix by \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/security/advisories/GHSA-6wx8-w4f5-wwcr\"\u003eCVE-2026-54906\u003c/a\u003e \u003ccode\u003eReadWriteLock\u003c/code\u003e allows wrong-thread write release and stray read-release counter corruption. Fix by \u003ca href=\"https://github.com/joshuay03\"\u003e\u003ccode\u003e@​joshuay03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003econcurrent-ruby-ext: fix build on Darwin 32-bit by \u003ca href=\"https://github.com/barracuda156\"\u003e\u003ccode\u003e@​barracuda156\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1064\"\u003eruby-concurrency/concurrent-ruby#1064\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd SECURITY.md by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1104\"\u003eruby-concurrency/concurrent-ruby#1104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 4.0 in CI by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1106\"\u003eruby-concurrency/concurrent-ruby#1106\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/barracuda156\"\u003e\u003ccode\u003e@​barracuda156\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/pull/1064\"\u003eruby-concurrency/concurrent-ruby#1064\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-concurrency/concurrent-ruby/compare/v1.3.6...v1.3.7\"\u003ehttps://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.6...v1.3.7\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-concurrency/concurrent-ruby/blob/master/CHANGELOG.md\"\u003econcurrent-ruby's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v1.3.7 (16 June 2026)\u003c/h2\u003e\n\u003cp\u003econcurrent-ruby:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSee the \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.7\"\u003erelease notes on GitHub\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-concurrency/concurrent-ruby/commit/4c8fc28ab6bb9bd8258a4c0c2fa6d35ebe77b3cb\"\u003e\u003ccode\u003e4c8fc28\u003c/code\u003e\u003c/a\u003e Release 1.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/d91ca9426cb819d6cc63f1bd64bfe54644d0beca\"\u003e\u003ccode\u003ed91ca94\u003c/code\u003e\u003c/a\u003e Fix AtomicReference#update livelock when stored value is Float::NAN on JRuby ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/7e4d711bacf7a1dac3ef6bda44004387be2dc7e6\"\u003e\u003ccode\u003e7e4d711\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eReentrantReadWriteLock\u003c/code\u003e read hold overflow into write-lock bit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/6e37e0644b83b182971dc540d2e4bee38df61386\"\u003e\u003ccode\u003e6e37e06\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eAtomicReference#update\u003c/code\u003e livelock when stored value is \u003ccode\u003eFloat::NAN\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/2825cfa12cb708b76557803957f76862eb1151a2\"\u003e\u003ccode\u003e2825cfa\u003c/code\u003e\u003c/a\u003e Cleanup spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/3fd493283ca5f84f0ef4e84aabd43ad68df4626b\"\u003e\u003ccode\u003e3fd4932\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eReadWriteLock\u003c/code\u003e wrong-thread write release and stray read release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/1974b4772efc034ee8eaa562b4370343f4c5c54b\"\u003e\u003ccode\u003e1974b47\u003c/code\u003e\u003c/a\u003e Add Ruby 4.0 in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/df8706d40c483d76bbb0b3a35a633c68fa9e17be\"\u003e\u003ccode\u003edf8706d\u003c/code\u003e\u003c/a\u003e Add SECURITY.md (\u003ca href=\"https://redirect.github.com/ruby-concurrency/concurrent-ruby/issues/1104\"\u003e#1104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/7a1b78941c081106c20a9ca0144ac73a48d254ab\"\u003e\u003ccode\u003e7a1b789\u003c/code\u003e\u003c/a\u003e Bump actions/upload-pages-artifact from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/commit/9b2dbf712896a638a73d2fa221206961c8d6484d\"\u003e\u003ccode\u003e9b2dbf7\u003c/code\u003e\u003c/a\u003e Bump actions/deploy-pages from 4 to 5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.3.6...v1.3.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crass` from 1.0.6 to 1.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rgrove/crass/releases\"\u003ecrass's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.7\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHigh: Fixed a denial of service vulnerability in which a large numeric exponent could consume disproportionate CPU and memory before the value was clamped. Exponents are now bounded before \u003ccode\u003e10**exponent\u003c/code\u003e is computed. (GHSA-6wmf-3r64-vcwv)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which deeply nested simple blocks or functions could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e, or could result in excessive memory usage. Parser nesting is now limited to a configurable maximum depth via a new option (\u003ccode\u003e:maximum_depth\u003c/code\u003e, with a conservative default of 25). Constructs nested more deeply are discarded as an \u003ccode\u003e:error\u003c/code\u003e node with the value \u0026quot;maximum-depth-exceeded\u0026quot;. (GHSA-6jxj-px6v-747w)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which a long run of adjacent comments could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e. Discarded comments are now skipped iteratively rather than recursively. (GHSA-wwpr-jff3-395c)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a denial of service vulnerability in which inputs containing many non-ASCII characters could cause excessive CPU usage due to inefficient handling of multi-byte characters during tokenization. (GHSA-8vfg-2r28-hvhj)\u003c/p\u003e\n\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/rgrove/crass/blob/main/HISTORY.md\"\u003ecrass's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.7 (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eHigh: Fixed a denial of service vulnerability in which a large numeric exponent could consume disproportionate CPU and memory before the value was clamped. Exponents are now bounded before \u003ccode\u003e10**exponent\u003c/code\u003e is computed. (GHSA-6wmf-3r64-vcwv)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which deeply nested simple blocks or functions could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e, or could result in excessive memory usage. Parser nesting is now limited to a configurable maximum depth via a new option (\u003ccode\u003e:maximum_depth\u003c/code\u003e, with a conservative default of 25). Constructs nested more deeply are discarded as an \u003ccode\u003e:error\u003c/code\u003e node with the value \u0026quot;maximum-depth-exceeded\u0026quot;. (GHSA-6jxj-px6v-747w)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a scenario in which a long run of adjacent comments could exhaust the Ruby stack and raise \u003ccode\u003eSystemStackError\u003c/code\u003e. Discarded comments are now skipped iteratively rather than recursively. (GHSA-wwpr-jff3-395c)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eModerate: Fixed a denial of service vulnerability in which inputs containing many non-ASCII characters could cause excessive CPU usage due to inefficient handling of multi-byte characters during tokenization. (GHSA-8vfg-2r28-hvhj)\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/rgrove/crass/commit/cfd5daa3ce23cd7b2356acf90ecb7a02defe002c\"\u003e\u003ccode\u003ecfd5daa\u003c/code\u003e\u003c/a\u003e Release 1.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/da29664648bf80a97a6439e030a4814291c9afa5\"\u003e\u003ccode\u003eda29664\u003c/code\u003e\u003c/a\u003e Fix inefficient handling of non-ASCII characters during tokenization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/25d78cc607c54262e9d43ea1930f3ba5bb03dfb5\"\u003e\u003ccode\u003e25d78cc\u003c/code\u003e\u003c/a\u003e Prevent a long run of adjacent comments from exhausting the stack\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/cf68287356ec6e20d51cfc4a2d0c3912b7334e99\"\u003e\u003ccode\u003ecf68287\u003c/code\u003e\u003c/a\u003e Limit recursion depth to prevent stack overflow and memory exhaustion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/ea6726b7f7cf7e85b23aa2240b8512b4f8d11ad9\"\u003e\u003ccode\u003eea6726b\u003c/code\u003e\u003c/a\u003e Prevent resource exhaustion denial of service via excessively large exponents\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/2b873477774cb1b0ff66fcb55c898a376e688db3\"\u003e\u003ccode\u003e2b87347\u003c/code\u003e\u003c/a\u003e Bump version to 1.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/0d3be207d624d53f9d4ca11fd03185e9c08f5635\"\u003e\u003ccode\u003e0d3be20\u003c/code\u003e\u003c/a\u003e Update CI workflow dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/a3cc4f7c5b607236e1dc24f38b20ffec2774c5d2\"\u003e\u003ccode\u003ea3cc4f7\u003c/code\u003e\u003c/a\u003e Update CI test matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/846de61f49a86fc384488bb2c91d139583a48eac\"\u003e\u003ccode\u003e846de61\u003c/code\u003e\u003c/a\u003e Upgrade minitest and rake\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rgrove/crass/commit/b51a88e541a3ba8657f03e63fe4c4f65fcaa04ca\"\u003e\u003ccode\u003eb51a88e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rgrove/crass/issues/18\"\u003e#18\u003c/a\u003e from stoivo/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rgrove/crass/compare/v1.0.6...v1.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors by \u003ca href=\"https://github.com/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange the underlying URI parser (from RFC2396 to RFC3986) by \u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't try to constantize GID's class too soon by \u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow custom locators to override model class by \u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/rosa\"\u003e\u003ccode\u003e@​rosa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/206\"\u003erails/globalid#206\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Drowze\"\u003e\u003ccode\u003e@​Drowze\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/202\"\u003erails/globalid#202\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/paulRbr\"\u003e\u003ccode\u003e@​paulRbr\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/204\"\u003erails/globalid#204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xijo\"\u003e\u003ccode\u003e@​xijo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/203\"\u003erails/globalid#203\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/globalid/compare/v1.3.0...v1.4.0\"\u003ehttps://github.com/rails/globalid/compare/v1.3.0...v1.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c81267b4ca2eb41aa1d39178e281fbf38b6e5685\"\u003e\u003ccode\u003ec81267b\u003c/code\u003e\u003c/a\u003e Release 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/ce280b7e793a31bb604222407e8812ffca559a61\"\u003e\u003ccode\u003ece280b7\u003c/code\u003e\u003c/a\u003e Frozen string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9325789f231ed6b7cbc0c2bdd34ec45e9d5d893b\"\u003e\u003ccode\u003e9325789\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/203\"\u003e#203\u003c/a\u003e from xijo/support_model_class_override_for_custom_loc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/241657bd6049738972c439d3402732744a86edd4\"\u003e\u003ccode\u003e241657b\u003c/code\u003e\u003c/a\u003e Allow custom locators to override model class derivation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/dc5bc56320a093c1ca24fa22c78fa64be37a717f\"\u003e\u003ccode\u003edc5bc56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/204\"\u003e#204\u003c/a\u003e from paulRbr/dont-constantize-model-when-not-needed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26498976f018312c1949e2f11e40ec9f0f70815c\"\u003e\u003ccode\u003e2649897\u003c/code\u003e\u003c/a\u003e Don't try to constantize GID's class too soon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/018ccf19597f97513f5b5786634bcb532f476681\"\u003e\u003ccode\u003e018ccf1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/202\"\u003e#202\u003c/a\u003e from Drowze/swappable-uri-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/0f2efb5753009a64107f18071d6c1f0217cba6fa\"\u003e\u003ccode\u003e0f2efb5\u003c/code\u003e\u003c/a\u003e Change the underlying URI parser (from RFC2396 to RFC3986)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4fd30dd77f645d6c03191e2936e4d3370004c729\"\u003e\u003ccode\u003e4fd30dd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/206\"\u003e#206\u003c/a\u003e from rosa/fetch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/948503f198cff5b951b1b7210b5648891e1d049c\"\u003e\u003ccode\u003e948503f\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eGlobalID::Locator.fetch\u003c/code\u003e with distinct not-found and unavailable errors\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.3.0...v1.4.0\"\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.8 to 1.15.2\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.15.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore Ruby 3.1 support by \u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/739\"\u003eruby-i18n/i18n#739\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.15.1...v1.15.2\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.1...v1.15.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix feature fiber storage by \u003ca href=\"https://github.com/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore Ruby 3.2 + Rails main from the matrix 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-i18n/i18n/pull/737\"\u003eruby-i18n/i18n#737\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/YashaVinter\"\u003e\u003ccode\u003e@​YashaVinter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/736\"\u003eruby-i18n/i18n#736\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.15.0...v1.15.1\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.15.0...v1.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake lazy loading of I18n translations thread safe ( part 2 ) by \u003ca href=\"https://github.com/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support to not replace non-ASCII chars not in map by \u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd transliteration for O with ogonek 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-i18n/i18n/pull/733\"\u003eruby-i18n/i18n#733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: exclude Ruby 3.2 from rails-main matrix 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-i18n/i18n/pull/734\"\u003eruby-i18n/i18n#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFiber-aware I18n config storage 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/731\"\u003eruby-i18n/i18n#731\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/chaadow\"\u003e\u003ccode\u003e@​chaadow\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/729\"\u003eruby-i18n/i18n#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sobrinho\"\u003e\u003ccode\u003e@​sobrinho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/pull/720\"\u003eruby-i18n/i18n#720\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.8...v1.15.0\"\u003ehttps://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/8beba78761637f6677fa94e26e19b50790161f78\"\u003e\u003ccode\u003e8beba78\u003c/code\u003e\u003c/a\u003e Bump to 1.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/d6964f2b60e65223573fbba9e51e2689ef4324bc\"\u003e\u003ccode\u003ed6964f2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/739\"\u003e#739\u003c/a\u003e from koic/restore_ruby_3_1_support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/e4c806e513bf51f19c956fefbee38b5a105bebf8\"\u003e\u003ccode\u003ee4c806e\u003c/code\u003e\u003c/a\u003e Restore Ruby 3.1 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/02841cb7fcf17458c6574fbf43fb36f25a00e9ad\"\u003e\u003ccode\u003e02841cb\u003c/code\u003e\u003c/a\u003e Bump to 1.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/a56484de2167826995867f0a34f9e03a581ebad7\"\u003e\u003ccode\u003ea56484d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/737\"\u003e#737\u003c/a\u003e from ruby-i18n/ignore-ruby32-rails-main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/52deabaf8e1f6e9ec5ea300b180f749fc6554294\"\u003e\u003ccode\u003e52deaba\u003c/code\u003e\u003c/a\u003e Ignore Ruby 3.2 + Rails main from the matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/94891ca7fd503d57b00ab8abb6e8a5025b5ed284\"\u003e\u003ccode\u003e94891ca\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/736\"\u003e#736\u003c/a\u003e from YashaVinter/fix-feature-fiber-storage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/5a7913e587cd8db5417a359049ad7decfac86bcc\"\u003e\u003ccode\u003e5a7913e\u003c/code\u003e\u003c/a\u003e Test against Ruby 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/cd337a8a8ba25351a08c0118e52a796113da7802\"\u003e\u003ccode\u003ecd337a8\u003c/code\u003e\u003c/a\u003e fix \u003ca href=\"https://redirect.github.com/ruby-i18n/i18n/issues/735\"\u003eruby-i18n/i18n#735\u003c/a\u003e NoMethodError: undefined met...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-i18n/i18n/commit/78fa20aa9a4f8d3632fc5c0e146aaca73fdea098\"\u003e\u003ccode\u003e78fa20a\u003c/code\u003e\u003c/a\u003e Bump to 1.15.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-i18n/i18n/compare/v1.14.8...v1.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.5 to 6.0.6\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=== 6.0.6 / 2026-04-30\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e2 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e. (mtasaka)\u003c/li\u003e\n\u003cli\u003eRemoved private Assertions#_where as it is no longer used.\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/f6180b07ea6e8504a71d220246da0875f392c51c\"\u003e\u003ccode\u003ef6180b0\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/23bc7f25a8853b9b3c75b9b73c65d231e42cb452\"\u003e\u003ccode\u003e23bc7f2\u003c/code\u003e\u003c/a\u003e - Removed private Assertions#_where as it is no longer used.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/c471347e5daf7f3e362c530170ae3302edad9117\"\u003e\u003ccode\u003ec471347\u003c/code\u003e\u003c/a\u003e - Fix using assert_equal/same/nil w/ BasicObject by comparing w/ \u003ccode\u003enil == exp\u003c/code\u003e...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.5...v6.0.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.19.3 to 1.19.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.4 / 2026-06-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible invalid memory read when \u003ccode\u003eXML::Node#initialize_copy_with_args\u003c/code\u003e is called with an argument that is not a \u003ccode\u003eNode\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-g9g8-vgvw-g3vf\"\u003eGHSA-g9g8-vgvw-g3vf\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when an \u003ccode\u003eXML::XPathContext\u003c/code\u003e is used after its source document has been garbage collected. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-p67v-3w7g-wjg7\"\u003eGHSA-p67v-3w7g-wjg7\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free during XInclude processing via \u003ccode\u003eNode#do_xinclude\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wfpw-mmfh-qq69\"\u003eGHSA-wfpw-mmfh-qq69\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#root=\u003c/code\u003e is assigned a non-element node. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wjv4-x9w8-wm3h\"\u003eGHSA-wjv4-x9w8-wm3h\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when setting an attribute value via \u003ccode\u003eXML::Attr#value=\u003c/code\u003e or \u003ccode\u003e#content=\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-phwj-rprq-35pp\"\u003eGHSA-phwj-rprq-35pp\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a null pointer dereference when methods are called on uninitialized wrapper objects (e.g. via \u003ccode\u003eallocate\u003c/code\u003e); these now raise instead of crashing the process. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-9cv2-cfxc-v4v2\"\u003eGHSA-9cv2-cfxc-v4v2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#encoding=\u003c/code\u003e raises an exception. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5v8h-3h3q-446p\"\u003eGHSA-5v8h-3h3q-446p\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Medium) Fixed an out-of-bounds read in \u003ccode\u003eXML::NodeSet#[]\u003c/code\u003e (alias \u003ccode\u003e#slice\u003c/code\u003e) when given a large negative index. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5prr-v3j2-97mh\"\u003eGHSA-5prr-v3j2-97mh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[JRuby] (Low) \u003ccode\u003eXML::Schema\u003c/code\u003e now enforces the \u003ccode\u003eNONET\u003c/code\u003e parse option, which Nokogiri enables by default. It was not enforced on JRuby, so a schema parsed with default options could still fetch external resources over the network, potentially enabling SSRF or XXE attacks and bypassing the mitigation for CVE-2020-26247. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-8678-w3jw-xfc2\"\u003eGHSA-8678-w3jw-xfc2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f  nokogiri-1.19.4-aarch64-linux-gnu.gem\r\n35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af  nokogiri-1.19.4-aarch64-linux-musl.gem\r\na301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca  nokogiri-1.19.4-arm-linux-gnu.gem\r\n588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb  nokogiri-1.19.4-arm-linux-musl.gem\r\na46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527  nokogiri-1.19.4-arm64-darwin.gem\r\nce04b9e268c9626852231a48b49128ed52034f1ccb39484a6da3875491cd709e  nokogiri-1.19.4-java.gem\r\n051da97b8eccfdb5444fed40246a35e10d7298b9efe759b4cd25455ea04c587e  nokogiri-1.19.4-x64-mingw-ucrt.gem\r\n7fd17057d3e1f00e9954a74b3cd76595d3d4a5ef233b7ed9599047c204f70551  nokogiri-1.19.4-x86_64-darwin.gem\r\n379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a  nokogiri-1.19.4-x86_64-linux-gnu.gem\r\n17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b  nokogiri-1.19.4-x86_64-linux-musl.gem\r\n50c951611c92bca05c51411aef45f1cbc50f2821c4802758c5c6d34696533ab5  nokogiri-1.19.4.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.19.4 / 2026-06-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible invalid memory read when \u003ccode\u003eXML::Node#initialize_copy_with_args\u003c/code\u003e is called with an argument that is not a \u003ccode\u003eNode\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-g9g8-vgvw-g3vf\"\u003eGHSA-g9g8-vgvw-g3vf\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when an \u003ccode\u003eXML::XPathContext\u003c/code\u003e is used after its source document has been garbage collected. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-p67v-3w7g-wjg7\"\u003eGHSA-p67v-3w7g-wjg7\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free during XInclude processing via \u003ccode\u003eNode#do_xinclude\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wfpw-mmfh-qq69\"\u003eGHSA-wfpw-mmfh-qq69\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#root=\u003c/code\u003e is assigned a non-element node. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-wjv4-x9w8-wm3h\"\u003eGHSA-wjv4-x9w8-wm3h\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when setting an attribute value via \u003ccode\u003eXML::Attr#value=\u003c/code\u003e or \u003ccode\u003e#content=\u003c/code\u003e. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-phwj-rprq-35pp\"\u003eGHSA-phwj-rprq-35pp\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a null pointer dereference when methods are called on uninitialized wrapper objects (e.g. via \u003ccode\u003eallocate\u003c/code\u003e); these now raise instead of crashing the process. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-9cv2-cfxc-v4v2\"\u003eGHSA-9cv2-cfxc-v4v2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Low) Fixed a possible use-after-free when \u003ccode\u003eDocument#encoding=\u003c/code\u003e raises an exception. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5v8h-3h3q-446p\"\u003eGHSA-5v8h-3h3q-446p\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[CRuby] (Medium) Fixed an out-of-bounds read in \u003ccode\u003eXML::NodeSet#[]\u003c/code\u003e (alias \u003ccode\u003e#slice\u003c/code\u003e) when given a large negative index. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5prr-v3j2-97mh\"\u003eGHSA-5prr-v3j2-97mh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003e[JRuby] (Low) \u003ccode\u003eXML::Schema\u003c/code\u003e now enforces the \u003ccode\u003eNONET\u003c/code\u003e parse option, which Nokogiri enables by default. It was not enforced on JRuby, so a schema parsed with default options could still fetch external resources over the network, potentially enabling SSRF or XXE attacks and bypassing the mitigation for CVE-2020-26247. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-8678-w3jw-xfc2\"\u003eGHSA-8678-w3jw-xfc2\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/8cfb9daae9ee4a0837508eab43c40fbc8c4138c9\"\u003e\u003ccode\u003e8cfb9da\u003c/code\u003e\u003c/a\u003e version bump to v1.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/a856d1e46bda04ef47a0bd2b9eefe86df1eb0bb2\"\u003e\u003ccode\u003ea856d1e\u003c/code\u003e\u003c/a\u003e fix: JRuby NONET bypass in XML::Schema (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3639\"\u003e#3639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6a0aa1e7042ea58e10db713d4984c692a8db1a30\"\u003e\u003ccode\u003e6a0aa1e\u003c/code\u003e\u003c/a\u003e fix(CRuby): use-after-free in Document#encoding= when setter raises (v1.19.x)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f658a54ab2df58a3525967c339edce9649c197d4\"\u003e\u003ccode\u003ef658a54\u003c/code\u003e\u003c/a\u003e fix: JRuby NONET bypass in XML::Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/39d26fea52cda8ac15313561824fd0bc018818aa\"\u003e\u003ccode\u003e39d26fe\u003c/code\u003e\u003c/a\u003e fix(CRuby): use-after-free in Document#encoding= when setter raises\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/04a09ddd67a4b573eb5c634655c2fb857e0436ad\"\u003e\u003ccode\u003e04a09dd\u003c/code\u003e\u003c/a\u003e fix(CRuby): out-of-bounds read in NodeSet#[] with large negative index (v1.19...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/7799fbd325f9f5e10fcccc77daaa903949a9d545\"\u003e\u003ccode\u003e7799fbd\u003c/code\u003e\u003c/a\u003e fix: avoid NPE on uninitialized XML::Node structs (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/ef19e1329c39f885e980b301f33fb233f3431d14\"\u003e\u003ccode\u003eef19e13\u003c/code\u003e\u003c/a\u003e fix(CRuby): avoid UAF in XML::Attr#value= (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3644\"\u003e#3644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/5524fa97868ae26dfd74d700aba256b117262267\"\u003e\u003ccode\u003e5524fa9\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eDocument#root=\u003c/code\u003e rejects non-element nodes (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3643\"\u003e#3643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9891ad1092a265ae1cef220c377ebbabc9fde622\"\u003e\u003ccode\u003e9891ad1\u003c/code\u003e\u003c/a\u003e fix(CRuby): use-after-free in XPathContext document lifetime (v1.19.x) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3641\"\u003e#3641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.19.3...v1.19.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.3 to 0.6.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.4\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\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/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Suppress documentation for internals 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/pp/pull/65\"\u003eruby/pp#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport private instance_variables_to_inspect by \u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/62\"\u003eruby/pp#62\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hamajyotan\"\u003e\u003ccode\u003e@​hamajyotan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/70\"\u003eruby/pp#70\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/pp/compare/v0.6.3...v0.6.4\"\u003ehttps://github.com/ruby/pp/compare/v0.6.3...v0.6.4\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/pp/commit/29552e894c8cd5700c50135b2e4a385fbda512a4\"\u003e\u003ccode\u003e29552e8\u003c/code\u003e\u003c/a\u003e v0.6.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/e08d84ce10b8a2e994ba99af9b1e31b6397b7fc9\"\u003e\u003ccode\u003ee08d84c\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/91079ce0774a21e68e53c410479c0fadcd4d28b8\"\u003e\u003ccode\u003e91079ce\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/87\"\u003e#87\u003c/a\u003e from ruby/dependabot/github_actions/rubygems/release-g...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/a39f73e604ce38bdeae5171eaa3a37c83b0566f8\"\u003e\u003ccode\u003ea39f73e\u003c/code\u003e\u003c/a\u003e Bump rubygems/release-gem from 1.2.0 to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/5a688e4d35123147426fa6bd91871318eb3e3985\"\u003e\u003ccode\u003e5a688e4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/86\"\u003e#86\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/d649a95151c205a0be351c37fb74193fddb30a12\"\u003e\u003ccode\u003ed649a95\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.3 to 2.19.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/54a425d7a53d56e1abab525491653837e86d5c42\"\u003e\u003ccode\u003e54a425d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/85\"\u003e#85\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/34941a375b6d46a9e42ec04d7bcf747b5ca2485c\"\u003e\u003ccode\u003e34941a3\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.1 to 2.19.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/670c8c0b3cd69fb64375be97943c01f96981729e\"\u003e\u003ccode\u003e670c8c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/84\"\u003e#84\u003c/a\u003e from ruby/dependabot/github_actions/step-security/hard...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/bd8165d5a628d2707853ba2e5b50b04bbc008ad6\"\u003e\u003ccode\u003ebd8165d\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.19.0 to 2.19.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.3...v0.6.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rdoc/releases\"\u003erdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e💥 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange default ruby parser to RDoc::Parser::PrismRuby 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/rdoc/pull/1581\"\u003eruby/rdoc#1581\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove deprecated CLI options and directives 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/1616\"\u003eruby/rdoc#1616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor formatter options 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/1623\"\u003eruby/rdoc#1623\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove unused memoized caches from Context 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/1644\"\u003eruby/rdoc#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd server mode with live reload (\u003ccode\u003erdoc --server\u003c/code\u003e) 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/1620\"\u003eruby/rdoc#1620\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop Ripper-based parser 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/1690\"\u003eruby/rdoc#1690\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStyle method entries as signature cards in aliki theme 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/1669\"\u003eruby/rdoc#1669\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOverhaul coverage report 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/1663\"\u003eruby/rdoc#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisplay RBS type signatures in documentation 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/1665\"\u003eruby/rdoc#1665\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParse RBS files as RDoc input 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/1728\"\u003eruby/rdoc#1728\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePolish Aliki documentation theme 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/1742\"\u003eruby/rdoc#1742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStop generating a separate page file for \u003ccode\u003emain_page\u003c/code\u003e 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/1624\"\u003eruby/rdoc#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix markdown table parser consuming lines without pipes as table rows 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/1626\"\u003eruby/rdoc#1626\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix section comments with the prism parser 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/rdoc/pull/1639\"\u003eruby/rdoc#1639\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix deadlock on Ctrl+C in server mode 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/1649\"\u003eruby/rdoc#1649\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix server mode live reload for C files 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/1647\"\u003eruby/rdoc#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't auto-link to non-text source files in cross-references 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/1646\"\u003eruby/rdoc#1646\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix encoding error when C parser reads external source files 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/1657\"\u003eruby/rdoc#1657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix page links returning 404 in server mode 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/1671\"\u003eruby/rdoc#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indentation not being preserved on first line in code fences by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1672\"\u003eruby/rdoc#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix broken sidebar links for chained class aliases 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/1675\"\u003eruby/rdoc#1675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003e#\u003c/code\u003e prefix for unresolved cross-references 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/1676\"\u003eruby/rdoc#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Markdown blockquote parsing 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/1627\"\u003eruby/rdoc#1627\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStop lazy alias resolver from overwriting real classes (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1662\"\u003e#1662\u003c/a\u003e) 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/1689\"\u003eruby/rdoc#1689\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip markdown HTML comments within paragraph 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/rdoc/pull/1698\"\u003eruby/rdoc#1698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete -V short flag from --visibility option 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/1703\"\u003eruby/rdoc#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u0026quot;check syntax\u0026quot; message when it isn't a ruby file by \u003ca href=\"https://github.com/rwstauner\"\u003e\u003ccode\u003e@​rwstauner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1715\"\u003eruby/rdoc#1715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid detecting encoding comments in documentation text 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/1727\"\u003eruby/rdoc#1727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix colorization of imaginary/rational numbers 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/rdoc/pull/1733\"\u003eruby/rdoc#1733\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSimplify CrossReference resolve 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/rdoc/pull/1571\"\u003eruby/rdoc#1571\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Move \u003ccode\u003eRubygemsHook\u003c/code\u003e doc to the right place 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/1629\"\u003eruby/rdoc#1629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd comparison with GitHub Flavored Markdown spec 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/1550\"\u003eruby/rdoc#1550\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd user-facing configuration reference 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/1692\"\u003eruby/rdoc#1692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd RDoc logo to documentation 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/1734\"\u003eruby/rdoc#1734\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erubocop --autocorrect 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/rdoc/pull/1611\"\u003eruby/rdoc#1611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand RDoc::Attr#dd_alias test cases for aliased attributes access types by \u003ca href=\"https://github.com/extern-c\"\u003e\u003ccode\u003e@​extern-c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1612\"\u003eruby/rdoc#1612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump required ruby version to 2.7 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/rdoc/pull/1615\"\u003eruby/rdoc#1615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd breaking-change category to release notes and release-check skill 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/1619\"\u003eruby/rdoc#1619\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport constant assign parsed before class/module definition 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/rdoc/pull/1621\"\u003eruby/rdoc#1621\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CI check for RI backward compatibility 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/1625\"\u003eruby/rdoc#1625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.14.2 to 2.15.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/rdoc/pull/1632\"\u003eruby/rdoc#1632\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/rdoc/commit/4e303b392092fe731de1a10e53a9862d7c9cecc8\"\u003e\u003ccode\u003e4e303b3\u003c/code\u003e\u003c/a\u003e Bump RDoc to 8.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1745\"\u003e#1745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/004278532b01e40316fe22266946936cd931218b\"\u003e\u003ccode\u003e0042785\u003c/code\u003e\u003c/a\u003e Polish Aliki documentation theme (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1742\"\u003e#1742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/daa7768b81c703b84c796bf60c27977c62cd4aa1\"\u003e\u003ccode\u003edaa7768\u003c/code\u003e\u003c/a\u003e Encapsulate superclass method link rendering (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1741\"\u003e#1741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/a8df5c5d03b63cf05425bf676644688ac673a329\"\u003e\u003ccode\u003ea8df5c5\u003c/code\u003e\u003c/a\u003e Parse RBS files as RDoc input (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1728\"\u003e#1728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f89b93a8fb10eca11bb307319bbab295ab468192\"\u003e\u003ccode\u003ef89b93a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.3 to 7.0.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1740\"\u003e#1740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/be20315862d7834402ffa289fafb7bf40524ca23\"\u003e\u003ccode\u003ebe20315\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.313.0 to 1.314.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1739\"\u003e#1739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/66c1d658014dcc277486d94af65ed07005125217\"\u003e\u003ccode\u003e66c1d65\u003c/code\u003e\u003c/a\u003e Simplify CrossReference resolve (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1571\"\u003e#1571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/7daa43156f2713db5763e2879af74d15a88be193\"\u003e\u003ccode\u003e7daa431\u003c/code\u003e\u003c/a\u003e Add RDoc logo to documentation (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1734\"\u003e#1734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/bb8b2d4587d64df8cd70924fb52021c0941e728a\"\u003e\u003ccode\u003ebb8b2d4\u003c/code\u003e\u003c/a\u003e Fix colorization of imaginary/rational numbers (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1733\"\u003e#1733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1ae9dc17903e363228fa507e607fdbfb2acad50e\"\u003e\u003ccode\u003e1ae9dc1\u003c/code\u003e\u003c/a\u003e Bump js-yaml from 4.1.1 to 4.2.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1731\"\u003e#1731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `websocket-driver` from 0.8.0 to 0.8.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faye/websocket-driver-ruby/blob/main/CHANGELOG.md\"\u003ewebsocket-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e0.8.2 / 2026-06-23\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eGracefully handle malformed \u003ccode\u003eHost\u003c/code\u003e headers in the \u003ccode\u003eServer\u003c/code\u003e driver\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e0.8.1 / 2026-06-04\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eClose a draft-75/76 connection if a length header grows to exceed the\nconfigured max length\u003c/li\u003e\n\u003cli\u003eFail the connection if a message is larger than the configured max length\nafter extension processing\u003c/li\u003e\n\u003cli\u003eLimit the total HTTP request line and headers size to 32K\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/49e230b252817632c1ab14a8c501fa460d5fa9bf\"\u003e\u003ccode\u003e49e230b\u003c/code\u003e\u003c/a\u003e Bump version to 0.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/7d6fd87759a2fdc83590d3b49ffa661dc53fa128\"\u003e\u003ccode\u003e7d6fd87\u003c/code\u003e\u003c/a\u003e Gracefully handle malformed \u003ccode\u003eHost\u003c/code\u003e headers in the \u003ccode\u003eServer\u003c/code\u003e driver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/5cab908d5e72d40345751edbd4f1e1ef75d53d89\"\u003e\u003ccode\u003e5cab908\u003c/code\u003e\u003c/a\u003e Bump version to 0.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/17b569f232896e71d458404ccf4854f80e987710\"\u003e\u003ccode\u003e17b569f\u003c/code\u003e\u003c/a\u003e Limit the total HTTP request line and headers size to 32K\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/fa8641724f10bf3273585f1dcf9041f540bbd036\"\u003e\u003ccode\u003efa86417\u003c/code\u003e\u003c/a\u003e Fail the connection if a message is larger than the configured max length aft...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/d0141f041f6e3677a951255d547a313e732ccbe0\"\u003e\u003ccode\u003ed0141f0\u003c/code\u003e\u003c/a\u003e Close a draft-75/76 connection if a length header grows to exceed the configu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faye/websocket-driver-ruby/commit/1e4475e3753e3b614c49739e8eb0bc3e0d1c2580\"\u003e\u003ccode\u003e1e4475e\u003c/code\u003e\u003c/a\u003e Test on Ruby 4.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/faye/websocket-driver-ruby/compare/0.8.0...0.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.7.5 to 2.8.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md\"\u003ezeitwerk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.8.2 (23 May 202...\n\n_Description has been truncated_","html_url":"https://github.com/moneybird/postgresql_validations/pull/327","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/moneybird%2Fpostgresql_validations/issues/327","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/327/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-12-22T09:26:53.000Z","version_change":"1.2.1 → 1.3.0","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":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-12-08T02:10:24.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"3704347542","node_id":"PR_kwDOCB6Cus63kn9K","number":1308,"state":"closed","title":"Bump the production-dependencies-minor group across 1 directory with 29 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T03:02:53.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T02:10:24.000Z","updated_at":"2026-01-12T03:02:55.000Z","time_to_close":3027149,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies-minor","update_count":29,"packages":[{"name":"rake","old_version":"13.2.1","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rails","old_version":"7.1.5.2","new_version":"7.1.6","repository_url":"https://github.com/rails/rails"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"test-unit","old_version":"3.2.7","new_version":"3.7.3","repository_url":"https://github.com/test-unit/test-unit"},{"name":"aws-sdk-s3","old_version":"1.113.0","new_version":"1.206.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"json","old_version":"2.12.2","new_version":"2.17.1","repository_url":"https://github.com/ruby/json"},{"name":"rack-attack","old_version":"6.5.0","new_version":"6.8.0","repository_url":"https://github.com/rack/rack-attack"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"dalli","old_version":"3.2.3","new_version":"3.2.8","repository_url":"https://github.com/petergoldstein/dalli"},{"name":"carrierwave","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/carrierwaveuploader/carrierwave"},{"name":"mini_magick","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/minimagick/minimagick"},{"name":"httparty","old_version":"0.21.0","new_version":"0.23.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"devise-two-factor","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/tinfoil/devise-two-factor"},{"name":"geocoder","old_version":"1.6.1","new_version":"1.8.6","repository_url":"https://github.com/alexreisner/geocoder"},{"name":"table_print","old_version":"1.5.4","new_version":"1.5.7","repository_url":"https://github.com/arches/table_print"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"csv","old_version":"3.3.4","new_version":"3.3.5","repository_url":"https://github.com/ruby/csv"},{"name":"maintenance_tasks","old_version":"2.12.0","new_version":"2.13.0","repository_url":"https://github.com/Shopify/maintenance_tasks"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"rails-autoscale-web","old_version":"1.11.1","new_version":"1.12.1","repository_url":"https://github.com/judoscale/judoscale-ruby"},{"name":"lograge","old_version":"0.3.6","new_version":"0.14.0","repository_url":"https://github.com/roidrage/lograge"},{"name":"recaptcha","old_version":"5.19.0","new_version":"5.21.1","repository_url":"https://github.com/ambethia/recaptcha"},{"name":"barnes","old_version":"0.0.8","new_version":"0.0.9","repository_url":"https://github.com/heroku/barnes"},{"name":"has_scope","old_version":"0.8.2","new_version":"0.9.0","repository_url":"https://github.com/heartcombo/has_scope"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"js-routes","old_version":"2.2.7","new_version":"2.3.5","repository_url":"https://github.com/railsware/js-routes"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies-minor group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rake](https://github.com/ruby/rake) | `13.2.1` | `13.3.1` |\n| [rails](https://github.com/rails/rails) | `7.1.5.2` | `7.1.6` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.4` | `1.19.0` |\n| [test-unit](https://github.com/test-unit/test-unit) | `3.2.7` | `3.7.3` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.113.0` | `1.206.0` |\n| [json](https://github.com/ruby/json) | `2.12.2` | `2.17.1` |\n| [rack-attack](https://github.com/rack/rack-attack) | `6.5.0` | `6.8.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [dalli](https://github.com/petergoldstein/dalli) | `3.2.3` | `3.2.8` |\n| [carrierwave](https://github.com/carrierwaveuploader/carrierwave) | `3.1.1` | `3.1.2` |\n| [mini_magick](https://github.com/minimagick/minimagick) | `5.2.0` | `5.3.1` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.21.0` | `0.23.2` |\n| [devise-two-factor](https://github.com/tinfoil/devise-two-factor) | `6.1.0` | `6.2.0` |\n| [geocoder](https://github.com/alexreisner/geocoder) | `1.6.1` | `1.8.6` |\n| [table_print](https://github.com/arches/table_print) | `1.5.4` | `1.5.7` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [csv](https://github.com/ruby/csv) | `3.3.4` | `3.3.5` |\n| [maintenance_tasks](https://github.com/Shopify/maintenance_tasks) | `2.12.0` | `2.13.0` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [rails-autoscale-web](https://github.com/judoscale/judoscale-ruby) | `1.11.1` | `1.12.1` |\n| [lograge](https://github.com/roidrage/lograge) | `0.3.6` | `0.14.0` |\n| [recaptcha](https://github.com/ambethia/recaptcha) | `5.19.0` | `5.21.1` |\n| [barnes](https://github.com/heroku/barnes) | `0.0.8` | `0.0.9` |\n| [has_scope](https://github.com/heartcombo/has_scope) | `0.8.2` | `0.9.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [js-routes](https://github.com/railsware/js-routes) | `2.2.7` | `2.3.5` |\n\n\nUpdates `rake` from 13.2.1 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.2.1...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 7.1.5.2 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\"\u003erails'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/10a0f90fd21addbe480287116fe3e9fe7ff6bef4\"\u003e\u003ccode\u003e10a0f90\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/4df996b7a074737d882b61786160e82127789fff\"\u003e\u003ccode\u003e4df996b\u003c/code\u003e\u003c/a\u003e Sync changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/310c904351226378e0abbcf47a15c0d68e578883\"\u003e\u003ccode\u003e310c904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55570\"\u003e#55570\u003c/a\u003e from zzak/8-0-sidekiq-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c274de0b8b49d848f0a905477e7cd9e82838a46d\"\u003e\u003ccode\u003ec274de0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55747\"\u003e#55747\u003c/a\u003e from skipkayhil/hm-kwzpqqkssmwtsunu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1d82970391205443f7c2d84286448e385cadabba\"\u003e\u003ccode\u003e1d82970\u003c/code\u003e\u003c/a\u003e Add the Action Cable configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8323dd632c7ef03e95e82031117515654f9bde94\"\u003e\u003ccode\u003e8323dd6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54164\"\u003e#54164\u003c/a\u003e from zzak/asto-test-mini_magick-deprecation-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4eb8085a610235e6b44be342b2445ba6a1c6e733\"\u003e\u003ccode\u003e4eb8085\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/d100e466f68f42d841846781167a66966e0901a2\"\u003e\u003ccode\u003ed100e46\u003c/code\u003e\u003c/a\u003e Don't load action cable in the activestorage dummy app\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/91fc9b2cac7e2e0d101e9faece99f1d13d10b9a3\"\u003e\u003ccode\u003e91fc9b2\u003c/code\u003e\u003c/a\u003e Don't load sprockets-rails and propshaft in the same application\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.1.5.2...v7.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.13.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.4 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.19.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRemove JSON parsing cache. Recent versions of the \u003ccode\u003ejson\u003c/code\u003e gem are as fast as \u003ccode\u003emsgpack\u003c/code\u003e if not faster.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAttempt to detect a QEMU bug that can cause \u003ccode\u003ebootsnap precompile\u003c/code\u003e to hang forever when building ARM64 docker images\nfrom x86_64 machines. See \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/495\"\u003e#495\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove CLI to detect cgroup CPU limits and avoid spawning too many worker processes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d4ad1673943b416cd46491ffe236df29862ce37f\"\u003e\u003ccode\u003ed4ad167\u003c/code\u003e\u003c/a\u003e Release 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/4a0f8e62788d6e6304be06de5d4a313a94291492\"\u003e\u003ccode\u003e4a0f8e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/508\"\u003e#508\u003c/a\u003e from byroot/remove-json-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5df6e04afd8cb8c9463d219518baaffaf2c48b6e\"\u003e\u003ccode\u003e5df6e04\u003c/code\u003e\u003c/a\u003e Remove Bootsnap::CompileCache::JSON\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/e6272f8c7f2935efc1000ec654da2d196e91f4e2\"\u003e\u003ccode\u003ee6272f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/506\"\u003e#506\u003c/a\u003e from rails/dependabot/github_actions/actions/checkout-5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/89879b4161b6e62bbb0d139208e1eb8cb30c1b40\"\u003e\u003ccode\u003e89879b4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/55d663fbc419d3a4ad32d200f7ba45c64e04d772\"\u003e\u003ccode\u003e55d663f\u003c/code\u003e\u003c/a\u003e Move bootsnap to the Rails org\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/03629f633ee1e591d4d9f3c351406465c3cf3ead\"\u003e\u003ccode\u003e03629f6\u003c/code\u003e\u003c/a\u003e Add devcontainer config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/037ad17aa546c080238a979fce8b393b4fc7f577\"\u003e\u003ccode\u003e037ad17\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/bootsnap/issues/505\"\u003e#505\u003c/a\u003e from beauraF/add-know-issues-note-to-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/3019588dd3823dcdfbb24dd950cfba1516c2e662\"\u003e\u003ccode\u003e3019588\u003c/code\u003e\u003c/a\u003e Add a knows issues note into README.md related to QEMU\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/b3333f644b4bd0c82a3ec52a3fdd3c9752abcf71\"\u003e\u003ccode\u003eb3333f6\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/bootsnap/compare/v1.18.4...v1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-unit` from 3.2.7 to 3.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-unit/test-unit/releases\"\u003etest-unit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etest-unit 3.7.3 - 2025-11-26\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved duplicated power_assert require code.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/337\"\u003eGH-337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Nobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.7.2 - 2025-11-25\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppressed warnings from power_assert.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/335\"\u003eGH-335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Nobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNobuyoshi Nakada\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.7.1 - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUsed absolute path instead of relative path for autoload.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/311\"\u003eGH-311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/325\"\u003eGH-325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggested by nicholas a. evans\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImproved compatibility with power_assert 3.0 on older rubies.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/329\"\u003eGH-329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/330\"\u003eGH-330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Jean Boussier\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enicholas a. evans\u003c/li\u003e\n\u003cli\u003eJean Boussier\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.7.0 - 2025-07-06\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that \u003ccode\u003eTest::Unit::TestCase\u003c/code\u003e and \u003ccode\u003eTest::Unit::AutoRunner\u003c/code\u003e\naren't loaded when they are redefined by open class before referring\nto these constants.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/8d3e65169346814513a4787bac1eb89b88ca0269\"\u003e\u003ccode\u003e8d3e651\u003c/code\u003e\u003c/a\u003e Add 3.7.3 entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/ff3a4ce85d3bfce11ab965a092c15e751327e3fe\"\u003e\u003ccode\u003eff3a4ce\u003c/code\u003e\u003c/a\u003e Move suppressing experimental warnings (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/337\"\u003e#337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/9028d9c920b9164d73831c36468ad81b8a0a66da\"\u003e\u003ccode\u003e9028d9c\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/54e7ecf4afc4513cf7e4651b5a08348adb8594c7\"\u003e\u003ccode\u003e54e7ecf\u003c/code\u003e\u003c/a\u003e Add 3.7.2 entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/692c7ae4e869f58390a295fcc90127fd704fbb13\"\u003e\u003ccode\u003e692c7ae\u003c/code\u003e\u003c/a\u003e Squash syntax warnings as well as syntax errors (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/335\"\u003e#335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/2a08297934418f2e329b0b3211a27d4172bf68b7\"\u003e\u003ccode\u003e2a08297\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/334\"\u003e#334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/edfa50cf4fef5521f34dca1995c1c8f3efe77d7b\"\u003e\u003ccode\u003eedfa50c\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/333\"\u003e#333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/97e3f4368c12f1ffe346e86d6c9d46b8bf852cae\"\u003e\u003ccode\u003e97e3f43\u003c/code\u003e\u003c/a\u003e Add 3.7.1 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/331\"\u003e#331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/dd28c55e359ca78099f18fa150c7b83401e86d1c\"\u003e\u003ccode\u003edd28c55\u003c/code\u003e\u003c/a\u003e Fix compatibility with power_assert 3.0 on older rubies (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/329\"\u003e#329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/2cefbb7d34fce93c846c244e3d7051685e803163\"\u003e\u003ccode\u003e2cefbb7\u003c/code\u003e\u003c/a\u003e test: clear called state in setup (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-unit/test-unit/compare/3.2.7...3.7.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.113.0 to 1.206.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.206.0 (2025-12-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - New S3 Storage Class FSX_ONTAP\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.205.0 (2025-11-20)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Enable / Disable ABAC on a general purpose bucket.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.204.0 (2025-11-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adds support for blocking SSE-C writes to general purpose buckets.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.1 (2025-11-10)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Deprecated \u003ccode\u003e:checksum_mode\u003c/code\u003e parameter in \u003ccode\u003eFileDownloader#download\u003c/code\u003e. When set to \u0026quot;DISABLED\u0026quot;, a deprecation warning is issued and the parameter is ignored. Use \u003ccode\u003e:response_checksum_validation\u003c/code\u003e on the S3 client instead to control checksum validation behavior.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.203.0 (2025-11-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Launch IPv6 dual-stack support for S3 Express\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart upload to respect \u003ccode\u003erequest_checksum_calculation\u003c/code\u003e \u003ccode\u003ewhen_required\u003c/code\u003e mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.200.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add lightweight thread pool executor for multipart \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add custom executor support for \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.199.0 (2025-09-08)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.12.2 to 2.17.1\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.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eJSON.load\u003c/code\u003e and \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e to allow passing options as second argument.\u003c/li\u003e\n\u003cli\u003eFix the parser to no longer ignore invalid escapes in strings.\nOnly \u003ccode\u003e\\\u0026quot;\u003c/code\u003e, \u003ccode\u003e\\\\\u003c/code\u003e, \u003ccode\u003e\\b\u003c/code\u003e, \u003ccode\u003e\\f\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\t\u003c/code\u003e and \u003ccode\u003e\\u\u003c/code\u003e are valid JSON escapes.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eJSON::Coder\u003c/code\u003e to use the depth it was initialized with.\u003c/li\u003e\n\u003cli\u003eOn TruffleRuby, fix the generator to not call \u003ccode\u003eto_json\u003c/code\u003e on the return value of \u003ccode\u003eas_json\u003c/code\u003e for \u003ccode\u003eFloat::NAN\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed handling of \u003ccode\u003estate.depth\u003c/code\u003e: when \u003ccode\u003eto_json\u003c/code\u003e changes \u003ccode\u003estate.depth\u003c/code\u003e but does not restore it, it is reset\nautomatically to its initial value.\nIn particular, when a \u003ccode\u003eNestingError\u003c/code\u003e is raised, \u003ccode\u003edepth\u003c/code\u003e is no longer equal to \u003ccode\u003emax_nesting\u003c/code\u003e after the call to\ngenerate, and is reset to its initial value. Similarly when \u003ccode\u003eto_json\u003c/code\u003e raises an exception.\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.16.0...v2.17.0\"\u003ehttps://github.com/ruby/json/compare/v2.16.0...v2.17.0\u003c/a\u003e\u003c/p\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\u003ch2\u003ev2.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\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.0...v2.15.1\"\u003ehttps://github.com/ruby/json/compare/v2.15.0...v2.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-12-04 (2.17.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a regression in parsing of unicode surogate pairs (\u003ccode\u003e\\uXX\\uXX\u003c/code\u003e) that could cause an invalid string to be returned.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-12-03 (2.17.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove \u003ccode\u003eJSON.load\u003c/code\u003e and \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e to allow passing options as second argument.\u003c/li\u003e\n\u003cli\u003eFix the parser to no longer ignore invalid escapes in strings.\nOnly \u003ccode\u003e\\\u0026quot;\u003c/code\u003e, \u003ccode\u003e\\\\\u003c/code\u003e, \u003ccode\u003e\\b\u003c/code\u003e, \u003ccode\u003e\\f\u003c/code\u003e, \u003ccode\u003e\\n\u003c/code\u003e, \u003ccode\u003e\\r\u003c/code\u003e, \u003ccode\u003e\\t\u003c/code\u003e and \u003ccode\u003e\\u\u003c/code\u003e are valid JSON escapes.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eJSON::Coder\u003c/code\u003e to use the depth it was initialized with.\u003c/li\u003e\n\u003cli\u003eOn TruffleRuby, fix the generator to not call \u003ccode\u003eto_json\u003c/code\u003e on the return value of \u003ccode\u003eas_json\u003c/code\u003e for \u003ccode\u003eFloat::NAN\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed handling of \u003ccode\u003estate.depth\u003c/code\u003e: when \u003ccode\u003eto_json\u003c/code\u003e changes \u003ccode\u003estate.depth\u003c/code\u003e but does not restore it, it is reset\nautomatically to its initial value.\nIn particular, when a \u003ccode\u003eNestingError\u003c/code\u003e is raised, \u003ccode\u003edepth\u003c/code\u003e is no longer equal to \u003ccode\u003emax_nesting\u003c/code\u003e after the call to\ngenerate, and is reset to its initial value. Similarly when \u003ccode\u003eto_json\u003c/code\u003e raises an exception.\u003c/li\u003e\n\u003c/ul\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\u003ch3\u003e2025-10-07 (2.15.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-22 (2.15.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\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/ruby/json/commit/e5e4fd558e5a8d53db63eeaeca9212e8f0042e19\"\u003e\u003ccode\u003ee5e4fd5\u003c/code\u003e\u003c/a\u003e Release 2.17.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/0fce370c417bc16e7deed688e2d2a5ce6a0b31c7\"\u003e\u003ccode\u003e0fce370\u003c/code\u003e\u003c/a\u003e Fix a regression in parsing of unicode surogate pairs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/4bdb2d14fe30733b02e4c58ce9521d70ee56f2af\"\u003e\u003ccode\u003e4bdb2d1\u003c/code\u003e\u003c/a\u003e Release 2.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ccca602274401eedf894c0e633040665dc425e78\"\u003e\u003ccode\u003eccca602\u003c/code\u003e\u003c/a\u003e Fix handling of depth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/7b62fac5253ac17e53fff9c68f5607b58117e77a\"\u003e\u003ccode\u003e7b62fac\u003c/code\u003e\u003c/a\u003e Fix duplicated test_unsafe_load_with_options test case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e0257b9f82fc0c5aa0de0816abe7d1798c1d6411\"\u003e\u003ccode\u003ee0257b9\u003c/code\u003e\u003c/a\u003e Reproduce C ext behavior of ignoring mutated depth in arrays\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/386b36fde5ef3955fbbbc70b7f3423636a53d440\"\u003e\u003ccode\u003e386b36f\u003c/code\u003e\u003c/a\u003e Test and restore behavior around to_json changing depth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/c54de70f9084d16136e23e694033fb54bfdfcef3\"\u003e\u003ccode\u003ec54de70\u003c/code\u003e\u003c/a\u003e Improve \u003ccode\u003eJSON.load\u003c/code\u003e and \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e to allow passing options as second...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/65d62dc7411808dcb89f7df44f80d99e93cdc8c6\"\u003e\u003ccode\u003e65d62dc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/909\"\u003e#909\u003c/a\u003e from nobu/macro_args\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/8fb727901e530dad3321ad6930d8f00dbe3d0b1d\"\u003e\u003ccode\u003e8fb7279\u003c/code\u003e\u003c/a\u003e Fix macro arguments\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.12.2...v2.17.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack-attack` from 6.5.0 to 6.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/releases\"\u003erack-attack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\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/floehopper\"\u003e\u003ccode\u003e@​floehopper\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/618\"\u003erack/rack-attack#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mttkay\"\u003e\u003ccode\u003e@​mttkay\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/622\"\u003erack/rack-attack#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/625\"\u003erack/rack-attack#625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/629\"\u003erack/rack-attack#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/654\"\u003erack/rack-attack#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fynsta\"\u003e\u003ccode\u003e@​fynsta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/658\"\u003erack/rack-attack#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexsmartens\"\u003e\u003ccode\u003e@​alexsmartens\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/664\"\u003erack/rack-attack#664\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/587\"\u003erack/rack-attack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/612\"\u003erack/rack-attack#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/586\"\u003erack/rack-attack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/614\"\u003erack/rack-attack#614\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/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md\"\u003erack-attack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.8.0] - 2025-10-14\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.7.0] - 2023-07-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/587\"\u003e#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.1] - 2022-04-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes deprecation warning in redis 4.6+ ([\u003ca href=\"https://github.com/ixti\"\u003e\u003ccode\u003e@​ixti\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2022-01-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbility to have access to the \u003ccode\u003erequest\u003c/code\u003e object instead of only \u003ccode\u003eenv\u003c/code\u003e (still can access env with \u003ccode\u003erequest.env\u003c/code\u003e) when\ncustomizing throttle and blocklist responses with new methods \u003ccode\u003eRack::Attack.blocklisted_responder=\u003c/code\u003e and\n\u003ccode\u003eRack::Attack.throttled_responder=\u003c/code\u003e which yield the request to your lambda. ([\u003ca href=\"https://github.com/NikolayRys\"\u003e\u003ccode\u003e@​NikolayRys\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.blocklisted_response=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.throttled_response=\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/rack/rack-attack/commit/65f1ead3bc648b1e972fd8df0078949f056699d9\"\u003e\u003ccode\u003e65f1ead\u003c/code\u003e\u003c/a\u003e Bumps gem version to v6.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e84eaf57cd1cc8541de260326df5d84070011b68\"\u003e\u003ccode\u003ee84eaf5\u003c/code\u003e\u003c/a\u003e Upgrade GHA Runners (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/4606efbe5ec8dfef5ab824fd03797ed67396ecb7\"\u003e\u003ccode\u003e4606efb\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/40d83d1281694c13230a272026f6b291abe84dd0\"\u003e\u003ccode\u003e40d83d1\u003c/code\u003e\u003c/a\u003e Fix GHA Runner (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/1dba6ec133e76e6496c8bc89822b52696d671d46\"\u003e\u003ccode\u003e1dba6ec\u003c/code\u003e\u003c/a\u003e Remove CodeClimate (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/467770882daa6f3865cc207c8b5dfdbc4028d7cb\"\u003e\u003ccode\u003e4677708\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to the CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/87108769f8b4e847f12fbad76d0b6dc98e41bd89\"\u003e\u003ccode\u003e8710876\u003c/code\u003e\u003c/a\u003e Fix CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/86650c4f7ea1af24fe4a89d3040e1309ee8a88bc\"\u003e\u003ccode\u003e86650c4\u003c/code\u003e\u003c/a\u003e Fix reset! when using namespaced cache store (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/8d5b210fcd5b864300e90f70ad12f7a25bd71c03\"\u003e\u003ccode\u003e8d5b210\u003c/code\u003e\u003c/a\u003e Fix wrong merge resolution (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/6db4a73253c78494ce0b9aed8d587bd989bccce4\"\u003e\u003ccode\u003e6db4a73\u003c/code\u003e\u003c/a\u003e Drop Dalli 2 support (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.5.0...v6.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.5.9 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 [2025-09-02] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove several absolute paths from native binaries which pointed to build directories. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/668\"\u003e#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bad fallback path to \u003ccode\u003epg_service.conf\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/666\"\u003e#666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erbpg_\u003c/code\u003e prefix for \u003ccode\u003ebase64_*\u003c/code\u003e functions to avoid name clashes with functions provided by other libraries like Heimdal on Macos. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/667\"\u003e#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise a more descriptive error message in case of \u003ccode\u003epg_ext\u003c/code\u003e LoadError. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/664\"\u003e#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze some constants to make them available in a Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/660\"\u003e#660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral documentation improvements.\u003c/li\u003e\n\u003cli\u003eUpdate native binary gems to OpenSSL-3.5.2, krb5-1.22.1 and PostgreSQL-17.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.1 [2025-08-03] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for platforms \u003ccode\u003eaarch64-linux-musl\u003c/code\u003e and \u003ccode\u003ex86_64-linux-musl\u003c/code\u003e without the need to install package \u003ccode\u003egcompat\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/657\"\u003e#657\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSerialize CompositeCoder#dimensions only when set. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/652\"\u003e#652\u003c/a\u003e\nThis fixes the compatibility to pg-1.5.9, when deserializing Marshal data from pg-1.6, as long as the new attribute isn't used.\u003c/li\u003e\n\u003cli\u003eRemove dependency to MSYS2 package \u0026quot;postgresql\u0026quot; from binary Windows gem \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 [2025-07-27] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby 3.4.\u003c/li\u003e\n\u003cli\u003eAdd fat binary gem for platform \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e aka Windows on ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/626\"\u003e#626\u003c/a\u003e, for platform Macos on Intel and ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/643\"\u003e#643\u003c/a\u003e, for platform \u003ccode\u003eaarch64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/646\"\u003e#646\u003c/a\u003e and for platform \u003ccode\u003ex86_64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/551#issuecomment-2504715762\"\u003e#551\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.5.1 and PostgreSQL-17.5.\u003c/li\u003e\n\u003cli\u003eAdd a patch to libpq to avoid starvation on bigger SSL records, which some database engines other than vanilla PostgreSQL use.\nThis patch applies to platform specific binary gems only.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/616\"\u003e#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new query cancel functions of PostgreSQL-17.\nThis adds the new class \u003ccode\u003ePG::CancelConnection\u003c/code\u003e which provides the ability to cancel a query per blocking or per non-blocking functions.\nIf the new functions are available they are used and the older are no longer compiled in.\nThis way we can get rid of reading out the internal \u003ccode\u003ePGcancel\u003c/code\u003e struct by \u003ccode\u003eConnection#backend_key\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/603\"\u003e#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd possibility to define the number of array dimensions to be encoded.\nSetting dimensions is especially useful, when a Record shall be encoded into an Array, since the Array encoder can not distinguish if the array shall be encoded as a higher dimension or as a record otherwise.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/622\"\u003e#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#set_chunked_rows_mode \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/610\"\u003e#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/611\"\u003e#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MINGW package dependency which is resolved by RubyInstaller.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003econn.server_version\u003c/code\u003e and \u003ccode\u003econn.protocol_version\u003c/code\u003e to raise instead of return 0 on error.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/632\"\u003e#632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix connecting to multiple hosts after \u003ccode\u003econnnect_timeout\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/637\"\u003e#637\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/ged/ruby-pg/commit/c75ed8da19c356b52d83da2627295760780d3d36\"\u003e\u003ccode\u003ec75ed8d\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/90a00e51d296e8614ed6815589a26d971e9f444f\"\u003e\u003ccode\u003e90a00e5\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for pg-1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/c58434835ab6b077e757ef0c16e7b9dc1d1fccf6\"\u003e\u003ccode\u003ec584348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/670\"\u003e#670\u003c/a\u003e from larskanis/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/227653d235fe5ed4a8e03ea09854a6d298426ff3\"\u003e\u003ccode\u003e227653d\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/428415dd4ecb55882d2319d8b166fe73343853ba\"\u003e\u003ccode\u003e428415d\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 1.6.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/4282e5c729a98f66775611bd96c1848863b1d91f\"\u003e\u003ccode\u003e4282e5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/669\"\u003e#669\u003c/a\u003e from larskanis/test-rpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/19a35473b0ef7b4bf0d9caf7b62fb7fbbf7e168b\"\u003e\u003ccode\u003e19a3547\u003c/code\u003e\u003c/a\u003e Strip darwin C-ext to remove paths to C files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5e2ac6e14589f8698f127be080e94e93151552fc\"\u003e\u003ccode\u003e5e2ac6e\u003c/code\u003e\u003c/a\u003e Temporary enable head version of rake-compiler-dock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/70551b94eab64bcfd879d91382b216224d2394b5\"\u003e\u003ccode\u003e70551b9\u003c/code\u003e\u003c/a\u003e Add spec/pg_spec.rb to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/35b2704fc79aca22488251b1910d3b8e6be6f83e\"\u003e\u003ccode\u003e35b2704\u003c/code\u003e\u003c/a\u003e Add tests for rpath or other build related paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.5.9...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dalli` from 3.2.3 to 3.2.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md\"\u003edalli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.8\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle IO::TimeoutError when establishing connection (eugeneius)\u003c/li\u003e\n\u003cli\u003eDrop dependency on base64 gem (Earlopain)\u003c/li\u003e\n\u003cli\u003eAddress incompatibility with resolv-replace (y9v)\u003c/li\u003e\n\u003cli\u003eAdd rubygems.org metadata (m-nakamura145)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cascading error when there's an underlying network error in a pipelined get (eugeneius)\u003c/li\u003e\n\u003cli\u003eRuby 3.4/head compatibility by adding base64 to gemspec (tagliala)\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI (m-nakamura145)\u003c/li\u003e\n\u003cli\u003eUse Socket's connect_timeout when available, and pass timeout to the socket's send and receive timeouts (mlarraz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRescue IO::TimeoutError raised by Ruby since 3.2.0 on blocking reads/writes (skaes)\u003c/li\u003e\n\u003cli\u003eFix rubydoc link (JuanitoFatas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle memcached requests being interrupted by Thread#raise or Thread#kill (byroot)\u003c/li\u003e\n\u003cli\u003eUnexpected errors are no longer treated as \u003ccode\u003eDalli::NetworkError\u003c/code\u003e, including errors raised by \u003ccode\u003eTimeout.timeout\u003c/code\u003e (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eCache PID calls for performance since glibc no longer caches in recent versions (byroot)\u003c/li\u003e\n\u003cli\u003ePreallocate the read buffer in Socket#readfull (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/67942b8db6ba8ae9c39e30d9c0c63fb1525586b3\"\u003e\u003ccode\u003e67942b8\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.8 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/995\"\u003e#995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/23bc51f712314a5b8179c94ed59ba1545139c99e\"\u003e\u003ccode\u003e23bc51f\u003c/code\u003e\u003c/a\u003e Handle IO::TimeoutError when establishing connection (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4baeb3431edb46b5a1d0449432802dc214bb1a67\"\u003e\u003ccode\u003e4baeb34\u003c/code\u003e\u003c/a\u003e Bump the tested memcached version to 1.6.23 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/d5ad58f939af7ef765412f3820aace7399b68753\"\u003e\u003ccode\u003ed5ad58f\u003c/code\u003e\u003c/a\u003e Move check whether TCPSocket was patched to TCP.open (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/bec0440a9c4c040d2f564256abddd7e6a6604123\"\u003e\u003ccode\u003ebec0440\u003c/code\u003e\u003c/a\u003e Fix conflict with resolv-replace gem (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c5aea2200388c530b457485c96d22098e67e17d5\"\u003e\u003ccode\u003ec5aea22\u003c/code\u003e\u003c/a\u003e Add metadata for rubygems.org (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c409a07dc960b11595b329b6245b12b7be6d2dd7\"\u003e\u003ccode\u003ec409a07\u003c/code\u003e\u003c/a\u003e Drop dependency on base64 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4c4a5a2354707604456f6f1bf08d020f1909b49e\"\u003e\u003ccode\u003e4c4a5a2\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.7 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/fa641192072fd3852053f01e65853af95bc0b8d0\"\u003e\u003ccode\u003efa64119\u003c/code\u003e\u003c/a\u003e Don't reconnect to send pipelined request no-op (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/22dd9ce54dfe497c69244e7aa5fe2ba6ad4ac327\"\u003e\u003ccode\u003e22dd9ce\u003c/code\u003e\u003c/a\u003e Fix a test lint (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petergoldstein/dalli/compare/v3.2.3...v3.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `carrierwave` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/releases\"\u003ecarrierwave's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/blob/master/CHANGELOG.md\"\u003ecarrierwave's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2 - 2025-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/commit/8e5db8cb0b01b1d06b95d46fedf2e0c2a445a0e9\"\u003e\u003ccode\u003e8e5db8c\u003c/code\u003e\u003c/a\u003e Version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e\u003ccode\u003e7b2ce50\u003c/code\u003e\u003c/a\u003e Fix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, `##...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/9001ab7478dae07f99ef9a686d6d42e118a66336\"\u003e\u003ccode\u003e9001ab7\u003c/code\u003e\u003c/a\u003e Fix specs breaking with MiniMagick 5.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/compare/v3.1.1...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mini_magick` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minimagick/minimagick/releases\"\u003emini_magick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eMiniMagick.cli_prefix\u003c/code\u003e being mutated when set to an array.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eActually require Ruby 2.5+ in the gemspec.\u003c/li\u003e\n\u003cli\u003eFix Ruby 2.5 compatibility when using \u003ccode\u003eMiniMagick.restricted_env\u003c/code\u003e configuration.\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ebenchmark\u003c/code\u003e dependency.\u003c/li\u003e\n\u003cli\u003eFix keyword argument forwarding when trying to call \u003ccode\u003eMiniMagick.compare(errors: false)\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/minimagick/minimagick/commit/ddcbfe9632667876be10373e1e01252617e74057\"\u003e\u003ccode\u003eddcbfe9\u003c/code\u003e\u003c/a\u003e Bump to 5.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed5897b54fbfd0fc21b04187e78915f4f5e3acc3\"\u003e\u003ccode\u003eed5897b\u003c/code\u003e\u003c/a\u003e Simplify spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/862ffbbb4435a9363b179397ba02d4be1d1c7751\"\u003e\u003ccode\u003e862ffbb\u003c/code\u003e\u003c/a\u003e Fix configured cli_prefix being muated (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c53b8bb72b9885117d54e375bf33b6ec5641271a\"\u003e\u003ccode\u003ec53b8bb\u003c/code\u003e\u003c/a\u003e Bump to 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/eda3dde138f37ca4ef2de75b0abeda31ee915d2b\"\u003e\u003ccode\u003eeda3dde\u003c/code\u003e\u003c/a\u003e Bump ruby 2.5+ requirement in the gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed928b18107793cd144a681180f9c79e59d6b8cd\"\u003e\u003ccode\u003eed928b1\u003c/code\u003e\u003c/a\u003e Add spec for the keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/6de850ace3bb7a9d64f6d1d5804c4cad7ac5b3b2\"\u003e\u003ccode\u003e6de850a\u003c/code\u003e\u003c/a\u003e Try using ENV.to_h for compatibility with Ruby 2.5 (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c1b2e2c054210fcad2e8e26ce2e70ac76acddd27\"\u003e\u003ccode\u003ec1b2e2c\u003c/code\u003e\u003c/a\u003e Fix option forwarding in MiniMagick::Tool.new (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/dfd3de02c4482679cf7f0993dc368cbba413e7da\"\u003e\u003ccode\u003edfd3de0\u003c/code\u003e\u003c/a\u003e Fix typo in README: change tmdir to tmpdir in configuration example (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/23239db1263f96b1b96f62c67250afe16507b2ac\"\u003e\u003ccode\u003e23239db\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ebenchmark\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minimagick/minimagick/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.21.0 to 0.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd changelog_uri metadata to gemspec by \u003ca href=\"https://github.com/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix multipart with files in binary mode and fields including non-ASCII characters by \u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\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/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd foul option to class level \u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003ehttps://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew: foul mode to rescue all common network errors:  \u003ca href=\"https://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\"\u003ehttps://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: replace master branch to main for better view by \u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\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/ashishra0\"\u003e\u003ccode\u003e@​ashishra0\u003c/code\u003e\u003c/a\u003e made their first contribution with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in example name by \u003ca href=\"https://github.com/xymbol\"\u003e\u003ccode\u003e@​xymbol\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/CommitChange/houdini/pull/1308","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommitChange%2Fhoudini/issues/1308","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1308/packages"}},{"old_version":"0.4.2","new_version":"1.0.1","update_type":"major","path":null,"pr_created_at":"2025-11-05T01:34:33.000Z","version_change":"0.4.2 → 1.0.1","issue":{"uuid":"3588710671","node_id":"PR_kwDOIHBa6c6xiAzq","number":39,"state":"open","title":"Bump the bundler group across 1 directory with 10 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-05T01:34:33.000Z","updated_at":"2025-11-05T01:34:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":10,"packages":[{"name":"puma","old_version":"5.6.5","new_version":"5.6.9","repository_url":"https://github.com/puma/puma"},{"name":"sidekiq","old_version":"6.4.1","new_version":"6.5.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"fugit","old_version":"1.4.2","new_version":"1.11.1","repository_url":"https://github.com/floraison/fugit"},{"name":"globalid","old_version":"0.4.2","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"loofah","old_version":"2.18.0","new_version":"2.19.1","repository_url":"https://github.com/flavorjones/loofah"},{"name":"rails-html-sanitizer","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/rails/rails-html-sanitizer"},{"name":"rexml","old_version":"3.2.5","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"yard","old_version":"0.9.34","new_version":"0.9.36","repository_url":"https://github.com/lsegal/yard"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [puma](https://github.com/puma/puma) | `5.6.5` | `5.6.9` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `6.4.1` | `6.5.10` |\n| [fugit](https://github.com/floraison/fugit) | `1.4.2` | `1.11.1` |\n| [globalid](https://github.com/rails/globalid) | `0.4.2` | `1.0.1` |\n| [loofah](https://github.com/flavorjones/loofah) | `2.18.0` | `2.19.1` |\n| [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) | `1.4.3` | `1.4.4` |\n| [rexml](https://github.com/ruby/rexml) | `3.2.5` | `3.4.2` |\n| [yard](https://github.com/lsegal/yard) | `0.9.34` | `0.9.36` |\n\n\nUpdates `puma` from 5.6.5 to 5.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.7\u003c/h2\u003e\n\u003cp\u003eSecurity\nAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.9 / 2024-09-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eDiscards any headers using underscores if the non-underscore version also exists. Without this, an attacker could overwrite values set by intermediate proxies (e.g. X-Forwarded-For). (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-9hf4-67fc-4vf4\"\u003eCVE-2024-45614\u003c/a\u003e/GHSA-9hf4-67fc-4vf4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eJRuby\n\u003cul\u003e\n\u003cli\u003eMust use at least Java \u0026gt;= 9 to compile. You can no longer build from source on Java 8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.8 / 2024-01-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eLimit the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-c2f4-cvqm-65w2\"\u003eGHSA-c2f4-cvqm-65w2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.7 / 2023-08-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.6 / 2023-06-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix\n\u003cul\u003e\n\u003cli\u003ePrevent loading with rack 3 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3166\"\u003e#3166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f196b23be24712fb8fb16051cc124798cc84f70e\"\u003e\u003ccode\u003ef196b23\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/24eec19bace045a4cbd43362e17964de90044e32\"\u003e\u003ccode\u003e24eec19\u003c/code\u003e\u003c/a\u003e 5.6.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3c8e8b036d36158a324ec34cfb29905cc578478b\"\u003e\u003ccode\u003e3c8e8b0\u003c/code\u003e\u003c/a\u003e 5.6.9 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/129357322e837e7d99c25c9cd71d36ecb4f9540b\"\u003e\u003ccode\u003e1293573\u003c/code\u003e\u003c/a\u003e 5.6.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/bbb880ffb6debbfdea535b4b3eb2204d49ae151d\"\u003e\u003ccode\u003ebbb880f\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-c2f4-cvqm-65w2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/78393bf2c58bf293860fa9cdc73938ac58c18afb\"\u003e\u003ccode\u003e78393bf\u003c/code\u003e\u003c/a\u003e 5.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7405a219801dcebc0ad6e0aa108d4319ca23f662\"\u003e\u003ccode\u003e7405a21\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-68xg-gqqm-vgj8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d33424b560eab163d8869d90341d57795d63bb99\"\u003e\u003ccode\u003ed33424b\u003c/code\u003e\u003c/a\u003e 5.6.7 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f8c7b235f971ed6b290cc4733fe7bce840037ede\"\u003e\u003ccode\u003ef8c7b23\u003c/code\u003e\u003c/a\u003e 5.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08af1b5d797ab49f9d594a71f0c1f88bbff7915a\"\u003e\u003ccode\u003e08af1b5\u003c/code\u003e\u003c/a\u003e 5.6.6 release note\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v5.6.5...v5.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 6.4.1 to 6.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSidekiq Changes\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003eSidekiq Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Pro-Changes.md\"\u003eSidekiq Pro Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Ent-Changes.md\"\u003eSidekiq Enterprise Changes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ediscarded_at\u003c/code\u003e attribute when discarding a job so death handlers can distinguish between\na job which was killed and one that was discarded. [#6820, gstokkink]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts an \u003ccode\u003e:at\u003c/code\u003e array of times to schedule each job at the corresponding time.\n\u003ccode\u003eperform_bulk(args: [[1], [2]], at: [Time.now, Time.now + 1])\u003c/code\u003e [#6790, fatkodima]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts a \u003ccode\u003e:spread_interval\u003c/code\u003e value to schedule jobs over\nthe next N seconds. \u003ccode\u003eperform_bulk(..., spread_interval: 60)\u003c/code\u003e [#6792, fatkodima]\u003c/li\u003e\n\u003cli\u003eFix unintended display of flash messages in the Web UI due to session key collision\u003c/li\u003e\n\u003cli\u003eAdd support for lazy load hooks \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6825\"\u003e#6825\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:discard\u003c/code\u003e option for \u003ccode\u003esidekiq_retries_exhausted\u003c/code\u003e and \u003ccode\u003esidekiq_retry_in\u003c/code\u003e\nnow calls death handlers, otherwise it could break other Sidekiq\nfunctionality. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a Plain log formatter which does not colorize output \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6778\"\u003e#6778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJob iteration now exposes \u003ccode\u003ecurrent_object\u003c/code\u003e for easy access within the \u003ccode\u003earound_iteration\u003c/code\u003e callback \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6774\"\u003e#6774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix JS race condition which could skip confirmation dialogs when Live Polling \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6768\"\u003e#6768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge case which could lose CurrentAttributes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6767\"\u003e#6767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate UK locale \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6776\"\u003e#6776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.6\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/sidekiq/sidekiq/commit/f67a7abccffc9337f144e7be96bb1ed4b0fee49a\"\u003e\u003ccode\u003ef67a7ab\u003c/code\u003e\u003c/a\u003e Cherry pick:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/101435c5a73095ca62b610d5d6456e7e5dc7f81a\"\u003e\u003ccode\u003e101435c\u003c/code\u003e\u003c/a\u003e Merge 62c90d7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/022c059c7b417d24cf1f892fa71f8e98d19ca93f\"\u003e\u003ccode\u003e022c059\u003c/code\u003e\u003c/a\u003e bump, prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fa6723e20131f6d8ca990fc44ca056a351376f2e\"\u003e\u003ccode\u003efa6723e\u003c/code\u003e\u003c/a\u003e formatting, ensure environment is updated in Sidekiq.options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/ad0f13cac5138b891d54ef2f2df3460d5151e34c\"\u003e\u003ccode\u003ead0f13c\u003c/code\u003e\u003c/a\u003e prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7ed013e12bff33a3666911e21ba40039e56b932b\"\u003e\u003ccode\u003e7ed013e\u003c/code\u003e\u003c/a\u003e Fail if bad scout_apm detected, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5616\"\u003e#5616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2ff44747e6033c01c4524f2f242c689adc08f6c9\"\u003e\u003ccode\u003e2ff4474\u003c/code\u003e\u003c/a\u003e Fix natural sorting for processes (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5587\"\u003e#5587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0588cafc88f3566347bb943ac09c6c23fadc8018\"\u003e\u003ccode\u003e0588caf\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7037533e8f39cc1d3c1e305140da7667c6efe38f\"\u003e\u003ccode\u003e7037533\u003c/code\u003e\u003c/a\u003e Speedup iterating over \u003ccode\u003eWorkSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5559\"\u003e#5559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/d424e453282314ea25f484739c72697b5a4d8f82\"\u003e\u003ccode\u003ed424e45\u003c/code\u003e\u003c/a\u003e Add pagination to \u0026quot;Busy\u0026quot; page (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5556\"\u003e#5556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v6.4.1...v6.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fugit` from 1.4.2 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/floraison/fugit/blob/master/CHANGELOG.md\"\u003efugit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003efugit 1.11.1 released 2024-08-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent nat parsing chocking on long input (\u0026gt; 256 chars), \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.11.0 released 2024-04-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e ban on \u003ccode\u003eevery 27 hours\u003c/code\u003e / \u003ccode\u003e* */27 * * *\u003c/code\u003e for \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/103\"\u003egh-103\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.1 released 2024-02-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix on Ruby 2.2.6 thanks to \u003ca href=\"https://github.com/aunghtain\"\u003e\u003ccode\u003e@​aunghtain\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/93\"\u003egh-93\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.0 released 2024-02-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_start, time_end)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_range)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement iterator-returning \u003ccode\u003eFugit::Cron#next\u003c/code\u003e and \u003ccode\u003e#prev\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.9.0 released 2023-10-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLet nat parse \u0026quot;last\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/88\"\u003egh-88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange that I am not sure about, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.1 released 2023-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix for month subtraction, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/84\"\u003egh-84\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix duration - time, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/85\"\u003egh-85\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.0 released 2022-12-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce Fugit.parse_cronish and .do_parse_cronish, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/70\"\u003egh-70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.2 released 2022-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 'every day at 12:15 am', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 'every day at 5:00pm', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.1 released 2022-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange behaviour for \u0026quot;0 0/5 * * *\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/79\"\u003egh-79\u003c/a\u003e\ngo \u0026quot;every 5h start hour 0\u0026quot;, previous behaviour only triggered at hour 0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/228b53ded4be3d86412b6dd62c831a7a459d9ef4\"\u003e\u003ccode\u003e228b53d\u003c/code\u003e\u003c/a\u003e Release 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a0ec276bf56cb7913411bf0d6e05c67947e7be8\"\u003e\u003ccode\u003e2a0ec27\u003c/code\u003e\u003c/a\u003e Upgrade Ruby test matrix versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/ad2c1c9c737213d585fff0b51c927d178b2c05a5\"\u003e\u003ccode\u003ead2c1c9\u003c/code\u003e\u003c/a\u003e Lower time expectations for labby rubies, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/767ef550281bcdc8782233840f98cf8487340476\"\u003e\u003ccode\u003e767ef55\u003c/code\u003e\u003c/a\u003e Add spec for Fugit.parse() and .do_parse, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/025ad7bb76590d3360750d5617b235a23908e5bb\"\u003e\u003ccode\u003e025ad7b\u003c/code\u003e\u003c/a\u003e Bring in spec helpers from raabro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a9a262873450eaf5671747f846a6ec1e5f7d87c1\"\u003e\u003ccode\u003ea9a2628\u003c/code\u003e\u003c/a\u003e Add Fugit::Nat.parse() spec input len \u0026gt; 256 \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a11805444d9ed036ee8570b88cd2b6df450ee84\"\u003e\u003ccode\u003e2a11805\u003c/code\u003e\u003c/a\u003e Add note about nat 256 char limit, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/6a7527497c0bb9196efe503e3d9b5271128a8ee1\"\u003e\u003ccode\u003e6a75274\u003c/code\u003e\u003c/a\u003e Peg Fugit::Nat.parse(s) at 256 chars, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/d2f6cf393716aabe0facb7132d89cfdb8044d240\"\u003e\u003ccode\u003ed2f6cf3\u003c/code\u003e\u003c/a\u003e Prepare 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a172e7b7fece69fbeda40d952ec186cb83339fec\"\u003e\u003ccode\u003ea172e7b\u003c/code\u003e\u003c/a\u003e Release 1.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/floraison/fugit/compare/v1.4.2...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 0.4.2 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\u003c/p\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003cp\u003eStable API release.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eThe code is the same as the 0.6.0 release.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eActiveRecord::FixtureSet.signed_global_id\u003c/code\u003e helper to generate signed ids inside fixtures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd back Ruby 2.5 support so \u003ccode\u003egem install rails\u003c/code\u003e works out of the box, thereby satisfying Rails' Ruby version requirement. See \u003ca href=\"https://redirect.github.com/rails/rails/issues/42931\"\u003erails/rails#42931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Allow expiration to be turned off globally \u003ca href=\"https://redirect.github.com/rails/globalid/pull/128\"\u003erails/globalid#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed: Support for ruby-head \u003ca href=\"https://redirect.github.com/rails/globalid/pull/132\"\u003erails/globalid#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMaintainance: Drop support for EOL'ed Rubies (\u0026lt; 2.6.0) and Rails 4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42f5ea6b4c638024c8865c1e4a4dbeb991198557\"\u003e\u003ccode\u003e42f5ea6\u003c/code\u003e\u003c/a\u003e Prepare for 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/beab3e4bc7d3fe1af27367de6c90b4d31618ed44\"\u003e\u003ccode\u003ebeab3e4\u003c/code\u003e\u003c/a\u003e Prepare to 0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/29e12cb85d3432872985ad7cef20316ca80f5b2f\"\u003e\u003ccode\u003e29e12cb\u003c/code\u003e\u003c/a\u003e Upgrade all development gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c894a430d42b4f6351903bcff30f7e52bf95b364\"\u003e\u003ccode\u003ec894a43\u003c/code\u003e\u003c/a\u003e Add devcontainer to allow contributors to have a working environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b3ec8b9314555dede5b865ea7ad30c421bddbaea\"\u003e\u003ccode\u003eb3ec8b9\u003c/code\u003e\u003c/a\u003e Move ActiveRecord::FixtureSet.signed_global_id to this gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/e9d6ed993c88558cc4901e084304dee140704c4b\"\u003e\u003ccode\u003ee9d6ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/137\"\u003e#137\u003c/a\u003e from rails/dependabot/bundler/nokogiri-1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a565d31d602cb32b32c02bcbb36d91bcf2b0c735\"\u003e\u003ccode\u003ea565d31\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.11.7 to 1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9b1a4d21fed3c22cf9df0986ad087d1dadc42b4b\"\u003e\u003ccode\u003e9b1a4d2\u003c/code\u003e\u003c/a\u003e Why u no love me?\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v0.4.2...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `loofah` from 2.18.0 to 2.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/flavorjones/loofah/releases\"\u003eloofah's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/blob/main/CHANGELOG.md\"\u003eloofah's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/commit/3f8806300089135f7832a59aa2689a6674d37897\"\u003e\u003ccode\u003e3f88063\u003c/code\u003e\u003c/a\u003e version bump to v2.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/9a8dadbcfd94a0bfc3cd0413b8a7d9efee00a5c8\"\u003e\u003ccode\u003e9a8dadb\u003c/code\u003e\u003c/a\u003e docs: preserve the context and decision record\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/86f7f6364491b0099d215db858ecdc0c89ded040\"\u003e\u003ccode\u003e86f7f63\u003c/code\u003e\u003c/a\u003e fix: replace recursive approach to cdata with escaping solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/415677f3cf7f9254f42f811e784985cd63c7407f\"\u003e\u003ccode\u003e415677f\u003c/code\u003e\u003c/a\u003e fix: do not allow \u0026quot;image/svg+xml\u0026quot; in data URIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/84ca20c58a0e8addf08a2cfc8b6fca4d7d10f033\"\u003e\u003ccode\u003e84ca20c\u003c/code\u003e\u003c/a\u003e refactor: extract scrub_uri_attribute for downstream use\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/47a835afbfffcb8c51c17ce50b5171c823c51b57\"\u003e\u003ccode\u003e47a835a\u003c/code\u003e\u003c/a\u003e ci: pin psych to v4 until v5 builds properly on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/a6e0a1ab90675a17b1b2be189129d94139e4b143\"\u003e\u003ccode\u003ea6e0a1a\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with crass parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/ea853aaa8d3aa3ebeebe6029877bbbe582aee140\"\u003e\u003ccode\u003eea853aa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/247\"\u003e#247\u003c/a\u003e from flavorjones/flavorjones-downstream-test-rhs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/e1f2a4b15c5a611780f93d87544f91365c4a02dd\"\u003e\u003ccode\u003ee1f2a4b\u003c/code\u003e\u003c/a\u003e ci: test downstream rails-html-sanitizer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/79d65a0e8b042847240e355dbdfd0f43ccda7647\"\u003e\u003ccode\u003e79d65a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/245\"\u003e#245\u003c/a\u003e from flavorjones/flavorjones-fix-ruby-2.5-ci\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.18.0...v2.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.14.3 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.14.3...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.4 to 2.2.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.21] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.20] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/851dc02672eca361a48e5a097818aa3cec1d3206\"\u003e\u003ccode\u003e851dc02\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/1e6aeda3d08a5cefd9cf3be4bbef304c2b75aa9c\"\u003e\u003ccode\u003e1e6aeda\u003c/code\u003e\u003c/a\u003e Allow Multipart head to span read boundary. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2392\"\u003e#2392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/6ef591522bb44f80654ad1a80654ba46cafdc7c1\"\u003e\u003ccode\u003e6ef5915\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4e2c903991a790ee211a3021808ff4fd6fe82881\"\u003e\u003ccode\u003e4e2c903\u003c/code\u003e\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fba2c8bc63eb787ff4b19bc612d315fda6126d85\"\u003e\u003ccode\u003efba2c8b\u003c/code\u003e\u003c/a\u003e Improper handling of proxy headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ed3d8340d1a7955332b51e74c1075ef3547c09dd\"\u003e\u003ccode\u003eed3d834\u003c/code\u003e\u003c/a\u003e Normalize adivsories links.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/2.2.4...v2.2.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails-html-sanitizer` from 1.4.3 to 1.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/releases\"\u003erails-html-sanitizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md\"\u003erails-html-sanitizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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-html-sanitizer/commit/fd63deaeb22e601237d4d4d12014e7ebd410ea9b\"\u003e\u003ccode\u003efd63dea\u003c/code\u003e\u003c/a\u003e version bump to v1.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/48ae90acfce9cacbd7cec9963498f6a7b5bc3d5c\"\u003e\u003ccode\u003e48ae90a\u003c/code\u003e\u003c/a\u003e dep: bump dependency on loofah\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/0713caf2ee23801cfb85e37065cf406368b20082\"\u003e\u003ccode\u003e0713caf\u003c/code\u003e\u003c/a\u003e fix: escape CDATA nodes using Loofah's escaping methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/e6d52d3b6db99d07399498b1287997302d444a8d\"\u003e\u003ccode\u003ee6d52d3\u003c/code\u003e\u003c/a\u003e revert 45a5c10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/d1223a29cb3e4151cdcb6ba6c8431708d8ce40a6\"\u003e\u003ccode\u003ed1223a2\u003c/code\u003e\u003c/a\u003e fix: use Loofah's scrub_uri_attribute method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/f0e33477a0557dbdbefc3e470c7df3a64efb002a\"\u003e\u003ccode\u003ef0e3347\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with Loofah method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/df03f2f600cafff3e349b1ec48b730c43b381b65\"\u003e\u003ccode\u003edf03f2f\u003c/code\u003e\u003c/a\u003e ci: pin system lib test to 20.04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3e2a0f39f8ede1368436580e1ba02f9e08585858\"\u003e\u003ccode\u003e3e2a0f3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/145\"\u003e#145\u003c/a\u003e from rails/flavorjones-get-14x-green\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/11752a6427283e8a836608cd1d3ba27b6fb97f78\"\u003e\u003ccode\u003e11752a6\u003c/code\u003e\u003c/a\u003e tests: handle libxml 2.10.0 incorrectly-opened comment parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails-html-sanitizer/compare/v1.4.3...v1.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.2.5 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.2.5...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yard` from 0.9.34 to 0.9.36\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lsegal/yard/releases\"\u003eyard's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.9.36\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFurther XSS fixes for generated frameset pages (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove tests for Ruby 3.3 compatibility (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation improvements (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.35\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible XSS on generated YARD frameset pages (thanks to \u003ca href=\"https://github.com/RedYetiDev\"\u003e\u003ccode\u003e@​RedYetiDev\u003c/code\u003e\u003c/a\u003e for finding and patching) (2069e2b).\u003c/li\u003e\n\u003cli\u003eFix errors when using \u003ccode\u003e@option\u003c/code\u003e on non-method objects (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Ruby 3.3 changes in Ripper parser (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1510\"\u003e#1510\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/lsegal/yard/blob/main/CHANGELOG.md\"\u003eyard's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/lsegal/yard/compare/v0.9.35...v0.9.36\"\u003e0.9.36\u003c/a\u003e - February 29th, 2024\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFurther XSS fixes for generated frameset pages (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove tests for Ruby 3.3 compatibility (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation improvements (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/lsegal/yard/compare/v0.9.34...v0.9.35\"\u003e0.9.35\u003c/a\u003e - February 28th, 2024\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible XSS on generated YARD frameset pages (thanks to \u003ca href=\"https://github.com/RedYetiDev\"\u003e\u003ccode\u003e@​RedYetiDev\u003c/code\u003e\u003c/a\u003e for finding and patching) (2069e2b).\u003c/li\u003e\n\u003cli\u003eFix errors when using \u003ccode\u003e@option\u003c/code\u003e on non-method objects (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Ruby 3.3 changes in Ripper parser (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1510\"\u003e#1510\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/lsegal/yard/commit/e833aac7a01510245dd4ae1d1d18b046c8293c2d\"\u003e\u003ccode\u003ee833aac\u003c/code\u003e\u003c/a\u003e Tag release v0.9.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/1fcb2d8b316caf8779cfdcf910715e9ab583f0aa\"\u003e\u003ccode\u003e1fcb2d8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e from RedYetiDev/patch-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/a831a596b2a7cabdd2e17855dd179af2ebf3d559\"\u003e\u003ccode\u003ea831a59\u003c/code\u003e\u003c/a\u003e Fix semicolon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/2a0b9990b64ceeeb0456177c593e36e204a06df1\"\u003e\u003ccode\u003e2a0b999\u003c/code\u003e\u003c/a\u003e assign url_for_main to a variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/305901723e75bb8027a656aef8888557c1d1488b\"\u003e\u003ccode\u003e3059017\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e from mtasaka/ruby33_test_fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/c88406e4b78f8dd4ba38c79eea0bcec716dbbef8\"\u003e\u003ccode\u003ec88406e\u003c/code\u003e\u003c/a\u003e Update frames.erb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/7cb3fc5b3e1c71dcc368f4a25a5acd0674e44b48\"\u003e\u003ccode\u003e7cb3fc5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e from frsantos/fix_tuple_docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/04e4c9a2fa770768a7eb724030cc6e434fdbd0ce\"\u003e\u003ccode\u003e04e4c9a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e from rafaelfranca/rm-ruby-3.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/ebf5005e282475d51732eca16e9a2d9f1e769941\"\u003e\u003ccode\u003eebf5005\u003c/code\u003e\u003c/a\u003e Tag release v0.9.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lsegal/yard/commit/62e18b472beb0c7245ed52fee2993ab7477c49ab\"\u003e\u003ccode\u003e62e18b4\u003c/code\u003e\u003c/a\u003e Prepare changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lsegal/yard/compare/v0.9.34...v0.9.36\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Centaurioun/texterify/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Centaurioun/texterify/pull/39","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centaurioun%2Ftexterify/issues/39","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-11-03T02:11:12.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"3580303396","node_id":"PR_kwDOCB6Cus6xGLE4","number":1303,"state":"open","title":"Bump the production-dependencies-minor group across 1 directory with 30 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-03T02:11:12.000Z","updated_at":"2025-11-17T02:13:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies-minor","update_count":30,"packages":[{"name":"rake","old_version":"13.2.1","new_version":"13.3.1","repository_url":"https://github.com/ruby/rake"},{"name":"rails","old_version":"7.1.5.2","new_version":"7.1.6","repository_url":"https://github.com/rails/rails"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.18.6","repository_url":"https://github.com/Shopify/bootsnap"},{"name":"test-unit","old_version":"3.2.7","new_version":"3.7.0","repository_url":"https://github.com/test-unit/test-unit"},{"name":"aws-sdk-s3","old_version":"1.113.0","new_version":"1.202.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"json","old_version":"2.12.2","new_version":"2.15.2","repository_url":"https://github.com/ruby/json"},{"name":"rack-attack","old_version":"6.5.0","new_version":"6.8.0","repository_url":"https://github.com/rack/rack-attack"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"dalli","old_version":"3.2.3","new_version":"3.2.8","repository_url":"https://github.com/petergoldstein/dalli"},{"name":"carrierwave","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/carrierwaveuploader/carrierwave"},{"name":"mini_magick","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/minimagick/minimagick"},{"name":"httparty","old_version":"0.21.0","new_version":"0.23.2","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"devise-two-factor","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/tinfoil/devise-two-factor"},{"name":"geocoder","old_version":"1.6.1","new_version":"1.8.6","repository_url":"https://github.com/alexreisner/geocoder"},{"name":"table_print","old_version":"1.5.4","new_version":"1.5.7","repository_url":"https://github.com/arches/table_print"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"csv","old_version":"3.3.4","new_version":"3.3.5","repository_url":"https://github.com/ruby/csv"},{"name":"maintenance_tasks","old_version":"2.12.0","new_version":"2.13.0","repository_url":"https://github.com/Shopify/maintenance_tasks"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"rails-autoscale-web","old_version":"1.11.1","new_version":"1.12.1","repository_url":"https://github.com/judoscale/judoscale-ruby"},{"name":"lograge","old_version":"0.3.6","new_version":"0.14.0","repository_url":"https://github.com/roidrage/lograge"},{"name":"recaptcha","old_version":"5.19.0","new_version":"5.21.1","repository_url":"https://github.com/ambethia/recaptcha"},{"name":"connection_pool","old_version":"2.5.3","new_version":"2.5.4","repository_url":"https://github.com/mperham/connection_pool"},{"name":"barnes","old_version":"0.0.8","new_version":"0.0.9","repository_url":"https://github.com/heroku/barnes"},{"name":"has_scope","old_version":"0.8.2","new_version":"0.9.0","repository_url":"https://github.com/heartcombo/has_scope"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"js-routes","old_version":"2.2.7","new_version":"2.3.5","repository_url":"https://github.com/railsware/js-routes"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies-minor group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rake](https://github.com/ruby/rake) | `13.2.1` | `13.3.1` |\n| [rails](https://github.com/rails/rails) | `7.1.5.2` | `7.1.6` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [bootsnap](https://github.com/Shopify/bootsnap) | `1.18.4` | `1.18.6` |\n| [test-unit](https://github.com/test-unit/test-unit) | `3.2.7` | `3.7.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.113.0` | `1.202.0` |\n| [json](https://github.com/ruby/json) | `2.12.2` | `2.15.2` |\n| [rack-attack](https://github.com/rack/rack-attack) | `6.5.0` | `6.8.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [dalli](https://github.com/petergoldstein/dalli) | `3.2.3` | `3.2.8` |\n| [carrierwave](https://github.com/carrierwaveuploader/carrierwave) | `3.1.1` | `3.1.2` |\n| [mini_magick](https://github.com/minimagick/minimagick) | `5.2.0` | `5.3.1` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.21.0` | `0.23.2` |\n| [devise-two-factor](https://github.com/tinfoil/devise-two-factor) | `6.1.0` | `6.2.0` |\n| [geocoder](https://github.com/alexreisner/geocoder) | `1.6.1` | `1.8.6` |\n| [table_print](https://github.com/arches/table_print) | `1.5.4` | `1.5.7` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [csv](https://github.com/ruby/csv) | `3.3.4` | `3.3.5` |\n| [maintenance_tasks](https://github.com/Shopify/maintenance_tasks) | `2.12.0` | `2.13.0` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [rails-autoscale-web](https://github.com/judoscale/judoscale-ruby) | `1.11.1` | `1.12.1` |\n| [lograge](https://github.com/roidrage/lograge) | `0.3.6` | `0.14.0` |\n| [recaptcha](https://github.com/ambethia/recaptcha) | `5.19.0` | `5.21.1` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.3` | `2.5.4` |\n| [barnes](https://github.com/heroku/barnes) | `0.0.8` | `0.0.9` |\n| [has_scope](https://github.com/heartcombo/has_scope) | `0.8.2` | `0.9.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [js-routes](https://github.com/railsware/js-routes) | `2.2.7` | `2.3.5` |\n\n\nUpdates `rake` from 13.2.1 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.2.1...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 7.1.5.2 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\"\u003erails'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/10a0f90fd21addbe480287116fe3e9fe7ff6bef4\"\u003e\u003ccode\u003e10a0f90\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/4df996b7a074737d882b61786160e82127789fff\"\u003e\u003ccode\u003e4df996b\u003c/code\u003e\u003c/a\u003e Sync changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/310c904351226378e0abbcf47a15c0d68e578883\"\u003e\u003ccode\u003e310c904\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55570\"\u003e#55570\u003c/a\u003e from zzak/8-0-sidekiq-issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c274de0b8b49d848f0a905477e7cd9e82838a46d\"\u003e\u003ccode\u003ec274de0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55747\"\u003e#55747\u003c/a\u003e from skipkayhil/hm-kwzpqqkssmwtsunu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1d82970391205443f7c2d84286448e385cadabba\"\u003e\u003ccode\u003e1d82970\u003c/code\u003e\u003c/a\u003e Add the Action Cable configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8323dd632c7ef03e95e82031117515654f9bde94\"\u003e\u003ccode\u003e8323dd6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54164\"\u003e#54164\u003c/a\u003e from zzak/asto-test-mini_magick-deprecation-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4eb8085a610235e6b44be342b2445ba6a1c6e733\"\u003e\u003ccode\u003e4eb8085\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/d100e466f68f42d841846781167a66966e0901a2\"\u003e\u003ccode\u003ed100e46\u003c/code\u003e\u003c/a\u003e Don't load action cable in the activestorage dummy app\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/91fc9b2cac7e2e0d101e9faece99f1d13d10b9a3\"\u003e\u003ccode\u003e91fc9b2\u003c/code\u003e\u003c/a\u003e Don't load sprockets-rails and propshaft in the same application\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v7.1.5.2...v7.1.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.13.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.4 to 1.18.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAttempt to detect a QEMU bug that can cause \u003ccode\u003ebootsnap precompile\u003c/code\u003e to hang forever when building ARM64 docker images\nfrom x86_64 machines. See \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/495\"\u003e#495\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove CLI to detect cgroup CPU limits and avoid spawning too many worker processes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/86efe7df5e3b19b0ba550206a9e03a5c6499d3b0\"\u003e\u003ccode\u003e86efe7d\u003c/code\u003e\u003c/a\u003e Release 1.18.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dc98453267575068a3aac65b8653382acd2f84a7\"\u003e\u003ccode\u003edc98453\u003c/code\u003e\u003c/a\u003e Fix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/11dbc37f60e6575795cd2295a2494a0bd5e488b3\"\u003e\u003ccode\u003e11dbc37\u003c/code\u003e\u003c/a\u003e Release 1.18.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dcd9327587f02f08e8313ff4fc163f04aaaab7e8\"\u003e\u003ccode\u003edcd9327\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/501\"\u003e#501\u003c/a\u003e from Shopify/improve-parallelism\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/abe4ec3aa9d80f2d8b7a3c7d03bf692d39044dce\"\u003e\u003ccode\u003eabe4ec3\u003c/code\u003e\u003c/a\u003e Bump bundler cache on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d603b704ab1b8f14ffe05ba6e7893aef4021fe3f\"\u003e\u003ccode\u003ed603b70\u003c/code\u003e\u003c/a\u003e Attempt to detect QEMU hangs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5e878001382765e0b291d19b9faa6c1dfd88ef84\"\u003e\u003ccode\u003e5e87800\u003c/code\u003e\u003c/a\u003e cli: improve automatic parallelism to respect cgroup limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/0dc269dbf05edad1022cb8e050f9a1e429369077\"\u003e\u003ccode\u003e0dc269d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/499\"\u003e#499\u003c/a\u003e from p8/docs/link-to-official-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5fb9098bd30e5f7bf86e33027c8993fe49b6a5e8\"\u003e\u003ccode\u003e5fb9098\u003c/code\u003e\u003c/a\u003e Link to official Ruby documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/252cf48f6fe56f7854bd1b6bcbc3b6692fc8f8f4\"\u003e\u003ccode\u003e252cf48\u003c/code\u003e\u003c/a\u003e Add config/ dir to precompile example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Shopify/bootsnap/compare/v1.18.4...v1.18.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-unit` from 3.2.7 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-unit/test-unit/releases\"\u003etest-unit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etest-unit 3.7.0 - 2025-07-06\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that \u003ccode\u003eTest::Unit::TestCase\u003c/code\u003e and \u003ccode\u003eTest::Unit::AutoRunner\u003c/code\u003e\naren't loaded when they are redefined by open class before referring\nto these constants.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/320\"\u003eGH-320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003eGH-321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReported by Mamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.9 - 2025-06-29\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edoc: test: Added one-line style to declare \u003ccode\u003eRactor\u003c/code\u003e test.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/261\"\u003eGH-261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003eGH-309\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsed \u003ccode\u003erequire_relative\u003c/code\u003e instead of \u003ccode\u003erequire\u003c/code\u003e for internal library\nfiles.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/311\"\u003eGH-311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003eGH-312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003eGH-313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003eGH-315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003e--version\u003c/code\u003e option.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003eGH-314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by MSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.8 - 2025-04-05\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etest-unit\u003c/code\u003e: Added. You can use this instead of creating a custom\ntest run script.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/288\"\u003eGH-288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/289\"\u003eGH-289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/291\"\u003eGH-291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggested by gemmaro\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated the \u0026quot;how to\u0026quot; document.\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/test-unit/test-unit/commit/c17d7eddc35db7e8bb6bf00954b0cc21a9a69bdc\"\u003e\u003ccode\u003ec17d7ed\u003c/code\u003e\u003c/a\u003e Add 3.7.0 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/84b93a0a8c6f54e8019d4f442dbfd7a1922c105f\"\u003e\u003ccode\u003e84b93a0\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/9335d99ad649771827df8b707578f16d8c863418\"\u003e\u003ccode\u003e9335d99\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/87891d8033f783fdbb3abfe628d4f259499f56b2\"\u003e\u003ccode\u003e87891d8\u003c/code\u003e\u003c/a\u003e Add 3.6.9 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/e837be2488d52e1290126ed9fee7f107a2ce8f6e\"\u003e\u003ccode\u003ee837be2\u003c/code\u003e\u003c/a\u003e test: use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003e#315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/df171bec2b32cee41c92af8471b447db0a29c909\"\u003e\u003ccode\u003edf171be\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--version\u003c/code\u003e cli option (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003e#314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/572b28afa0b387707dcb1229d2b96ba130f95f11\"\u003e\u003ccode\u003e572b28a\u003c/code\u003e\u003c/a\u003e Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/59146583a10c5b97bab54ccf5a6ce7448f67ac61\"\u003e\u003ccode\u003e5914658\u003c/code\u003e\u003c/a\u003e Use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/25ab959b81ce6bcd21c32c13bf972319a852718d\"\u003e\u003ccode\u003e25ab959\u003c/code\u003e\u003c/a\u003e doc: test: add \u003ccode\u003eractor def test_XXX\u003c/code\u003e style (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003e#309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/57454691c14d0f810e3a55d14577ad88727e8f3b\"\u003e\u003ccode\u003e5745469\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/308\"\u003e#308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-unit/test-unit/compare/3.2.7...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.113.0 to 1.202.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.202.0 (2025-10-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.201.0 (2025-10-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart upload to respect \u003ccode\u003erequest_checksum_calculation\u003c/code\u003e \u003ccode\u003ewhen_required\u003c/code\u003e mode.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.200.0 (2025-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add lightweight thread pool executor for multipart \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add custom executor support for \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.0 (2025-09-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release includes backward compatibility work on the \u0026quot;Expires\u0026quot; parameter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.198.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart \u003ccode\u003edownload_file\u003c/code\u003e to support \u003ccode\u003ePathname\u003c/code\u003e, \u003ccode\u003eFile\u003c/code\u003e and \u003ccode\u003eTempfile\u003c/code\u003e objects as download destinations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.197.0 (2025-08-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - When multipart stream uploader fails to complete multipart upload, it calls abort multipart upload.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - For \u003ccode\u003eAws::S3::Object\u003c/code\u003e class, the following methods have been deprecated: \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e. Use \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e, a S3 transfer utility that provides upload/download capabilities with automatic multipart handling, progress tracking, and handling of large files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.196.1 (2025-08-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Add range validation to multipart download to ensure all parts are successfully processed.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.12.2 to 2.15.2\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.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\u003ch2\u003ev2.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\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.0...v2.15.1\"\u003ehttps://github.com/ruby/json/compare/v2.15.0...v2.15.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\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.14.1...v2.15.0\"\u003ehttps://github.com/ruby/json/compare/v2.14.1...v2.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\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.14.0...v2.14.1\"\u003ehttps://github.com/ruby/json/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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-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\u003ch3\u003e2025-10-07 (2.15.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-22 (2.15.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003cli\u003eStop defining \u003ccode\u003eString.json_create\u003c/code\u003e, \u003ccode\u003eString#to_json_raw\u003c/code\u003e, \u003ccode\u003eString#to_json_raw_object\u003c/code\u003e when \u003ccode\u003ejson/add\u003c/code\u003e isn't loaded.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-28 (2.13.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove duplicate key warning and errors to include the key name and point to the right caller.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-24 (2.13.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix support for older compilers without \u003ccode\u003e__builtin_cpu_supports\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-17 (2.13.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e parsing options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\u003c/li\u003e\n\u003cli\u003eOptimize parsing further using SIMD to scan strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/5e61cd7dce7ce8748ee0753cd9ef415424abc248\"\u003e\u003ccode\u003e5e61cd7\u003c/code\u003e\u003c/a\u003e Release 2.15.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/30969be89aa5eada4e2c1411b1d2154d031d02c1\"\u003e\u003ccode\u003e30969be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/874\"\u003e#874\u003c/a\u003e from byroot/coder-reset-nesting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/aefa671eca2d514bfa685f385c5fa3e1a13305f4\"\u003e\u003ccode\u003eaefa671\u003c/code\u003e\u003c/a\u003e Fix concurrent usage of JSON::Coder#dump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/9e6067bb55d60d893fb95dafa777af880459c7c2\"\u003e\u003ccode\u003e9e6067b\u003c/code\u003e\u003c/a\u003e Release 2.15.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/1e19097a71bb12ede5a4683581298246f73b9242\"\u003e\u003ccode\u003e1e19097\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/json/issues/872\"\u003e#872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/1b1647fb2cecf848b5c2630782846875a707532e\"\u003e\u003ccode\u003e1b1647f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/eec466d999bb958ef28f1d614bcec277871cb67b\"\u003e\u003ccode\u003eeec466d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/871\"\u003e#871\u003c/a\u003e from tompng/fix_sliced_string_escape\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d7baf015d98c30a71597934508d6728d66752d6c\"\u003e\u003ccode\u003ed7baf01\u003c/code\u003e\u003c/a\u003e Fix sliced string escaping\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/d867e393bbbd2c50261e747296c1ceb232ad60bd\"\u003e\u003ccode\u003ed867e39\u003c/code\u003e\u003c/a\u003e Run jruby-head on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/ec858510effa1f5ed4c409854f2280c51f1d07bd\"\u003e\u003ccode\u003eec85851\u003c/code\u003e\u003c/a\u003e Fix a typo in the changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.12.2...v2.15.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack-attack` from 6.5.0 to 6.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/releases\"\u003erack-attack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\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/floehopper\"\u003e\u003ccode\u003e@​floehopper\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/618\"\u003erack/rack-attack#618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mttkay\"\u003e\u003ccode\u003e@​mttkay\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/622\"\u003erack/rack-attack#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/625\"\u003erack/rack-attack#625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/629\"\u003erack/rack-attack#629\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/654\"\u003erack/rack-attack#654\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fynsta\"\u003e\u003ccode\u003e@​fynsta\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/658\"\u003erack/rack-attack#658\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexsmartens\"\u003e\u003ccode\u003e@​alexsmartens\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/664\"\u003erack/rack-attack#664\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.7.0...v6.8.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/587\"\u003erack/rack-attack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/612\"\u003erack/rack-attack#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/586\"\u003erack/rack-attack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/614\"\u003erack/rack-attack#614\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/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md\"\u003erack-attack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.8.0] - 2025-10-14\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid RedisCacheStore#increment on Rails 6+ (which might improve performance) by \u003ca href=\"https://github.com/jdelStrother\"\u003e\u003ccode\u003e@​jdelStrother\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/588\"\u003e#588\u003c/a\u003e don't fail if request.ip is missing, by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/630\"\u003e#630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reset! when using namespaced cache store by \u003ca href=\"https://github.com/santib\"\u003e\u003ccode\u003e@​santib\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSoft deprecate integration with rack 1.x, may or may not work with it.\u003c/li\u003e\n\u003cli\u003eSoft deprecate integration with rails 5.2 or less, may or may not work with it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for unmaintained ActiveSupport::Cache::RedisStore, by \u003ca href=\"https://github.com/mitchellhenke\"\u003e\u003ccode\u003e@​mitchellhenke\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/625\"\u003e#625\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.7.0] - 2023-07-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/587\"\u003e#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.1] - 2022-04-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes deprecation warning in redis 4.6+ ([\u003ca href=\"https://github.com/ixti\"\u003e\u003ccode\u003e@​ixti\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2022-01-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbility to have access to the \u003ccode\u003erequest\u003c/code\u003e object instead of only \u003ccode\u003eenv\u003c/code\u003e (still can access env with \u003ccode\u003erequest.env\u003c/code\u003e) when\ncustomizing throttle and blocklist responses with new methods \u003ccode\u003eRack::Attack.blocklisted_responder=\u003c/code\u003e and\n\u003ccode\u003eRack::Attack.throttled_responder=\u003c/code\u003e which yield the request to your lambda. ([\u003ca href=\"https://github.com/NikolayRys\"\u003e\u003ccode\u003e@​NikolayRys\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.blocklisted_response=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.throttled_response=\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/rack/rack-attack/commit/65f1ead3bc648b1e972fd8df0078949f056699d9\"\u003e\u003ccode\u003e65f1ead\u003c/code\u003e\u003c/a\u003e Bumps gem version to v6.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e84eaf57cd1cc8541de260326df5d84070011b68\"\u003e\u003ccode\u003ee84eaf5\u003c/code\u003e\u003c/a\u003e Upgrade GHA Runners (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/694\"\u003e#694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/4606efbe5ec8dfef5ab824fd03797ed67396ecb7\"\u003e\u003ccode\u003e4606efb\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/40d83d1281694c13230a272026f6b291abe84dd0\"\u003e\u003ccode\u003e40d83d1\u003c/code\u003e\u003c/a\u003e Fix GHA Runner (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/692\"\u003e#692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/1dba6ec133e76e6496c8bc89822b52696d671d46\"\u003e\u003ccode\u003e1dba6ec\u003c/code\u003e\u003c/a\u003e Remove CodeClimate (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/467770882daa6f3865cc207c8b5dfdbc4028d7cb\"\u003e\u003ccode\u003e4677708\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to the CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/681\"\u003e#681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/87108769f8b4e847f12fbad76d0b6dc98e41bd89\"\u003e\u003ccode\u003e8710876\u003c/code\u003e\u003c/a\u003e Fix CI (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/86650c4f7ea1af24fe4a89d3040e1309ee8a88bc\"\u003e\u003ccode\u003e86650c4\u003c/code\u003e\u003c/a\u003e Fix reset! when using namespaced cache store (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/673\"\u003e#673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/8d5b210fcd5b864300e90f70ad12f7a25bd71c03\"\u003e\u003ccode\u003e8d5b210\u003c/code\u003e\u003c/a\u003e Fix wrong merge resolution (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/6db4a73253c78494ce0b9aed8d587bd989bccce4\"\u003e\u003ccode\u003e6db4a73\u003c/code\u003e\u003c/a\u003e Drop Dalli 2 support (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/679\"\u003e#679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.5.0...v6.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.5.9 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 [2025-09-02] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove several absolute paths from native binaries which pointed to build directories. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/668\"\u003e#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bad fallback path to \u003ccode\u003epg_service.conf\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/666\"\u003e#666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erbpg_\u003c/code\u003e prefix for \u003ccode\u003ebase64_*\u003c/code\u003e functions to avoid name clashes with functions provided by other libraries like Heimdal on Macos. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/667\"\u003e#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise a more descriptive error message in case of \u003ccode\u003epg_ext\u003c/code\u003e LoadError. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/664\"\u003e#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze some constants to make them available in a Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/660\"\u003e#660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral documentation improvements.\u003c/li\u003e\n\u003cli\u003eUpdate native binary gems to OpenSSL-3.5.2, krb5-1.22.1 and PostgreSQL-17.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.1 [2025-08-03] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for platforms \u003ccode\u003eaarch64-linux-musl\u003c/code\u003e and \u003ccode\u003ex86_64-linux-musl\u003c/code\u003e without the need to install package \u003ccode\u003egcompat\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/657\"\u003e#657\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSerialize CompositeCoder#dimensions only when set. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/652\"\u003e#652\u003c/a\u003e\nThis fixes the compatibility to pg-1.5.9, when deserializing Marshal data from pg-1.6, as long as the new attribute isn't used.\u003c/li\u003e\n\u003cli\u003eRemove dependency to MSYS2 package \u0026quot;postgresql\u0026quot; from binary Windows gem \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 [2025-07-27] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby 3.4.\u003c/li\u003e\n\u003cli\u003eAdd fat binary gem for platform \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e aka Windows on ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/626\"\u003e#626\u003c/a\u003e, for platform Macos on Intel and ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/643\"\u003e#643\u003c/a\u003e, for platform \u003ccode\u003eaarch64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/646\"\u003e#646\u003c/a\u003e and for platform \u003ccode\u003ex86_64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/551#issuecomment-2504715762\"\u003e#551\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.5.1 and PostgreSQL-17.5.\u003c/li\u003e\n\u003cli\u003eAdd a patch to libpq to avoid starvation on bigger SSL records, which some database engines other than vanilla PostgreSQL use.\nThis patch applies to platform specific binary gems only.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/616\"\u003e#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new query cancel functions of PostgreSQL-17.\nThis adds the new class \u003ccode\u003ePG::CancelConnection\u003c/code\u003e which provides the ability to cancel a query per blocking or per non-blocking functions.\nIf the new functions are available they are used and the older are no longer compiled in.\nThis way we can get rid of reading out the internal \u003ccode\u003ePGcancel\u003c/code\u003e struct by \u003ccode\u003eConnection#backend_key\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/603\"\u003e#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd possibility to define the number of array dimensions to be encoded.\nSetting dimensions is especially useful, when a Record shall be encoded into an Array, since the Array encoder can not distinguish if the array shall be encoded as a higher dimension or as a record otherwise.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/622\"\u003e#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#set_chunked_rows_mode \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/610\"\u003e#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/611\"\u003e#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MINGW package dependency which is resolved by RubyInstaller.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003econn.server_version\u003c/code\u003e and \u003ccode\u003econn.protocol_version\u003c/code\u003e to raise instead of return 0 on error.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/632\"\u003e#632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix connecting to multiple hosts after \u003ccode\u003econnnect_timeout\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/637\"\u003e#637\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/ged/ruby-pg/commit/c75ed8da19c356b52d83da2627295760780d3d36\"\u003e\u003ccode\u003ec75ed8d\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/90a00e51d296e8614ed6815589a26d971e9f444f\"\u003e\u003ccode\u003e90a00e5\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for pg-1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/c58434835ab6b077e757ef0c16e7b9dc1d1fccf6\"\u003e\u003ccode\u003ec584348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/670\"\u003e#670\u003c/a\u003e from larskanis/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/227653d235fe5ed4a8e03ea09854a6d298426ff3\"\u003e\u003ccode\u003e227653d\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/428415dd4ecb55882d2319d8b166fe73343853ba\"\u003e\u003ccode\u003e428415d\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 1.6.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/4282e5c729a98f66775611bd96c1848863b1d91f\"\u003e\u003ccode\u003e4282e5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/669\"\u003e#669\u003c/a\u003e from larskanis/test-rpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/19a35473b0ef7b4bf0d9caf7b62fb7fbbf7e168b\"\u003e\u003ccode\u003e19a3547\u003c/code\u003e\u003c/a\u003e Strip darwin C-ext to remove paths to C files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5e2ac6e14589f8698f127be080e94e93151552fc\"\u003e\u003ccode\u003e5e2ac6e\u003c/code\u003e\u003c/a\u003e Temporary enable head version of rake-compiler-dock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/70551b94eab64bcfd879d91382b216224d2394b5\"\u003e\u003ccode\u003e70551b9\u003c/code\u003e\u003c/a\u003e Add spec/pg_spec.rb to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/35b2704fc79aca22488251b1910d3b8e6be6f83e\"\u003e\u003ccode\u003e35b2704\u003c/code\u003e\u003c/a\u003e Add tests for rpath or other build related paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.5.9...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dalli` from 3.2.3 to 3.2.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md\"\u003edalli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.8\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle IO::TimeoutError when establishing connection (eugeneius)\u003c/li\u003e\n\u003cli\u003eDrop dependency on base64 gem (Earlopain)\u003c/li\u003e\n\u003cli\u003eAddress incompatibility with resolv-replace (y9v)\u003c/li\u003e\n\u003cli\u003eAdd rubygems.org metadata (m-nakamura145)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cascading error when there's an underlying network error in a pipelined get (eugeneius)\u003c/li\u003e\n\u003cli\u003eRuby 3.4/head compatibility by adding base64 to gemspec (tagliala)\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI (m-nakamura145)\u003c/li\u003e\n\u003cli\u003eUse Socket's connect_timeout when available, and pass timeout to the socket's send and receive timeouts (mlarraz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRescue IO::TimeoutError raised by Ruby since 3.2.0 on blocking reads/writes (skaes)\u003c/li\u003e\n\u003cli\u003eFix rubydoc link (JuanitoFatas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle memcached requests being interrupted by Thread#raise or Thread#kill (byroot)\u003c/li\u003e\n\u003cli\u003eUnexpected errors are no longer treated as \u003ccode\u003eDalli::NetworkError\u003c/code\u003e, including errors raised by \u003ccode\u003eTimeout.timeout\u003c/code\u003e (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eCache PID calls for performance since glibc no longer caches in recent versions (byroot)\u003c/li\u003e\n\u003cli\u003ePreallocate the read buffer in Socket#readfull (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/67942b8db6ba8ae9c39e30d9c0c63fb1525586b3\"\u003e\u003ccode\u003e67942b8\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.8 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/995\"\u003e#995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/23bc51f712314a5b8179c94ed59ba1545139c99e\"\u003e\u003ccode\u003e23bc51f\u003c/code\u003e\u003c/a\u003e Handle IO::TimeoutError when establishing connection (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4baeb3431edb46b5a1d0449432802dc214bb1a67\"\u003e\u003ccode\u003e4baeb34\u003c/code\u003e\u003c/a\u003e Bump the tested memcached version to 1.6.23 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/d5ad58f939af7ef765412f3820aace7399b68753\"\u003e\u003ccode\u003ed5ad58f\u003c/code\u003e\u003c/a\u003e Move check whether TCPSocket was patched to TCP.open (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/bec0440a9c4c040d2f564256abddd7e6a6604123\"\u003e\u003ccode\u003ebec0440\u003c/code\u003e\u003c/a\u003e Fix conflict with resolv-replace gem (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c5aea2200388c530b457485c96d22098e67e17d5\"\u003e\u003ccode\u003ec5aea22\u003c/code\u003e\u003c/a\u003e Add metadata for rubygems.org (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c409a07dc960b11595b329b6245b12b7be6d2dd7\"\u003e\u003ccode\u003ec409a07\u003c/code\u003e\u003c/a\u003e Drop dependency on base64 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4c4a5a2354707604456f6f1bf08d020f1909b49e\"\u003e\u003ccode\u003e4c4a5a2\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.7 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/fa641192072fd3852053f01e65853af95bc0b8d0\"\u003e\u003ccode\u003efa64119\u003c/code\u003e\u003c/a\u003e Don't reconnect to send pipelined request no-op (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/22dd9ce54dfe497c69244e7aa5fe2ba6ad4ac327\"\u003e\u003ccode\u003e22dd9ce\u003c/code\u003e\u003c/a\u003e Fix a test lint (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petergoldstein/dalli/compare/v3.2.3...v3.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `carrierwave` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/releases\"\u003ecarrierwave's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/blob/master/CHANGELOG.md\"\u003ecarrierwave's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2 - 2025-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/commit/8e5db8cb0b01b1d06b95d46fedf2e0c2a445a0e9\"\u003e\u003ccode\u003e8e5db8c\u003c/code\u003e\u003c/a\u003e Version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e\u003ccode\u003e7b2ce50\u003c/code\u003e\u003c/a\u003e Fix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, `##...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/9001ab7478dae07f99ef9a686d6d42e118a66336\"\u003e\u003ccode\u003e9001ab7\u003c/code\u003e\u003c/a\u003e Fix specs breaking with MiniMagick 5.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/compare/v3.1.1...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mini_magick` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minimagick/minimagick/releases\"\u003emini_magick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eMiniMagick.cli_prefix\u003c/code\u003e being mutated when set to an array.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eActually require Ruby 2.5+ in the gemspec.\u003c/li\u003e\n\u003cli\u003eFix Ruby 2.5 compatibility when using \u003ccode\u003eMiniMagick.restricted_env\u003c/code\u003e configuration.\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ebenchmark\u003c/code\u003e dependency.\u003c/li\u003e\n\u003cli\u003eFix keyword argument forwarding when trying to call \u003ccode\u003eMiniMagick.compare(errors: false)\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/minimagick/minimagick/commit/ddcbfe9632667876be10373e1e01252617e74057\"\u003e\u003ccode\u003eddcbfe9\u003c/code\u003e\u003c/a\u003e Bump to 5.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed5897b54fbfd0fc21b04187e78915f4f5e3acc3\"\u003e\u003ccode\u003eed5897b\u003c/code\u003e\u003c/a\u003e Simplify spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/862ffbbb4435a9363b179397ba02d4be1d1c7751\"\u003e\u003ccode\u003e862ffbb\u003c/code\u003e\u003c/a\u003e Fix configured cli_prefix being muated (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c53b8bb72b9885117d54e375bf33b6ec5641271a\"\u003e\u003ccode\u003ec53b8bb\u003c/code\u003e\u003c/a\u003e Bump to 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/eda3dde138f37ca4ef2de75b0abeda31ee915d2b\"\u003e\u003ccode\u003eeda3dde\u003c/code\u003e\u003c/a\u003e Bump ruby 2.5+ requirement in the gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed928b18107793cd144a681180f9c79e59d6b8cd\"\u003e\u003ccode\u003eed928b1\u003c/code\u003e\u003c/a\u003e Add spec for the keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/6de850ace3bb7a9d64f6d1d5804c4cad7ac5b3b2\"\u003e\u003ccode\u003e6de850a\u003c/code\u003e\u003c/a\u003e Try using ENV.to_h for compatibility with Ruby 2.5 (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c1b2e2c054210fcad2e8e26ce2e70ac76acddd27\"\u003e\u003ccode\u003ec1b2e2c\u003c/code\u003e\u003c/a\u003e Fix option forwarding in MiniMagick::Tool.new (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/dfd3de02c4482679cf7f0993dc368cbba413e7da\"\u003e\u003ccode\u003edfd3de0\u003c/code\u003e\u003c/a\u003e Fix typo in README: change tmdir to tmpdir in configuration example (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/23239db1263f96b1b96f62c67250afe16507b2ac\"\u003e\u003ccode\u003e23239db\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ebenchmark\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minimagick/minimagick/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.21.0 to 0.23.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.23.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd changelog_uri metadata to gemspec by \u003ca href=\"https://github.com/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix multipart with files in binary mode and fields including non-ASCII characters by \u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\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/baraidrissa\"\u003e\u003ccode\u003e@​baraidrissa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/817\"\u003ejnunemaker/httparty#817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rdimartino\"\u003e\u003ccode\u003e@​rdimartino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/822\"\u003ejnunemaker/httparty#822\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.1...v0.23.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd foul option to class level \u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003ehttps://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew: foul mode to rescue all common network errors:  \u003ca href=\"https://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\"\u003ehttps://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: replace master branch to main for better view by \u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\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/ashishra0\"\u003e\u003ccode\u003e@​ashishra0\u003c/code\u003e\u003c/a\u003e made their first contribution with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\"\u003ehttps://github.com/jnunemaker/httparty/compare...\n\n_Description has been truncated_","html_url":"https://github.com/CommitChange/houdini/pull/1303","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommitChange%2Fhoudini/issues/1303","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1303/packages"}},{"old_version":"0.4.1","new_version":"1.0.1","update_type":"major","path":null,"pr_created_at":"2025-10-07T19:58:33.000Z","version_change":"0.4.1 → 1.0.1","issue":{"uuid":"2895192376","node_id":"PR_kwDOAkXAEM6skSE4","number":18,"state":"open","title":"Bump the bundler group across 1 directory with 7 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-07T19:58:33.000Z","updated_at":"2025-10-07T19:58:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":7,"packages":[{"name":"nokogiri","old_version":"1.8.1","new_version":"1.18.9","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"globalid","old_version":"0.4.1","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"loofah","old_version":"2.1.1","new_version":"2.24.1"},{"name":"rack","old_version":"2.2.2","new_version":"2.2.19"},{"name":"rails-html-sanitizer","old_version":"1.0.3","new_version":"1.6.2"},{"name":"request_store","old_version":"1.3.2","new_version":"1.4.0","repository_url":"https://github.com/steveklabnik/request_store"},{"name":"tzinfo","old_version":"1.2.4","new_version":"1.2.11"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 3 updates in the /def directory: [nokogiri](https://github.com/sparklemotion/nokogiri), [globalid](https://github.com/rails/globalid) and [request_store](https://github.com/steveklabnik/request_store).\n\nUpdates `nokogiri` from 1.8.1 to 1.18.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e  nokogiri-1.18.8-aarch64-linux-gnu.gem\n664e0f9a77a7122a66d6c03abba7641ca610769a4728db55ee1706a0838b78a2  nokogiri-1.18.8-aarch64-linux-musl.gem\n483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212  nokogiri-1.18.8-arm64-darwin.gem\n17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e  nokogiri-1.18.8-arm-linux-gnu.gem\n6e6d7e71fc39572bd613a82d528cf54392c3de1ba5ce974f05c832b8187a040b  nokogiri-1.18.8-arm-linux-musl.gem\n8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365  nokogiri-1.18.8.gem\n41002596960ff854198a20aaeb34cff0d445406d5ad85ba7ca9c3fd0c8f03de0  nokogiri-1.18.8-java.gem\n11ab0f76772c5f2d718fb253fca5b74c6ef7628b72bbf8deba6ab1ffc93344cf  nokogiri-1.18.8-x64-mingw-ucrt.gem\n024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c  nokogiri-1.18.8-x86_64-darwin.gem\n4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc  nokogiri-1.18.8-x86_64-linux-gnu.gem\nddd735fba49475a395b9ea793bb6474e3a3125b89960339604d08a5397de1165  nokogiri-1.18.8-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.3 / 2025-02-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6\"\u003ev2.13.6\u003c/a\u003e to address CVE-2025-24928 and CVE-2024-56171. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-vvfq-8hwr-qm4m\"\u003eGHSA-vvfq-8hwr-qm4m\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.2 / 2024-01-19\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/sparklemotion/nokogiri/commit/1dcd8ce30365ebd4620a3b823bf806b127eeefc3\"\u003e\u003ccode\u003e1dcd8ce\u003c/code\u003e\u003c/a\u003e version bump to v1.18.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/a05d2b44b930072af70dad12bddbac67f36c6f90\"\u003e\u003ccode\u003ea05d2b4\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3526\"\u003e#3526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/947a55e87edff3c6d76ffd81f07da728e67c9b82\"\u003e\u003ccode\u003e947a55e\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9187f4af0dc3cc7ea439bd4957a2fbfab18f6665\"\u003e\u003ccode\u003e9187f4a\u003c/code\u003e\u003c/a\u003e version bump to v1.18.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1deea041e3f359ccef67abadf19f0d634bf473dd\"\u003e\u003ccode\u003e1deea04\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8 (branch \u003ccode\u003ev1.18.x\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3509\"\u003e#3509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6457fe639359edda9f8817994bc4935abae3e81e\"\u003e\u003ccode\u003e6457fe6\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/13e8aa4ef52f39d1273d2435bd6bfa98982471ef\"\u003e\u003ccode\u003e13e8aa4\u003c/code\u003e\u003c/a\u003e version bump to v1.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/605699d271ee5d7f58ab29c4550fad42b9cc3d69\"\u003e\u003ccode\u003e605699d\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7 (v1.18.x backport) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/804e59038c4318ebe7ba0dc08105cff2030df415\"\u003e\u003ccode\u003e804e590\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/52bf15b62d4e576292e21ac948030783333f9e0b\"\u003e\u003ccode\u003e52bf15b\u003c/code\u003e\u003c/a\u003e dep(dev): drop Rubocop from JRuby deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.8.1...v1.18.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 0.4.1 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\u003c/p\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003cp\u003eStable API release.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eThe code is the same as the 0.6.0 release.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eActiveRecord::FixtureSet.signed_global_id\u003c/code\u003e helper to generate signed ids inside fixtures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd back Ruby 2.5 support so \u003ccode\u003egem install rails\u003c/code\u003e works out of the box, thereby satisfying Rails' Ruby version requirement. See \u003ca href=\"https://redirect.github.com/rails/rails/issues/42931\"\u003erails/rails#42931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Allow expiration to be turned off globally \u003ca href=\"https://redirect.github.com/rails/globalid/pull/128\"\u003erails/globalid#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed: Support for ruby-head \u003ca href=\"https://redirect.github.com/rails/globalid/pull/132\"\u003erails/globalid#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMaintainance: Drop support for EOL'ed Rubies (\u0026lt; 2.6.0) and Rails 4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.4.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow configuration in initialisers \u003ca href=\"https://github.com/rails/globalid/commit/3c8f9090f49706769b7d4a07f9c50239e1cfbb01\"\u003ehttps://github.com/rails/globalid/commit/3c8f9090f49706769b7d4a07f9c50239e1cfbb01\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/rails/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42f5ea6b4c638024c8865c1e4a4dbeb991198557\"\u003e\u003ccode\u003e42f5ea6\u003c/code\u003e\u003c/a\u003e Prepare for 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/beab3e4bc7d3fe1af27367de6c90b4d31618ed44\"\u003e\u003ccode\u003ebeab3e4\u003c/code\u003e\u003c/a\u003e Prepare to 0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/29e12cb85d3432872985ad7cef20316ca80f5b2f\"\u003e\u003ccode\u003e29e12cb\u003c/code\u003e\u003c/a\u003e Upgrade all development gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c894a430d42b4f6351903bcff30f7e52bf95b364\"\u003e\u003ccode\u003ec894a43\u003c/code\u003e\u003c/a\u003e Add devcontainer to allow contributors to have a working environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b3ec8b9314555dede5b865ea7ad30c421bddbaea\"\u003e\u003ccode\u003eb3ec8b9\u003c/code\u003e\u003c/a\u003e Move ActiveRecord::FixtureSet.signed_global_id to this gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/e9d6ed993c88558cc4901e084304dee140704c4b\"\u003e\u003ccode\u003ee9d6ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/137\"\u003e#137\u003c/a\u003e from rails/dependabot/bundler/nokogiri-1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a565d31d602cb32b32c02bcbb36d91bcf2b0c735\"\u003e\u003ccode\u003ea565d31\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.11.7 to 1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9b1a4d21fed3c22cf9df0986ad087d1dadc42b4b\"\u003e\u003ccode\u003e9b1a4d2\u003c/code\u003e\u003c/a\u003e Why u no love me?\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v0.4.1...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `loofah` from 2.1.1 to 2.24.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/flavorjones/loofah/releases\"\u003eloofah's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.24.1 / 2025-05-12\u003c/h2\u003e\n\u003ch3\u003eRuby support\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImport only what's needed from \u003ccode\u003ecgi\u003c/code\u003e for support for Ruby 3.5 \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/296\"\u003e#296\u003c/a\u003e \u003ca href=\"https://github.com/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.24.0 / 2024-12-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:double_breakpoint\u003c/code\u003e which sees \u003ccode\u003e\u0026lt;br\u0026gt;\u0026lt;br\u0026gt;\u003c/code\u003e and wraps the surrounding content in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/279\"\u003e#279\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/284\"\u003e#284\u003c/a\u003e \u003ca href=\"https://github.com/josecolella\"\u003e\u003ccode\u003e@​josecolella\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/torihuang\"\u003e\u003ccode\u003e@​torihuang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImproved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:targetblank\u003c/code\u003e now skips \u003ccode\u003ea\u003c/code\u003e tags whose \u003ccode\u003ehref\u003c/code\u003e attribute is an anchor link. Previously, all \u003ccode\u003ea\u003c/code\u003e tags were modified to have \u003ccode\u003etarget='_blank'\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/291\"\u003e#291\u003c/a\u003e \u003ca href=\"https://github.com/fnando\"\u003e\u003ccode\u003e@​fnando\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew Contributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andrew\"\u003e\u003ccode\u003e@​andrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/289\"\u003eflavorjones/loofah#289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fnando\"\u003e\u003ccode\u003e@​fnando\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/291\"\u003eflavorjones/loofah#291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/josecolella\"\u003e\u003ccode\u003e@​josecolella\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/torihuang\"\u003e\u003ccode\u003e@​torihuang\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/284\"\u003eflavorjones/loofah#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.23.1...v2.24.0\"\u003ehttps://github.com/flavorjones/loofah/compare/v2.23.1...v2.24.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.23.1 / 2024-10-25\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS properties \u003ccode\u003emin-height\u003c/code\u003e and \u003ccode\u003emax-height\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/288\"\u003e#288\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.23.0...v2.23.1\"\u003ehttps://github.com/flavorjones/loofah/compare/v2.23.0...v2.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.23.0 / 2024-10-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS property \u003ccode\u003emin-width\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/287\"\u003e#287\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\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/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/280\"\u003eflavorjones/loofah#280\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/flavorjones/loofah/pull/287\"\u003eflavorjones/loofah#287\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.22.0...v2.23.0\"\u003ehttps://github.com/flavorjones/loofah/compare/v2.22.0...v2.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.22.0 / 2023-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003e:targetblank\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003etarget=\u0026quot;_blank\u0026quot;\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/275\"\u003e#275\u003c/a\u003e \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003e:noreferrer\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003erel=noreferrer\u003c/code\u003e, similar to the \u003ccode\u003e:nofollow\u003c/code\u003e and \u003ccode\u003e:noopener\u003c/code\u003e scrubbers. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/277\"\u003e#277\u003c/a\u003e \u003ca href=\"https://github.com/wynksaiddestroy\"\u003e\u003ccode\u003e@​wynksaiddestroy\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/flavorjones/loofah/blob/main/CHANGELOG.md\"\u003eloofah's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.24.1 / 2025-05-12\u003c/h2\u003e\n\u003ch3\u003eRuby support\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImport only what's needed from \u003ccode\u003ecgi\u003c/code\u003e for support for Ruby 3.5 \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/296\"\u003e#296\u003c/a\u003e \u003ca href=\"https://github.com/Earlopain\"\u003e\u003ccode\u003e@​Earlopain\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.24.0 / 2024-12-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:double_breakpoint\u003c/code\u003e which sees \u003ccode\u003e\u0026lt;br\u0026gt;\u0026lt;br\u0026gt;\u003c/code\u003e and wraps the surrounding content in \u003ccode\u003e\u0026lt;p\u0026gt;\u003c/code\u003e tags. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/279\"\u003e#279\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/284\"\u003e#284\u003c/a\u003e \u003ca href=\"https://github.com/josecolella\"\u003e\u003ccode\u003e@​josecolella\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/torihuang\"\u003e\u003ccode\u003e@​torihuang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImproved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuilt-in scrubber \u003ccode\u003e:targetblank\u003c/code\u003e now skips \u003ccode\u003ea\u003c/code\u003e tags whose \u003ccode\u003ehref\u003c/code\u003e attribute is an anchor link. Previously, all \u003ccode\u003ea\u003c/code\u003e tags were modified to have \u003ccode\u003etarget='_blank'\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/291\"\u003e#291\u003c/a\u003e \u003ca href=\"https://github.com/fnando\"\u003e\u003ccode\u003e@​fnando\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.23.1 / 2024-10-25\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS properties \u003ccode\u003emin-height\u003c/code\u003e and \u003ccode\u003emax-height\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/288\"\u003e#288\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.23.0 / 2024-10-24\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow CSS property \u003ccode\u003emin-width\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/287\"\u003e#287\u003c/a\u003e \u003ca href=\"https://github.com/lazyatom\"\u003e\u003ccode\u003e@​lazyatom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.22.0 / 2023-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003e:targetblank\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003etarget=\u0026quot;_blank\u0026quot;\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/275\"\u003e#275\u003c/a\u003e \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003e:noreferrer\u003c/code\u003e HTML scrubber which ensures all hyperlinks have \u003ccode\u003erel=noreferrer\u003c/code\u003e, similar to the \u003ccode\u003e:nofollow\u003c/code\u003e and \u003ccode\u003e:noopener\u003c/code\u003e scrubbers. \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/277\"\u003e#277\u003c/a\u003e \u003ca href=\"https://github.com/wynksaiddestroy\"\u003e\u003ccode\u003e@​wynksaiddestroy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.21.4 / 2023-10-10\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eLoofah::HTML5::Scrub.scrub_css\u003c/code\u003e is more consistent in preserving whitespace (and lack of whitespace) in CSS property values. In particular, \u003ccode\u003e.scrub_css\u003c/code\u003e no longer inserts whitespace between tokens that did not already have whitespace between them. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/273\"\u003e#273\u003c/a\u003e, fixes \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/271\"\u003e#271\u003c/a\u003e]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.21.3 / 2023-05-15\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/6cadc8adf635d790faba337ffc8086ad0da4689e\"\u003e\u003ccode\u003e6cadc8a\u003c/code\u003e\u003c/a\u003e version bump to v2.24.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/6970d9bc552b8e1b8e106329c7645104d24583c0\"\u003e\u003ccode\u003e6970d9b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/297\"\u003e#297\u003c/a\u003e from flavorjones/flavorjones/ci-matrix-202505\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/e906a7479838b9386c93ab8c2fc7f7830539a69d\"\u003e\u003ccode\u003ee906a74\u003c/code\u003e\u003c/a\u003e ci: add jruby 10 and jruby head, bump ruby versions for jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/4f3f606194fb4989a13c9c46a24ce70ab06a52d4\"\u003e\u003ccode\u003e4f3f606\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/296\"\u003e#296\u003c/a\u003e from Earlopain/cgi-ruby-3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/7094f04cdffacbb669b9e10be2dec3d3ad9604b8\"\u003e\u003ccode\u003e7094f04\u003c/code\u003e\u003c/a\u003e Only load what is required from \u003ccode\u003ecgi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/85990602c6fdb40489138e80080ca508200c7137\"\u003e\u003ccode\u003e8599060\u003c/code\u003e\u003c/a\u003e version bump to v2.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/2abdafced59d55313bec02dc82c847e368936c76\"\u003e\u003ccode\u003e2abdafc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/284\"\u003e#284\u003c/a\u003e from josecolella/jc-th-add-breakpoint-scrubber\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/4d94183d64b947d3dccbaea0c6074b6402e857a6\"\u003e\u003ccode\u003e4d94183\u003c/code\u003e\u003c/a\u003e Drop newlines from the double-breakpoint test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/4b339a5580e745bc33b51f41f6963068960fa51d\"\u003e\u003ccode\u003e4b339a5\u003c/code\u003e\u003c/a\u003e docs: Update documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/9da4c19611f4eb96326cedbdc0300ea1b705c3d7\"\u003e\u003ccode\u003e9da4c19\u003c/code\u003e\u003c/a\u003e feat: Add implementation for method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.1.1...v2.24.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.2 to 2.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v\"\u003eCVE-2025-27610\u003c/a\u003e Local file inclusion in \u003ccode\u003eRack::Static\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.12] - 2025-03-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v\"\u003eCVE-2025-27111\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::Sendfile\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.11] - 2025-02-12\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/493a4119ea010a7ac3dbc0ff579fc8af42e24ba4\"\u003e\u003ccode\u003e493a411\u003c/code\u003e\u003c/a\u003e Fix thin integration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71\"\u003e\u003ccode\u003e54e4ffd\u003c/code\u003e\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9163ac3f5fac795179f9935e2ba6533a0ca1cf82\"\u003e\u003ccode\u003e9163ac3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/8e52d2a3769e83fc698784b06c82703ba40448e7\"\u003e\u003ccode\u003e8e52d2a\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/rack/rack/issues/2263\"\u003e#2263\u003c/a\u003e to v2.2, fix: malformed charset param (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2338\"\u003e#2338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2a32ecaaa8460a9af9963ee46ba04afbd1b47220\"\u003e\u003ccode\u003e2a32eca\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/034a13c80dc639c8a4e794f425e5e9e17ede856b\"\u003e\u003ccode\u003e034a13c\u003c/code\u003e\u003c/a\u003e Change CGI::Cookie.new to Cookie.new (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2335\"\u003e#2335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.2...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails-html-sanitizer` from 1.0.3 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/releases\"\u003erails-html-sanitizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 / 2024-12-12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ePermitScrubber\u003c/code\u003e fully supports frozen \u0026quot;allowed tags\u0026quot;.\u003c/p\u003e\n\u003cp\u003ev1.6.1 introduced safety checks that may remove unsafe tags from the allowed list, which\nintroduced a regression for applications passing a frozen array of allowed tags. Tags and\nattributes are now properly copied when they are passed to the scrubber.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/195\"\u003e#195\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1 / 2024-12-02\u003c/h2\u003e\n\u003cp\u003eThis is a performance and security release which addresses several possible XSS vulnerabilities.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe dependency on Nokogiri is updated to v1.15.7 or \u0026gt;=1.16.8.\u003c/p\u003e\n\u003cp\u003eThis change addresses CVE-2024-53985 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-w8gc-x259-rc7x\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-w8gc-x259-rc7x\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisallowed tags will be pruned when they appear in foreign content (i.e. SVG or MathML content),\nregardless of the \u003ccode\u003eprune:\u003c/code\u003e option value. Previously, disallowed tags were \u0026quot;stripped\u0026quot; unless the\ngem was configured with the \u003ccode\u003eprune: true\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53986 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-638j-pmjw-jq48\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-638j-pmjw-jq48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53987 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-2x5m-9ch4-qgrr\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-2x5m-9ch4-qgrr\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe tags \u0026quot;noscript\u0026quot;, \u0026quot;mglyph\u0026quot;, and \u0026quot;malignmark\u0026quot; will not be allowed, even if explicitly added to\nthe allowlist. If applications try to allow any of these tags, a warning is emitted and the tags\nare removed from the allow-list.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53988 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-cfjx-w229-hgx5\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-cfjx-w229-hgx5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53989 (\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g\"\u003ehttps://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rxv5-gxqc-xx8g\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease note that we \u003cem\u003emay\u003c/em\u003e restore support for allowing \u0026quot;noscript\u0026quot; in a future release. We do not\nexpect to ever allow \u0026quot;mglyph\u0026quot; or \u0026quot;malignmark\u0026quot;, though, especially since browser support is minimal\nfor these tags.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md\"\u003erails-html-sanitizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 / 2024-12-12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003ePermitScrubber\u003c/code\u003e fully supports frozen \u0026quot;allowed tags\u0026quot;.\u003c/p\u003e\n\u003cp\u003ev1.6.1 introduced safety checks that may remove unsafe tags from the allowed list, which\nintroduced a regression for applications passing a frozen array of allowed tags. Tags and\nattributes are now properly copied when they are passed to the scrubber.\u003c/p\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/195\"\u003e#195\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.6.1 / 2024-12-02\u003c/h2\u003e\n\u003cp\u003eThis is a performance and security release which addresses several possible XSS vulnerabilities.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe dependency on Nokogiri is updated to v1.15.7 or \u0026gt;=1.16.8.\u003c/p\u003e\n\u003cp\u003eThis change addresses CVE-2024-53985 (GHSA-w8gc-x259-rc7x).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDisallowed tags will be pruned when they appear in foreign content (i.e. SVG or MathML content),\nregardless of the \u003ccode\u003eprune:\u003c/code\u003e option value. Previously, disallowed tags were \u0026quot;stripped\u0026quot; unless the\ngem was configured with the \u003ccode\u003eprune: true\u003c/code\u003e option.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53986 (GHSA-638j-pmjw-jq48)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53987 (GHSA-2x5m-9ch4-qgrr)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe tags \u0026quot;noscript\u0026quot;, \u0026quot;mglyph\u0026quot;, and \u0026quot;malignmark\u0026quot; will not be allowed, even if explicitly added to\nthe allowlist. If applications try to allow any of these tags, a warning is emitted and the tags\nare removed from the allow-list.\u003c/p\u003e\n\u003cp\u003eThe CVEs addressed by this change are:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-53988 (GHSA-cfjx-w229-hgx5)\u003c/li\u003e\n\u003cli\u003eCVE-2024-53989 (GHSA-rxv5-gxqc-xx8g)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease note that we \u003cem\u003emay\u003c/em\u003e restore support for allowing \u0026quot;noscript\u0026quot; in a future release. We do not\nexpect to ever allow \u0026quot;mglyph\u0026quot; or \u0026quot;malignmark\u0026quot;, though, especially since browser support is minimal\nfor these tags.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove performance by eliminating needless operations on attributes that are being removed. \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/188\"\u003e#188\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/9160d49020b57828ea536ffedc9cac8fef98ee59\"\u003e\u003ccode\u003e9160d49\u003c/code\u003e\u003c/a\u003e version bump to v1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/5843d4dd272408ad8b131d33ca3d4cc512012f10\"\u003e\u003ccode\u003e5843d4d\u003c/code\u003e\u003c/a\u003e fix: PermitScrubber accepts frozen tags\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/5e96b19bbb934284e675109851bd82429622bb6e\"\u003e\u003ccode\u003e5e96b19\u003c/code\u003e\u003c/a\u003e version bump to v1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/383cc7c17f5a6aafed79adff1c419da31a414878\"\u003e\u003ccode\u003e383cc7c\u003c/code\u003e\u003c/a\u003e doc: update CHANGELOG with assigned CVEs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/a7b0cfe103ff5d8b17d77fb3660589522dd6bcad\"\u003e\u003ccode\u003ea7b0cfe\u003c/code\u003e\u003c/a\u003e Combine the noscript/mglyph prevention blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/5658335ede931a47d02b8aa4d3b5800bd3184158\"\u003e\u003ccode\u003e5658335\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2509647-noscript' into flavorjones-2024-security-fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/65fb72f07e875b401bbec479c2a5a3d3b10ad338\"\u003e\u003ccode\u003e65fb72f\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2519936-mglyph-foster-parenting' into flavorjones-2024-secur...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3fe22a8b892361c8463f50f4f4a5d08e299c62a2\"\u003e\u003ccode\u003e3fe22a8\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2519936-foreign-ns-confusion' into flavorjones-2024-security...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/d7a94c125209a9611308fbfdb7420a8786d7e80f\"\u003e\u003ccode\u003ed7a94c1\u003c/code\u003e\u003c/a\u003e Merge branch 'h1-2503220-nokogiri-serialization' into flavorjones-2024-securi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3fd6e650f991ce687961da45038b77504114d237\"\u003e\u003ccode\u003e3fd6e65\u003c/code\u003e\u003c/a\u003e doc: update CHANGELOG\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails-html-sanitizer/compare/v1.0.3...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `request_store` from 1.3.2 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/6a0f3c97cd122d49ef4d30ea9aeb6a10db0fded9\"\u003e\u003ccode\u003e6a0f3c9\u003c/code\u003e\u003c/a\u003e Bump to 1.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/44e2c6aa9bb12a40593b788bc188e9e956c71da8\"\u003e\u003ccode\u003e44e2c6a\u003c/code\u003e\u003c/a\u003e clean up readme formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/28c000a9cb9cbd9c9fed44b269a1ac6f721fcd0e\"\u003e\u003ccode\u003e28c000a\u003c/code\u003e\u003c/a\u003e fix travis by forgetting about rbx2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/a2e081fbc56caff6e9ca9ff2db9e9e6394c28a03\"\u003e\u003ccode\u003ea2e081f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/steveklabnik/request_store/issues/52\"\u003e#52\u003c/a\u003e from aasmith/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/9fd2fccd0e53cc3926a0605e44a9a421ee260e36\"\u003e\u003ccode\u003e9fd2fcc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/steveklabnik/request_store/issues/54\"\u003e#54\u003c/a\u003e from madebylotus/feature/update-readme-with-info-on-si...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/9ba87b88bc823060ad1cfddb25e21a5870c8a675\"\u003e\u003ccode\u003e9ba87b8\u003c/code\u003e\u003c/a\u003e Adds mention of using RequestStore with Sidekiq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/0fa2c76f66616ee472c2c4da9cf87582a6f01a54\"\u003e\u003ccode\u003e0fa2c76\u003c/code\u003e\u003c/a\u003e Support Ruby 1.8.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/05dd59dedfc1fa791c10293548a92d74c2bc2dea\"\u003e\u003ccode\u003e05dd59d\u003c/code\u003e\u003c/a\u003e Ensure the request store is active during a streamed response.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/steveklabnik/request_store/commit/11032501db55547bc415de2df63716868f6c1ca5\"\u003e\u003ccode\u003e1103250\u003c/code\u003e\u003c/a\u003e Clear the request store on teardown between tests.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/steveklabnik/request_store/compare/v1.3.2...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tzinfo` from 1.2.4 to 1.2.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tzinfo/tzinfo/releases\"\u003etzinfo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEliminate \u003ccode\u003eObject#untaint\u003c/code\u003e deprecation warnings on JRuby 9.4.0.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/145\"\u003e#145\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.11\"\u003eTZInfo v1.2.11 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a relative path traversal bug that could cause arbitrary files to be loaded with require when used with \u003ccode\u003eRubyDataSource\u003c/code\u003e. Please refer to\n\u003ca href=\"https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\"\u003ehttps://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\u003c/a\u003e for details. CVE-2022-31163.\u003c/li\u003e\n\u003cli\u003eIgnore the SECURITY file from Arch Linux's tzdata package. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/134\"\u003e#134\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.10\"\u003eTZInfo v1.2.10 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an incorrect \u003ccode\u003eInvalidTimezoneIdentifier\u003c/code\u003e exception raised when loading a zoneinfo file that includes rules specifying an additional transition to the final defined offset (for example, Africa/Casablanca in version 2018e of the Time Zone Database). \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/123\"\u003e#123\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.9\"\u003eTZInfo v1.2.9 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for handling \u0026quot;slim\u0026quot; format zoneinfo files that are produced by default by zic version 2020b and later. The POSIX-style TZ string is now used calculate DST transition times after the final defined transition in the file. The 64-bit section is now always used regardless of whether Time has support for 64-bit times. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/120\"\u003e#120\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRubinius is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.8\"\u003eTZInfo v1.2.8 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed 'wrong number of arguments' errors when running on JRuby 9.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/114\"\u003e#114\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.8. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/112\"\u003e#112\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.7\"\u003eTZInfo v1.2.7 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTimezone#strftime('%s', time)\u003c/code\u003e will now return the correct number of seconds since the epoch. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/91\"\u003e#91\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved the unused \u003ccode\u003eTZInfo::RubyDataSource::REQUIRE_PATH\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eFixed \u0026quot;SecurityError: Insecure operation - require\u0026quot; exceptions when loading data with recent Ruby releases in safe mode.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.7. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/106\"\u003e#106\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/111\"\u003e#111\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.6\"\u003eTZInfo v1.2.6 on RubyGems.org\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport recursively (deep) freezing \u003ccode\u003eCountry\u003c/code\u003e and \u003ccode\u003eTimezone\u003c/code\u003e instances. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/80\"\u003e#80\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAllow negative daylight savings time offsets to be derived when reading from zoneinfo files. The utc_offset and std_offset are now derived correctly for Europe/Dublin in the 2018a and 2018b releases of the Time Zone Database.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://rubygems.org/gems/tzinfo/versions/1.2.5\"\u003eTZInfo v1.2.5 on RubyGems.org\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/tzinfo/tzinfo/blob/master/CHANGES.md\"\u003etzinfo's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.2.11 - 28-Jan-2023\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEliminate \u003ccode\u003eObject#untaint\u003c/code\u003e deprecation warnings on JRuby 9.4.0.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/145\"\u003e#145\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.10 - 19-Jul-2022\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a relative path traversal bug that could cause arbitrary files to be\nloaded with \u003ccode\u003erequire\u003c/code\u003e when used with \u003ccode\u003eRubyDataSource\u003c/code\u003e. Please refer to\n\u003ca href=\"https://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\"\u003ehttps://github.com/tzinfo/tzinfo/security/advisories/GHSA-5cm2-9h8c-rvfx\u003c/a\u003e for\ndetails. CVE-2022-31163.\u003c/li\u003e\n\u003cli\u003eIgnore the SECURITY file from Arch Linux's tzdata package. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/134\"\u003e#134\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.9 - 16-Dec-2020\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an incorrect \u003ccode\u003eInvalidTimezoneIdentifier\u003c/code\u003e exception raised when loading a\nzoneinfo file that includes rules specifying an additional transition to the\nfinal defined offset (for example, Africa/Casablanca in version 2018e of the\nTime Zone Database). \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/123\"\u003e#123\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.8 - 8-Nov-2020\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for handling \u0026quot;slim\u0026quot; format zoneinfo files that are produced by\ndefault by zic version 2020b and later. The POSIX-style TZ string is now used\ncalculate DST transition times after the final defined transition in the file.\nThe 64-bit section is now always used regardless of whether Time has support\nfor 64-bit times. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/120\"\u003e#120\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRubinius is no longer supported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.7 - 2-Apr-2020\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed 'wrong number of arguments' errors when running on JRuby 9.0. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/114\"\u003e#114\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.8. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/112\"\u003e#112\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.6 - 24-Dec-2019\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTimezone#strftime('%s', time)\u003c/code\u003e will now return the correct number of seconds\nsince the epoch. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/91\"\u003e#91\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved the unused \u003ccode\u003eTZInfo::RubyDataSource::REQUIRE_PATH\u003c/code\u003e constant.\u003c/li\u003e\n\u003cli\u003eFixed \u0026quot;SecurityError: Insecure operation - require\u0026quot; exceptions when loading\ndata with recent Ruby releases in safe mode.\u003c/li\u003e\n\u003cli\u003eFixed warnings when running on Ruby 2.7. \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/106\"\u003e#106\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/tzinfo/tzinfo/issues/111\"\u003e#111\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.2.5 - 4-Feb-2018\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/tzinfo/tzinfo/commit/2dc46fd3f2ba11287b33188c64084d7bdb9afc28\"\u003e\u003ccode\u003e2dc46fd\u003c/code\u003e\u003c/a\u003e Preparing v1.2.11.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/c854e6a91e4c0599a2eacfb9ddafc09115e69414\"\u003e\u003ccode\u003ec854e6a\u003c/code\u003e\u003c/a\u003e Update copyright years.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/9c092f32f3dd34ea85554176b6ecc1f78f03cb2b\"\u003e\u003ccode\u003e9c092f3\u003c/code\u003e\u003c/a\u003e Eliminate Object#untaint deprecation warnings on JRuby 9.4.0.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/4e5f8b759f7ebdc378e45f151ed2e55e3295011b\"\u003e\u003ccode\u003e4e5f8b7\u003c/code\u003e\u003c/a\u003e Add Ruby 3.1, 3.2 and JRuby 9.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/2f58c69f20bc8c42aa2d11060763a7a3e4b17483\"\u003e\u003ccode\u003e2f58c69\u003c/code\u003e\u003c/a\u003e Update the dependency on actions/checkout.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/e52c05604b9fb39cd17ab8bad0740511bc44234d\"\u003e\u003ccode\u003ee52c056\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Workaround for 'Permission denied - NUL' errors with JRuby on Windows.\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/0814dcd6195f247cc90e62a46b86ff0b76e08ed6\"\u003e\u003ccode\u003e0814dcd\u003c/code\u003e\u003c/a\u003e Fix the release date.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/fd05e2a61cc569cef81ebd1a90d0b57f69e401bd\"\u003e\u003ccode\u003efd05e2a\u003c/code\u003e\u003c/a\u003e Preparing v1.2.10.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/b98c32efd61289fe6f00a50ab8061e95962ea983\"\u003e\u003ccode\u003eb98c32e\u003c/code\u003e\u003c/a\u003e Merge branch 'fix-directory-traversal-1.2' into 1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tzinfo/tzinfo/commit/ac3ee6828afd67e6a8ee981cba791ee34d20e9fb\"\u003e\u003ccode\u003eac3ee68\u003c/code\u003e\u003c/a\u003e Remove unnecessary escaping of + within regex character classes.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tzinfo/tzinfo/compare/v1.2.4...v1.2.11\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/LHNCBC/phr/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/LHNCBC/phr/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LHNCBC%2Fphr/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"0.4.2","new_version":"1.0.1","update_type":"major","path":null,"pr_created_at":"2025-10-07T19:53:49.000Z","version_change":"0.4.2 → 1.0.1","issue":{"uuid":"3492836237","node_id":"PR_kwDOIHBa6c6skPTd","number":38,"state":"open","title":"Bump the bundler group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-07T19:53:49.000Z","updated_at":"2025-10-07T19:54:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":11,"packages":[{"name":"puma","old_version":"5.6.5","new_version":"5.6.9","repository_url":"https://github.com/puma/puma"},{"name":"sidekiq","old_version":"6.4.1","new_version":"6.5.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"fugit","old_version":"1.4.2","new_version":"1.11.1","repository_url":"https://github.com/floraison/fugit"},{"name":"globalid","old_version":"0.4.2","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"loofah","old_version":"2.18.0","new_version":"2.19.1","repository_url":"https://github.com/flavorjones/loofah"},{"name":"rails-html-sanitizer","old_version":"1.4.3","new_version":"1.4.4","repository_url":"https://github.com/rails/rails-html-sanitizer"},{"name":"rexml","old_version":"3.2.5","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"webrick","old_version":"1.7.0","new_version":"1.8.2","repository_url":"https://github.com/ruby/webrick"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [puma](https://github.com/puma/puma) | `5.6.5` | `5.6.9` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `6.4.1` | `6.5.10` |\n| [fugit](https://github.com/floraison/fugit) | `1.4.2` | `1.11.1` |\n| [globalid](https://github.com/rails/globalid) | `0.4.2` | `1.0.1` |\n| [loofah](https://github.com/flavorjones/loofah) | `2.18.0` | `2.19.1` |\n| [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) | `1.4.3` | `1.4.4` |\n| [rexml](https://github.com/ruby/rexml) | `3.2.5` | `3.4.2` |\n| [webrick](https://github.com/ruby/webrick) | `1.7.0` | `1.8.2` |\n\n\nUpdates `puma` from 5.6.5 to 5.6.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.7\u003c/h2\u003e\n\u003cp\u003eSecurity\nAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/master/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.9 / 2024-09-19\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eDiscards any headers using underscores if the non-underscore version also exists. Without this, an attacker could overwrite values set by intermediate proxies (e.g. X-Forwarded-For). (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-9hf4-67fc-4vf4\"\u003eCVE-2024-45614\u003c/a\u003e/GHSA-9hf4-67fc-4vf4)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eJRuby\n\u003cul\u003e\n\u003cli\u003eMust use at least Java \u0026gt;= 9 to compile. You can no longer build from source on Java 8.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.8 / 2024-01-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eLimit the size of chunk extensions. Without this limit, an attacker could cause unbounded resource (CPU, network bandwidth) consumption. (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-c2f4-cvqm-65w2\"\u003eGHSA-c2f4-cvqm-65w2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.7 / 2023-08-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity\n\u003cul\u003e\n\u003cli\u003eAddress HTTP request smuggling vulnerabilities with zero-length Content Length header and trailer fields (\u003ca href=\"https://github.com/puma/puma/security/advisories/GHSA-68xg-gqqm-vgj8\"\u003eGHSA-68xg-gqqm-vgj8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.6.6 / 2023-06-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfix\n\u003cul\u003e\n\u003cli\u003ePrevent loading with rack 3 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3166\"\u003e#3166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f196b23be24712fb8fb16051cc124798cc84f70e\"\u003e\u003ccode\u003ef196b23\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/24eec19bace045a4cbd43362e17964de90044e32\"\u003e\u003ccode\u003e24eec19\u003c/code\u003e\u003c/a\u003e 5.6.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3c8e8b036d36158a324ec34cfb29905cc578478b\"\u003e\u003ccode\u003e3c8e8b0\u003c/code\u003e\u003c/a\u003e 5.6.9 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/129357322e837e7d99c25c9cd71d36ecb4f9540b\"\u003e\u003ccode\u003e1293573\u003c/code\u003e\u003c/a\u003e 5.6.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/bbb880ffb6debbfdea535b4b3eb2204d49ae151d\"\u003e\u003ccode\u003ebbb880f\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-c2f4-cvqm-65w2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/78393bf2c58bf293860fa9cdc73938ac58c18afb\"\u003e\u003ccode\u003e78393bf\u003c/code\u003e\u003c/a\u003e 5.6.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7405a219801dcebc0ad6e0aa108d4319ca23f662\"\u003e\u003ccode\u003e7405a21\u003c/code\u003e\u003c/a\u003e Merge pull request from GHSA-68xg-gqqm-vgj8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d33424b560eab163d8869d90341d57795d63bb99\"\u003e\u003ccode\u003ed33424b\u003c/code\u003e\u003c/a\u003e 5.6.7 release note [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/f8c7b235f971ed6b290cc4733fe7bce840037ede\"\u003e\u003ccode\u003ef8c7b23\u003c/code\u003e\u003c/a\u003e 5.6.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08af1b5d797ab49f9d594a71f0c1f88bbff7915a\"\u003e\u003ccode\u003e08af1b5\u003c/code\u003e\u003c/a\u003e 5.6.6 release note\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v5.6.5...v5.6.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 6.4.1 to 6.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eSidekiq Changes\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003eSidekiq Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Pro-Changes.md\"\u003eSidekiq Pro Changes\u003c/a\u003e | \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Ent-Changes.md\"\u003eSidekiq Enterprise Changes\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e8.0.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow an optional global iteration max runtime. After executing for this length of time,\nSidekiq will re-queue the job to continue execution at a later time [#6819, fatkodima]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eSidekiq.configure_server do |cfg|\n  cfg[:max_iteration_runtime] = 600 # ten minutes\nend\n\u003c/code\u003e\u003c/pre\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ediscarded_at\u003c/code\u003e attribute when discarding a job so death handlers can distinguish between\na job which was killed and one that was discarded. [#6820, gstokkink]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts an \u003ccode\u003e:at\u003c/code\u003e array of times to schedule each job at the corresponding time.\n\u003ccode\u003eperform_bulk(args: [[1], [2]], at: [Time.now, Time.now + 1])\u003c/code\u003e [#6790, fatkodima]\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eperform_bulk\u003c/code\u003e now accepts a \u003ccode\u003e:spread_interval\u003c/code\u003e value to schedule jobs over\nthe next N seconds. \u003ccode\u003eperform_bulk(..., spread_interval: 60)\u003c/code\u003e [#6792, fatkodima]\u003c/li\u003e\n\u003cli\u003eFix unintended display of flash messages in the Web UI due to session key collision\u003c/li\u003e\n\u003cli\u003eAdd support for lazy load hooks \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6825\"\u003e#6825\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003e:discard\u003c/code\u003e option for \u003ccode\u003esidekiq_retries_exhausted\u003c/code\u003e and \u003ccode\u003esidekiq_retry_in\u003c/code\u003e\nnow calls death handlers, otherwise it could break other Sidekiq\nfunctionality. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide a Plain log formatter which does not colorize output \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6778\"\u003e#6778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJob iteration now exposes \u003ccode\u003ecurrent_object\u003c/code\u003e for easy access within the \u003ccode\u003earound_iteration\u003c/code\u003e callback \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6774\"\u003e#6774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix JS race condition which could skip confirmation dialogs when Live Polling \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6768\"\u003e#6768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix edge case which could lose CurrentAttributes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6767\"\u003e#6767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate UK locale \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6776\"\u003e#6776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdjust transactional client to use ActiveRecord 7.2's support for\n\u003ccode\u003eafter_all_transactions_commit\u003c/code\u003e when available. [#6765, rewritten]\u003c/li\u003e\n\u003cli\u003eFix Rails 7.0 and 7.1 compatibility [#6746, mlarraz]\u003c/li\u003e\n\u003cli\u003eFlush metrics at \u003ccode\u003e:exit\u003c/code\u003e \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6764\"\u003e#6764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003estopping?\u003c/code\u003e method to AJ adapter for compatibility with the new AJ::Continuations feature \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6732\"\u003e#6732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFurther improvements to Rails boot compatibility \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6710\"\u003e#6710\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd ability to disable CSRF middleware. SameSite cookies prevent\nCSRF in a cleaner manner and are default in most browsers now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/f67a7abccffc9337f144e7be96bb1ed4b0fee49a\"\u003e\u003ccode\u003ef67a7ab\u003c/code\u003e\u003c/a\u003e Cherry pick:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/101435c5a73095ca62b610d5d6456e7e5dc7f81a\"\u003e\u003ccode\u003e101435c\u003c/code\u003e\u003c/a\u003e Merge 62c90d7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/022c059c7b417d24cf1f892fa71f8e98d19ca93f\"\u003e\u003ccode\u003e022c059\u003c/code\u003e\u003c/a\u003e bump, prep\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fa6723e20131f6d8ca990fc44ca056a351376f2e\"\u003e\u003ccode\u003efa6723e\u003c/code\u003e\u003c/a\u003e formatting, ensure environment is updated in Sidekiq.options\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/ad0f13cac5138b891d54ef2f2df3460d5151e34c\"\u003e\u003ccode\u003ead0f13c\u003c/code\u003e\u003c/a\u003e prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7ed013e12bff33a3666911e21ba40039e56b932b\"\u003e\u003ccode\u003e7ed013e\u003c/code\u003e\u003c/a\u003e Fail if bad scout_apm detected, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5616\"\u003e#5616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2ff44747e6033c01c4524f2f242c689adc08f6c9\"\u003e\u003ccode\u003e2ff4474\u003c/code\u003e\u003c/a\u003e Fix natural sorting for processes (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5587\"\u003e#5587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0588cafc88f3566347bb943ac09c6c23fadc8018\"\u003e\u003ccode\u003e0588caf\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/7037533e8f39cc1d3c1e305140da7667c6efe38f\"\u003e\u003ccode\u003e7037533\u003c/code\u003e\u003c/a\u003e Speedup iterating over \u003ccode\u003eWorkSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5559\"\u003e#5559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/d424e453282314ea25f484739c72697b5a4d8f82\"\u003e\u003ccode\u003ed424e45\u003c/code\u003e\u003c/a\u003e Add pagination to \u0026quot;Busy\u0026quot; page (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/5556\"\u003e#5556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v6.4.1...v6.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fugit` from 1.4.2 to 1.11.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/floraison/fugit/blob/master/CHANGELOG.md\"\u003efugit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003efugit 1.11.1 released 2024-08-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent nat parsing chocking on long input (\u0026gt; 256 chars), \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.11.0 released 2024-04-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e ban on \u003ccode\u003eevery 27 hours\u003c/code\u003e / \u003ccode\u003e* */27 * * *\u003c/code\u003e for \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/103\"\u003egh-103\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.1 released 2024-02-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix on Ruby 2.2.6 thanks to \u003ca href=\"https://github.com/aunghtain\"\u003e\u003ccode\u003e@​aunghtain\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/93\"\u003egh-93\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.10.0 released 2024-02-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_start, time_end)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003eFugit::Cron#within(time_range)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eImplement iterator-returning \u003ccode\u003eFugit::Cron#next\u003c/code\u003e and \u003ccode\u003e#prev\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.9.0 released 2023-10-24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLet nat parse \u0026quot;last\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/88\"\u003egh-88\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange that I am not sure about, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/86\"\u003egh-86\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.1 released 2023-01-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix for month subtraction, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/84\"\u003egh-84\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix duration - time, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/85\"\u003egh-85\u003c/a\u003e, \u003ca href=\"https://github.com/mreinsch\"\u003e\u003ccode\u003e@​mreinsch\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.8.0 released 2022-12-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce Fugit.parse_cronish and .do_parse_cronish, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/70\"\u003egh-70\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.2 released 2022-11-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix 'every day at 12:15 am', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix 'every day at 5:00pm', \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/81\"\u003egh-81\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003efugit 1.7.1 released 2022-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange behaviour for \u0026quot;0 0/5 * * *\u0026quot;, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/79\"\u003egh-79\u003c/a\u003e\ngo \u0026quot;every 5h start hour 0\u0026quot;, previous behaviour only triggered at hour 0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/228b53ded4be3d86412b6dd62c831a7a459d9ef4\"\u003e\u003ccode\u003e228b53d\u003c/code\u003e\u003c/a\u003e Release 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a0ec276bf56cb7913411bf0d6e05c67947e7be8\"\u003e\u003ccode\u003e2a0ec27\u003c/code\u003e\u003c/a\u003e Upgrade Ruby test matrix versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/ad2c1c9c737213d585fff0b51c927d178b2c05a5\"\u003e\u003ccode\u003ead2c1c9\u003c/code\u003e\u003c/a\u003e Lower time expectations for labby rubies, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/767ef550281bcdc8782233840f98cf8487340476\"\u003e\u003ccode\u003e767ef55\u003c/code\u003e\u003c/a\u003e Add spec for Fugit.parse() and .do_parse, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/025ad7bb76590d3360750d5617b235a23908e5bb\"\u003e\u003ccode\u003e025ad7b\u003c/code\u003e\u003c/a\u003e Bring in spec helpers from raabro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a9a262873450eaf5671747f846a6ec1e5f7d87c1\"\u003e\u003ccode\u003ea9a2628\u003c/code\u003e\u003c/a\u003e Add Fugit::Nat.parse() spec input len \u0026gt; 256 \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/2a11805444d9ed036ee8570b88cd2b6df450ee84\"\u003e\u003ccode\u003e2a11805\u003c/code\u003e\u003c/a\u003e Add note about nat 256 char limit, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/6a7527497c0bb9196efe503e3d9b5271128a8ee1\"\u003e\u003ccode\u003e6a75274\u003c/code\u003e\u003c/a\u003e Peg Fugit::Nat.parse(s) at 256 chars, \u003ca href=\"https://redirect.github.com/floraison/fugit/issues/104\"\u003egh-104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/d2f6cf393716aabe0facb7132d89cfdb8044d240\"\u003e\u003ccode\u003ed2f6cf3\u003c/code\u003e\u003c/a\u003e Prepare 1.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/floraison/fugit/commit/a172e7b7fece69fbeda40d952ec186cb83339fec\"\u003e\u003ccode\u003ea172e7b\u003c/code\u003e\u003c/a\u003e Release 1.11.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/floraison/fugit/compare/v1.4.2...v1.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 0.4.2 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\u003c/p\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003cp\u003eStable API release.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eThe code is the same as the 0.6.0 release.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003e0.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eActiveRecord::FixtureSet.signed_global_id\u003c/code\u003e helper to generate signed ids inside fixtures.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd back Ruby 2.5 support so \u003ccode\u003egem install rails\u003c/code\u003e works out of the box, thereby satisfying Rails' Ruby version requirement. See \u003ca href=\"https://redirect.github.com/rails/rails/issues/42931\"\u003erails/rails#42931\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Allow expiration to be turned off globally \u003ca href=\"https://redirect.github.com/rails/globalid/pull/128\"\u003erails/globalid#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed: Support for ruby-head \u003ca href=\"https://redirect.github.com/rails/globalid/pull/132\"\u003erails/globalid#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMaintainance: Drop support for EOL'ed Rubies (\u0026lt; 2.6.0) and Rails 4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42f5ea6b4c638024c8865c1e4a4dbeb991198557\"\u003e\u003ccode\u003e42f5ea6\u003c/code\u003e\u003c/a\u003e Prepare for 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/beab3e4bc7d3fe1af27367de6c90b4d31618ed44\"\u003e\u003ccode\u003ebeab3e4\u003c/code\u003e\u003c/a\u003e Prepare to 0.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/29e12cb85d3432872985ad7cef20316ca80f5b2f\"\u003e\u003ccode\u003e29e12cb\u003c/code\u003e\u003c/a\u003e Upgrade all development gems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/c894a430d42b4f6351903bcff30f7e52bf95b364\"\u003e\u003ccode\u003ec894a43\u003c/code\u003e\u003c/a\u003e Add devcontainer to allow contributors to have a working environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b3ec8b9314555dede5b865ea7ad30c421bddbaea\"\u003e\u003ccode\u003eb3ec8b9\u003c/code\u003e\u003c/a\u003e Move ActiveRecord::FixtureSet.signed_global_id to this gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/e9d6ed993c88558cc4901e084304dee140704c4b\"\u003e\u003ccode\u003ee9d6ed9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/137\"\u003e#137\u003c/a\u003e from rails/dependabot/bundler/nokogiri-1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a565d31d602cb32b32c02bcbb36d91bcf2b0c735\"\u003e\u003ccode\u003ea565d31\u003c/code\u003e\u003c/a\u003e Bump nokogiri from 1.11.7 to 1.12.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/9b1a4d21fed3c22cf9df0986ad087d1dadc42b4b\"\u003e\u003ccode\u003e9b1a4d2\u003c/code\u003e\u003c/a\u003e Why u no love me?\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v0.4.2...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `loofah` from 2.18.0 to 2.19.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/flavorjones/loofah/releases\"\u003eloofah's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/blob/main/CHANGELOG.md\"\u003eloofah's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.19.1 / 2022-12-13\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAddress CVE-2022-23514, inefficient regular expression complexity. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-486f-hjj9-9vhh\"\u003eGHSA-486f-hjj9-9vhh\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23515, improper neutralization of data URIs. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-228g-948r-83gx\"\u003eGHSA-228g-948r-83gx\u003c/a\u003e for more information.\u003c/li\u003e\n\u003cli\u003eAddress CVE-2022-23516, uncontrolled recursion. See \u003ca href=\"https://github.com/flavorjones/loofah/security/advisories/GHSA-3x8r-x6xp-q4vm\"\u003eGHSA-3x8r-x6xp-q4vm\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.19.0 / 2022-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow SVG 1.0 color keyword names in CSS attributes. These colors are part of the \u003ca href=\"https://www.w3.org/TR/css-color-3/#svg-color\"\u003eCSS Color Module Level 3\u003c/a\u003e recommendation released 2022-01-18. [\u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/243\"\u003e#243\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/flavorjones/loofah/commit/3f8806300089135f7832a59aa2689a6674d37897\"\u003e\u003ccode\u003e3f88063\u003c/code\u003e\u003c/a\u003e version bump to v2.19.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/9a8dadbcfd94a0bfc3cd0413b8a7d9efee00a5c8\"\u003e\u003ccode\u003e9a8dadb\u003c/code\u003e\u003c/a\u003e docs: preserve the context and decision record\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/86f7f6364491b0099d215db858ecdc0c89ded040\"\u003e\u003ccode\u003e86f7f63\u003c/code\u003e\u003c/a\u003e fix: replace recursive approach to cdata with escaping solution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/415677f3cf7f9254f42f811e784985cd63c7407f\"\u003e\u003ccode\u003e415677f\u003c/code\u003e\u003c/a\u003e fix: do not allow \u0026quot;image/svg+xml\u0026quot; in data URIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/84ca20c58a0e8addf08a2cfc8b6fca4d7d10f033\"\u003e\u003ccode\u003e84ca20c\u003c/code\u003e\u003c/a\u003e refactor: extract scrub_uri_attribute for downstream use\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/47a835afbfffcb8c51c17ce50b5171c823c51b57\"\u003e\u003ccode\u003e47a835a\u003c/code\u003e\u003c/a\u003e ci: pin psych to v4 until v5 builds properly on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/a6e0a1ab90675a17b1b2be189129d94139e4b143\"\u003e\u003ccode\u003ea6e0a1a\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with crass parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/ea853aaa8d3aa3ebeebe6029877bbbe582aee140\"\u003e\u003ccode\u003eea853aa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/247\"\u003e#247\u003c/a\u003e from flavorjones/flavorjones-downstream-test-rhs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/e1f2a4b15c5a611780f93d87544f91365c4a02dd\"\u003e\u003ccode\u003ee1f2a4b\u003c/code\u003e\u003c/a\u003e ci: test downstream rails-html-sanitizer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones/loofah/commit/79d65a0e8b042847240e355dbdfd0f43ccda7647\"\u003e\u003ccode\u003e79d65a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/flavorjones/loofah/issues/245\"\u003e#245\u003c/a\u003e from flavorjones/flavorjones-fix-ruby-2.5-ci\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/flavorjones/loofah/compare/v2.18.0...v2.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.13.10 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.13.10...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.4 to 2.2.19\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v\"\u003eCVE-2025-27610\u003c/a\u003e Local file inclusion in \u003ccode\u003eRack::Static\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.12] - 2025-03-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v\"\u003eCVE-2025-27111\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::Sendfile\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.11] - 2025-02-12\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/493a4119ea010a7ac3dbc0ff579fc8af42e24ba4\"\u003e\u003ccode\u003e493a411\u003c/code\u003e\u003c/a\u003e Fix thin integration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71\"\u003e\u003ccode\u003e54e4ffd\u003c/code\u003e\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9163ac3f5fac795179f9935e2ba6533a0ca1cf82\"\u003e\u003ccode\u003e9163ac3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/8e52d2a3769e83fc698784b06c82703ba40448e7\"\u003e\u003ccode\u003e8e52d2a\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/rack/rack/issues/2263\"\u003e#2263\u003c/a\u003e to v2.2, fix: malformed charset param (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2338\"\u003e#2338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2a32ecaaa8460a9af9963ee46ba04afbd1b47220\"\u003e\u003ccode\u003e2a32eca\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/034a13c80dc639c8a4e794f425e5e9e17ede856b\"\u003e\u003ccode\u003e034a13c\u003c/code\u003e\u003c/a\u003e Change CGI::Cookie.new to Cookie.new (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2335\"\u003e#2335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/2.2.4...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails-html-sanitizer` from 1.4.3 to 1.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/releases\"\u003erails-html-sanitizer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See \u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md\"\u003erails-html-sanitizer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.4 / 2022-12-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress inefficient regular expression complexity with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23517. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-5x79-w82f-gw8w\"\u003eGHSA-5x79-w82f-gw8w\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress improper sanitization of data URIs.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23518 and \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/135\"\u003e#135\u003c/a\u003e. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-mcvf-2q2m-x72m\"\u003eGHSA-mcvf-2q2m-x72m\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23520. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-rrfc-7g8p-99q8\"\u003eGHSA-rrfc-7g8p-99q8\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress possible XSS vulnerability with certain configurations of Rails::Html::Sanitizer.\u003c/p\u003e\n\u003cp\u003eFixes CVE-2022-23519. See\n\u003ca href=\"https://github.com/rails/rails-html-sanitizer/security/advisories/GHSA-9h9g-93gc-623h\"\u003eGHSA-9h9g-93gc-623h\u003c/a\u003e\nfor more information.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\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-html-sanitizer/commit/fd63deaeb22e601237d4d4d12014e7ebd410ea9b\"\u003e\u003ccode\u003efd63dea\u003c/code\u003e\u003c/a\u003e version bump to v1.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/48ae90acfce9cacbd7cec9963498f6a7b5bc3d5c\"\u003e\u003ccode\u003e48ae90a\u003c/code\u003e\u003c/a\u003e dep: bump dependency on loofah\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/0713caf2ee23801cfb85e37065cf406368b20082\"\u003e\u003ccode\u003e0713caf\u003c/code\u003e\u003c/a\u003e fix: escape CDATA nodes using Loofah's escaping methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/e6d52d3b6db99d07399498b1287997302d444a8d\"\u003e\u003ccode\u003ee6d52d3\u003c/code\u003e\u003c/a\u003e revert 45a5c10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/d1223a29cb3e4151cdcb6ba6c8431708d8ce40a6\"\u003e\u003ccode\u003ed1223a2\u003c/code\u003e\u003c/a\u003e fix: use Loofah's scrub_uri_attribute method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/f0e33477a0557dbdbefc3e470c7df3a64efb002a\"\u003e\u003ccode\u003ef0e3347\u003c/code\u003e\u003c/a\u003e fix: replace slow regex attribute check with Loofah method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/df03f2f600cafff3e349b1ec48b730c43b381b65\"\u003e\u003ccode\u003edf03f2f\u003c/code\u003e\u003c/a\u003e ci: pin system lib test to 20.04\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/3e2a0f39f8ede1368436580e1ba02f9e08585858\"\u003e\u003ccode\u003e3e2a0f3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails-html-sanitizer/issues/145\"\u003e#145\u003c/a\u003e from rails/flavorjones-get-14x-green\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails-html-sanitizer/commit/11752a6427283e8a836608cd1d3ba27b6fb97f78\"\u003e\u003ccode\u003e11752a6\u003c/code\u003e\u003c/a\u003e tests: handle libxml 2.10.0 incorrectly-opened comment parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails-html-sanitizer/compare/v1.4.3...v1.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.2.5 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.2.5...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webrick` from 1.7.0 to 1.8.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/webrick/releases\"\u003ewebrick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop commented-out line 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/webrick/pull/108\"\u003eruby/webrick#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.1 \u0026amp; 3.2 to CI matrix by \u003ca href=\"https://github.com/tricknotes\"\u003e\u003ccode\u003e@​tricknotes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/109\"\u003eruby/webrick#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix/redos by \u003ca href=\"https://github.com/ooooooo-q\"\u003e\u003ccode\u003e@​ooooooo-q\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/114\"\u003eruby/webrick#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise HTTPStatus::BadRequest for requests with invalid/duplicate content-length headers by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/120\"\u003eruby/webrick#120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/121\"\u003eruby/webrick#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove CI 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/webrick/pull/123\"\u003eruby/webrick#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix WEBrick::TestFileHandler#test_short_filename test not working on mswin by \u003ca href=\"https://github.com/KJTsanaktsidis\"\u003e\u003ccode\u003e@​KJTsanaktsidis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/128\"\u003eruby/webrick#128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bug chunk extension detection by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/125\"\u003eruby/webrick#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/131\"\u003eruby/webrick#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMerge multiple cookie headers, preserving semantic correctness. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/130\"\u003eruby/webrick#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on macos-latest 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/webrick/pull/132\"\u003eruby/webrick#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire CRLF line endings in request line and headers by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/138\"\u003eruby/webrick#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer squigly heredocs. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/143\"\u003eruby/webrick#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly strip space and horizontal tab in headers by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/141\"\u003eruby/webrick#141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat missing CRLF separator after headers as an EOFError by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/142\"\u003eruby/webrick#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReturn 400 response for chunked requests with unexpected data after chunk by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/136\"\u003eruby/webrick#136\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix reference to URI::REGEXP::PATTERN::HOST by \u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/144\"\u003eruby/webrick#144\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent request smuggling by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/146\"\u003eruby/webrick#146\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/tricknotes\"\u003e\u003ccode\u003e@​tricknotes\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/109\"\u003eruby/webrick#109\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ooooooo-q\"\u003e\u003ccode\u003e@​ooooooo-q\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/114\"\u003eruby/webrick#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/KJTsanaktsidis\"\u003e\u003ccode\u003e@​KJTsanaktsidis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/128\"\u003eruby/webrick#128\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/webrick/pull/132\"\u003eruby/webrick#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/144\"\u003eruby/webrick#144\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/webrick/compare/v1.8.1...v1.8.2\"\u003ehttps://github.com/ruby/webrick/compare/v1.8.1...v1.8.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBody should be non-frozen by default. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/103\"\u003eruby/webrick#103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJoin test thread. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/104\"\u003eruby/webrick#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix several regexp warnings. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/105\"\u003eruby/webrick#105\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/webrick/compare/v1.8.0...v1.8.1\"\u003ehttps://github.com/ruby/webrick/compare/v1.8.0...v1.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse frozen strings by \u003ca href=\"https://github.com/kirs\"\u003e\u003ccode\u003e@​kirs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/65\"\u003eruby/webrick#65\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse test-unit 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/webrick/pull/66\"\u003eruby/webrick#66\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore rubies on CI, deprecating ruby 2.3 due to test failure by \u003ca href=\"https://github.com/mathieujobin\"\u003e\u003ccode\u003e@​mathieujobin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/68\"\u003eruby/webrick#68\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds common mime types by \u003ca href=\"https://github.com/gotoken\"\u003e\u003ccode\u003e@​gotoken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/75\"\u003eruby/webrick#75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd mime type for .webmanifest extension 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/webrick/pull/76\"\u003eruby/webrick#76\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: use bundler-cache: true 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/webrick/pull/79\"\u003eruby/webrick#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTypo by \u003ca href=\"https://github.com/printfinn\"\u003e\u003ccode\u003e@​printfinn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/78\"\u003eruby/webrick#78\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003es/RubyVM::JIT/RubyVM::MJIT/g 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/webrick/pull/82\"\u003eruby/webrick#82\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix invalid use of IP addresses in SNI by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/webrick/pull/83\"\u003eruby/webrick#83\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/webrick/commit/0fb9de6788a3ba5fe903e63d778a0fb8c1dce786\"\u003e\u003ccode\u003e0fb9de6\u003c/code\u003e\u003c/a\u003e Bump up v1.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/b9a4c81ea94dec02a750c6b34092c55234519bf1\"\u003e\u003ccode\u003eb9a4c81\u003c/code\u003e\u003c/a\u003e Removed trailing spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/f5faca9222541591e1a7c3c97552ebb0c92733c7\"\u003e\u003ccode\u003ef5faca9\u003c/code\u003e\u003c/a\u003e Prevent request smuggling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/0c600e169bd4ae267cb5eeb6197277c848323bbe\"\u003e\u003ccode\u003e0c600e1\u003c/code\u003e\u003c/a\u003e Fix reference to URI::REGEXP::PATTERN::HOST\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/15a93914782789520837c334e0c302702aec34e2\"\u003e\u003ccode\u003e15a9391\u003c/code\u003e\u003c/a\u003e Return 400 response for chunked requests with unexpected data after chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/2b38d5614e876d313fe981e87c4e35b91556d226\"\u003e\u003ccode\u003e2b38d56\u003c/code\u003e\u003c/a\u003e Treat missing CRLF separator after headers as an EOFError\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/e4efb4a2300540f14f93c09c06bf0357ac1597dc\"\u003e\u003ccode\u003ee4efb4a\u003c/code\u003e\u003c/a\u003e Remove unnecessary gsub calls in test_httprequest.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/426e214532bb0be5e4ab8b3c9cef328432012d0d\"\u003e\u003ccode\u003e426e214\u003c/code\u003e\u003c/a\u003e Only strip space and horizontal tab in headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/e72cb697836e2ff201a4a74c108fdca9d3d2d0ed\"\u003e\u003ccode\u003ee72cb69\u003c/code\u003e\u003c/a\u003e Prefer squigly heredocs. (\u003ca href=\"https://redirect.github.com/ruby/webrick/issues/143\"\u003e#143\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/webrick/commit/ee60354bcb84ec33b9245e1d1aa6e1f7e8132101\"\u003e\u003ccode\u003eee60354\u003c/code\u003e\u003c/a\u003e Require CRLF line endings in request line and headers\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/webrick/compare/v1.7.0...v1.8.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `yard` from 0.9.28 to 0.9.37\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lsegal/yard/releases\"\u003eyard's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v0.9.37\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix JavaScript errors in \u003ccode\u003e--one-file\u003c/code\u003e template (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix heredoc parsing and add support for squiggly heredocs (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1315\"\u003e#1315\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAccessibility improvements to the default template (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1501\"\u003e#1501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved YARD documentation (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1410\"\u003e#1410\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1512\"\u003e#1512\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1516\"\u003e#1516\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error when parsing \u003ccode\u003e@option\u003c/code\u003e tags (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1515\"\u003e#1515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue parsing UTF-8 filenames (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace OpenStruct with optimized YARD::OpenStruct to avoid ostruct performance warnings (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1545\"\u003e#1545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eprivate attr_*\u003c/code\u003e syntax (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove logger dependency (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1546\"\u003e#1546\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.36\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFurther XSS fixes for generated frameset pages (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1538\"\u003e#1538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove tests for Ruby 3.3 compatibility (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1519\"\u003e#1519\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1531\"\u003e#1531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocumentation improvements (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1524\"\u003e#1524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.35\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix possible XSS on generated YARD frameset pages (thanks to \u003ca href=\"https://github.com/RedYetiDev\"\u003e\u003ccode\u003e@​RedYetiDev\u003c/code\u003e\u003c/a\u003e for finding and patching) (2069e2b).\u003c/li\u003e\n\u003cli\u003eFix errors when using \u003ccode\u003e@option\u003c/code\u003e on non-method objects (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Ruby 3.3 changes in Ripper parser (\u003ca href=\"https://redirect.github.com/lsegal/yard/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.34\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd changelog to yard.gemspec\u003c/li\u003e\n\u003cli\u003eFix fork behavior in \u003ccode\u003eyard server --fork\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.33\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure .yardopts is present in gem package (internal YARD documentation change)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.32\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix issue with custom Rack::Request attributes in \u003ccode\u003eyard server\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease v0.9.31\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove dependency on webrick in YARD::Server::Com...\n\n_Description has been truncated_","html_url":"https://github.com/Centaurioun/texterify/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centaurioun%2Ftexterify/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:57:05.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"2894507802","node_id":"PR_kwDNQRvOrIavGg","number":357,"state":"open","title":"1.2.x: Bump the ruby-deps group across 4 directories with 10 updates","user":"dependabot[bot]","labels":["minor","dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:57:05.000Z","updated_at":"2025-10-07T15:57:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"1.2.x: Bump","group_name":"ruby-deps","update_count":10,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 3 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 1 update in the /examples/sinatra directory: [rack](https://github.com/rack/rack).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per elem...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/357","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/357","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/357/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:56:46.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"2894506912","node_id":"PR_kwDNQRvOrIaroA","number":356,"state":"closed","title":"Bump the ruby-deps group across 4 directories with 10 updates","user":"dependabot[bot]","labels":["minor","dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-07T15:57:42.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:56:46.000Z","updated_at":"2025-10-07T15:57:42.000Z","time_to_close":56,"merged_at":"2025-10-07T15:57:42.000Z","merged_by":"chadlwilson","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-deps","update_count":10,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 3 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 1 update in the /examples/sinatra directory: [rack](https://github.com/rack/rack).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per elem...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/356","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/356","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/356/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:49:39.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"2894488477","node_id":"PR_kwDNQRvOrIZjnQ","number":354,"state":"open","title":"Bump the ruby-deps group across 4 directories with 12 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:49:39.000Z","updated_at":"2025-10-07T15:49:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-deps","update_count":12,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 3 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/354","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/354","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/354/packages"}},{"old_version":"1.0.0","new_version":"1.0.1","update_type":"patch","path":null,"pr_created_at":"2025-10-07T15:48:19.000Z","version_change":"1.0.0 → 1.0.1","issue":{"uuid":"2894484400","node_id":"PR_kwDOBA_Dp86shlOw","number":86,"state":"open","title":"Bump the bundler group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:48:19.000Z","updated_at":"2025-10-07T15:48:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":4,"packages":[{"name":"globalid","old_version":"1.0.0","new_version":"1.0.1","repository_url":"https://github.com/rails/globalid"},{"name":"net-imap","old_version":"0.3.4","new_version":"0.3.9","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.14.0","new_version":"1.18.9","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"rack","old_version":"2.2.6","new_version":"2.2.18","repository_url":"https://github.com/rack/rack"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 4 updates in the / directory: [globalid](https://github.com/rails/globalid), [net-imap](https://github.com/ruby/net-imap), [nokogiri](https://github.com/sparklemotion/nokogiri) and [rack](https://github.com/rack/rack).\n\nUpdates `globalid` from 1.0.0 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.1\u003c/h2\u003e\n\u003ch1\u003ePossible ReDoS based DoS vulnerability in GlobalID\u003c/h1\u003e\n\u003cp\u003eThere is a ReDoS based DoS vulnerability in the GlobalID gem. This\nvulnerability has been assigned the CVE identifier CVE-2023-22799.\u003c/p\u003e\n\u003cp\u003eVersions Affected:  \u0026gt;= 0.2.1\nNot affected:       NOTAFFECTED\nFixed Versions:     1.0.1\u003c/p\u003e\n\u003ch2\u003eImpact\u003c/h2\u003e\n\u003cp\u003eThere is a possible DoS vulnerability in the model name parsing section of the\nGlobalID gem.  Carefully crafted input can cause the regular expression engine\nto take an unexpected amount of time. All users running an affected release\nshould either upgrade or use one of the workarounds immediately.\u003c/p\u003e\n\u003ch2\u003eReleases\u003c/h2\u003e\n\u003cp\u003eThe FIXED releases are available at the normal locations.\u003c/p\u003e\n\u003ch2\u003eWorkarounds\u003c/h2\u003e\n\u003cp\u003eThere are no feasible workarounds for this issue.\u003c/p\u003e\n\u003ch2\u003eCredits\u003c/h2\u003e\n\u003cp\u003eThank you \u003ca href=\"https://hackerone.com/ooooooo_q\"\u003eooooooo_k\u003c/a\u003e for reporting this!\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/globalid/commit/574b99fb9a23a9c637e44c0970616dd32b68e93f\"\u003e\u003ccode\u003e574b99f\u003c/code\u003e\u003c/a\u003e Bump version for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/4a75ecbfd73a8e92e32a1723b81a17e3136bd8fc\"\u003e\u003ccode\u003e4a75ecb\u003c/code\u003e\u003c/a\u003e Fix ReDoS vulnerability in name parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/globalid/compare/v1.0.0...v1.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.3.4 to 0.3.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.9\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\n\u003cem\u003eThe \u003ccode\u003e0.3.x\u003c/code\u003e release branch only receives security fixes, and will be unsupported when ruby 3.2 is EOL.\nPlease upgrade to a newer version.\u003c/em\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security\u003c/h3\u003e\n\u003cp\u003eThis release backports two features to prevent unbounded memory use: the \u003ccode\u003eresponse_handlers\u003c/code\u003e keyword argument to \u003ccode\u003eNet::IMAP.new\u003c/code\u003e so response handlers can be added before the server can send any responses (\u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/438\"\u003eruby/net-imap#438\u003c/a\u003e), and the \u003ccode\u003emax_response_size\u003c/code\u003e config attribute (\u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/446\"\u003eruby/net-imap#446\u003c/a\u003e, GHSA-j3g3-5qv5-52mj, CVE-2025-43857, reported by \u003ca href=\"https://github.com/Masamuneee\"\u003e\u003ccode\u003e@​Masamuneee\u003c/code\u003e\u003c/a\u003e).\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThe default \u003ccode\u003emax_response_size\u003c/code\u003e is \u003ccode\u003enil\u003c/code\u003e (unlimited), to avoid backward compatibility issues with secure connections to trusted servers that are well-behaved. It can be configured more conservatively to guard against untrusted servers (for example, connecting to user-provided hostnames). \u003cem\u003eIt is the responsibility of \u003ccode\u003enet-imap\u003c/code\u003e users to configure their client appropriately for the server they are connecting to.\u003c/em\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Backport \u003ccode\u003eresponse_handlers\u003c/code\u003eoption to \u003ccode\u003enew\u003c/code\u003e  by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/438\"\u003eruby/net-imap#438\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/419\"\u003e#419\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/427\"\u003e#427\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e✨ Limit max_response_size by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/446\"\u003eruby/net-imap#446\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/444\"\u003e#444\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Use \u003ccode\u003eRange#size\u003c/code\u003e vs \u003ccode\u003eRange#count\u003c/code\u003e for \u003ccode\u003euid-set\u003c/code\u003e limit by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/411\"\u003eruby/net-imap#411\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Docs: receiver thread, server responses, connection state by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/437\"\u003eruby/net-imap#437\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/418\"\u003e#418\u003c/a\u003e, and only the documentation from \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/416\"\u003e#416\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e♻️ Backport \u003ccode\u003eResponseReader\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/439\"\u003eruby/net-imap#439\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eBackports \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/422\"\u003e#422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/433\"\u003e#433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/434\"\u003e#434\u003c/a\u003e, and \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/435\"\u003e#435\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.3.8...v0.3.9\"\u003ehttps://github.com/ruby/net-imap/compare/v0.3.8...v0.3.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security Fix\u003c/h3\u003e\n\u003cp\u003eMitigates CVE-2025-25186 (GHSA-7fc5-f82f-cx69): A malicious server can exhaust client memory by sending \u003ccode\u003eAPPENDUID\u003c/code\u003e or \u003ccode\u003eCOPYUID\u003c/code\u003e responses with very large \u003ccode\u003euid-set\u003c/code\u003e ranges. \u003ccode\u003eNet::IMAP::UIDPlusData\u003c/code\u003e expands these ranges into arrays of integers.\u003c/p\u003e\n\u003ch4\u003eFix with minor API changes\u003c/h4\u003e\n\u003cp\u003eFor v0.3.8, this option is not available.  Upgrade to v0.4.19, v0.5.6, or higher to replace \u003ccode\u003eUIDPlusData\u003c/code\u003e with \u003ccode\u003eAppendUIDData\u003c/code\u003e and \u003ccode\u003eCopyUIDData\u003c/code\u003e.  These classes store their UIDs as \u003ccode\u003eNet::IMAP::SequenceSet\u003c/code\u003e objects (\u003cem\u003enot\u003c/em\u003e expanded into arrays of integers).\u003c/p\u003e\n\u003ch4\u003eMitigate with backward compatible API\u003c/h4\u003e\n\u003cp\u003eThis release mitigates the attack by crashing if a server tries to send a \u003ccode\u003euid-set\u003c/code\u003e that represents more than 10,000 numbers.  This should be larger than almost all legitimate \u003ccode\u003eCOPYUID\u003c/code\u003e or \u003ccode\u003eAPPENDUID\u003c/code\u003e responses and would limit the array to only 80KB (on a 64 bit system).\u003c/p\u003e\n\u003cp\u003eFor v0.3.8, this option is not configurable.  Upgrade to v0.4.19, v0.5.6, or higher to configure this limit.\u003c/p\u003e\n\u003ch4\u003ePlease Note: unhandled responses\u003c/h4\u003e\n\u003cp\u003eIf the client does not add response handlers to prune unhandled responses, a malicious server can still eventually exhaust all client memory, by repeatedly sending malicious responses.  However, \u003ccode\u003enet-imap\u003c/code\u003e has always retained unhandled responses, and it has always been necessary for long-lived connections to prune these responses.  This is not significantly different from connecting to a trusted server with a long-lived connection.  To limit the maximum number of retained responses, a simple handler might look something like the following:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/d86186dee3bc0304c3d1e7d7f1ff1fd54d144d03\"\u003e\u003ccode\u003ed86186d\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to v0.3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/2aadab9f5338f46b64d4da9042ac721f0fd8281d\"\u003e\u003ccode\u003e2aadab9\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/446\"\u003e#446\u003c/a\u003e from ruby/backport/v0.3-max_response_size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/e0059251e854cb03d5209c682ba3484fcb6953cd\"\u003e\u003ccode\u003ee005925\u003c/code\u003e\u003c/a\u003e ✅ Fix backport to not-imap 0.3 and ruby 2.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ae0fa010bb5e3c95b9beee31af607d4dba619d63\"\u003e\u003ccode\u003eae0fa01\u003c/code\u003e\u003c/a\u003e ✅ Fix backport compatibility with ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/158cfdff54f3961b0ec628136444e3b0b0bb1736\"\u003e\u003ccode\u003e158cfdf\u003c/code\u003e\u003c/a\u003e ✨ Make max_response_size configurable [🚧 partial]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/53ceba1e97cbc3ac4d141077732178cc8bc79476\"\u003e\u003ccode\u003e53ceba1\u003c/code\u003e\u003c/a\u003e ✨ Limit max response size to 512MiB (hard-coded)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4d1206e168b51887481f951d86f66122a069191a\"\u003e\u003ccode\u003e4d1206e\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/439\"\u003e#439\u003c/a\u003e from ruby/backport/v0.3-response_reader\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/19495b807371a279098a13a51e2b68d2d7c7c532\"\u003e\u003ccode\u003e19495b8\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/438\"\u003e#438\u003c/a\u003e from ruby/backport/v0.3-response_handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/945df803de4a20f5b9759c98266cb79fd18aa95b\"\u003e\u003ccode\u003e945df80\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/437\"\u003e#437\u003c/a\u003e from ruby/backport/v0.3-document-response-limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b0a6039e8edf83c3871397cd11acb01236336d8c\"\u003e\u003ccode\u003eb0a6039\u003c/code\u003e\u003c/a\u003e ✅ Fix backport compatibility with ruby 2.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.3.4...v0.3.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.14.0 to 1.18.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e5bcfdf7aa8d1056a7ad5e52e1adffc64ef53d12d0724fbc6f458a3af1a4b9e32  nokogiri-1.18.9-aarch64-linux-gnu.gem\n55e9e6ca46c4ad1715e313f407d8481d15be1e3b65d9f8e52ba1c124d01676a7  nokogiri-1.18.9-aarch64-linux-musl.gem\neea3f1f06463ff6309d3ff5b88033c4948d0da1ab3cc0a3a24f63c4d4a763979  nokogiri-1.18.9-arm64-darwin.gem\nfe611ae65880e445a9c0f650d52327db239f3488626df4173c05beafd161d46e  nokogiri-1.18.9-arm-linux-gnu.gem\n935605e14c0ba17da18d203922440bf6c0676c602659278d855d4622d756a324  nokogiri-1.18.9-arm-linux-musl.gem\nac5a7d93fd0e3cef388800b037407890882413feccca79eb0272a2715a82fa33  nokogiri-1.18.9.gem\n1fe5b7aa4a054eda689a969bb4e03999960a6ea806582d327207d687168bceb5  nokogiri-1.18.9-java.gem\n6b4fc1523aa0370c78653e38c94cb50e7f3ab786425de66ba7ad24222c1164a3  nokogiri-1.18.9-x64-mingw-ucrt.gem\ne0d2deb03d3d7af8016e8c9df5ff4a7d692159cefb135cbb6a4109f265652348  nokogiri-1.18.9-x86_64-darwin.gem\nb52f5defedc53d14f71eeaaf990da66b077e1918a2e13088b6a96d0230f44360  nokogiri-1.18.9-x86_64-linux-gnu.gem\ne69359d6240c17e64cc9f43970d54f13bfc7b8cc516b819228f687e953425e69  nokogiri-1.18.9-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e  nokogiri-1.18.8-aarch64-linux-gnu.gem\n664e0f9a77a7122a66d6c03abba7641ca610769a4728db55ee1706a0838b78a2  nokogiri-1.18.8-aarch64-linux-musl.gem\n483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212  nokogiri-1.18.8-arm64-darwin.gem\n17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e  nokogiri-1.18.8-arm-linux-gnu.gem\n6e6d7e71fc39572bd613a82d528cf54392c3de1ba5ce974f05c832b8187a040b  nokogiri-1.18.8-arm-linux-musl.gem\n8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365  nokogiri-1.18.8.gem\n41002596960ff854198a20aaeb34cff0d445406d5ad85ba7ca9c3fd0c8f03de0  nokogiri-1.18.8-java.gem\n11ab0f76772c5f2d718fb253fca5b74c6ef7628b72bbf8deba6ab1ffc93344cf  nokogiri-1.18.8-x64-mingw-ucrt.gem\n024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c  nokogiri-1.18.8-x86_64-darwin.gem\n4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc  nokogiri-1.18.8-x86_64-linux-gnu.gem\nddd735fba49475a395b9ea793bb6474e3a3125b89960339604d08a5397de1165  nokogiri-1.18.8-x86_64-linux-musl.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.9 / 2025-07-20\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Applied upstream libxml2 patches to address CVE-2025-6021, CVE-2025-6170, CVE-2025-49794, CVE-2025-49795, and CVE-2025-49796. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-353f-x4gh-cqq8\"\u003eGHSA-353f-x4gh-cqq8\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.8 / 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8\"\u003ev2.13.8\u003c/a\u003e to address CVE-2025-32414 and CVE-2025-32415. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc\"\u003eGHSA-5w6v-399v-w3cc\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.7 / 2025-03-31\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7\"\u003ev2.13.7\u003c/a\u003e, which is a bugfix release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.6 / 2025-03-24\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] In HTML documents, \u003ccode\u003eNode#attribute\u003c/code\u003e now returns the correct attribute. This has been broken, and returning \u003ccode\u003enil\u003c/code\u003e, since v1.17.0. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3487\"\u003e#3487\u003c/a\u003e) \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.5 / 2025-03-19\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[JRuby] Update JRuby's XML serialization so it outputs namespaces exactly like CRuby. (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3455\"\u003e#3455\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3456\"\u003e#3456\u003c/a\u003e) \u003ca href=\"https://github.com/johnnyshields\"\u003e\u003ccode\u003e@​johnnyshields\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.4 / 2025-03-14\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxslt is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxslt/-/releases/v1.1.43\"\u003ev1.1.43\u003c/a\u003e to address CVE-2025-24855 and CVE-2024-55549. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-mrxw-mxhj-p664\"\u003eGHSA-mrxw-mxhj-p664\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.3 / 2025-02-18\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6\"\u003ev2.13.6\u003c/a\u003e to address CVE-2025-24928 and CVE-2024-56171. See \u003ca href=\"https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-vvfq-8hwr-qm4m\"\u003eGHSA-vvfq-8hwr-qm4m\u003c/a\u003e for more information.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.18.2 / 2024-01-19\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/sparklemotion/nokogiri/commit/1dcd8ce30365ebd4620a3b823bf806b127eeefc3\"\u003e\u003ccode\u003e1dcd8ce\u003c/code\u003e\u003c/a\u003e version bump to v1.18.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/a05d2b44b930072af70dad12bddbac67f36c6f90\"\u003e\u003ccode\u003ea05d2b4\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3526\"\u003e#3526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/947a55e87edff3c6d76ffd81f07da728e67c9b82\"\u003e\u003ccode\u003e947a55e\u003c/code\u003e\u003c/a\u003e Apply upstream patches to address multiple vulnerabilities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9187f4af0dc3cc7ea439bd4957a2fbfab18f6665\"\u003e\u003ccode\u003e9187f4a\u003c/code\u003e\u003c/a\u003e version bump to v1.18.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/1deea041e3f359ccef67abadf19f0d634bf473dd\"\u003e\u003ccode\u003e1deea04\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8 (branch \u003ccode\u003ev1.18.x\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3509\"\u003e#3509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6457fe639359edda9f8817994bc4935abae3e81e\"\u003e\u003ccode\u003e6457fe6\u003c/code\u003e\u003c/a\u003e dep: libxml2 to v2.13.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/13e8aa4ef52f39d1273d2435bd6bfa98982471ef\"\u003e\u003ccode\u003e13e8aa4\u003c/code\u003e\u003c/a\u003e version bump to v1.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/605699d271ee5d7f58ab29c4550fad42b9cc3d69\"\u003e\u003ccode\u003e605699d\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7 (v1.18.x backport) (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3495\"\u003e#3495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/804e59038c4318ebe7ba0dc08105cff2030df415\"\u003e\u003ccode\u003e804e590\u003c/code\u003e\u003c/a\u003e dep: bump libxml2 to 2.13.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/52bf15b62d4e576292e21ac948030783333f9e0b\"\u003e\u003ccode\u003e52bf15b\u003c/code\u003e\u003c/a\u003e dep(dev): drop Rubocop from JRuby deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.14.0...v1.18.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.6 to 2.2.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/releases\"\u003erack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed ReDoS in Accept header parsing [CVE-2024-26146]\u003c/li\u003e\n\u003cli\u003eFixed ReDoS in Content Type header parsing [CVE-2024-25126]\u003c/li\u003e\n\u003cli\u003eReject Range headers which are too large [CVE-2024-26141]\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\"\u003ehttps://github.com/rack/rack/compare/v2.2.8...v2.2.8.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLimit file extension length of multipart tempfiles (2.2 backport) by \u003ca href=\"https://github.com/dentarg\"\u003e\u003ccode\u003e@​dentarg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2075\"\u003erack/rack#2075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCHANGELOG: Add missing 2.2.7 by \u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate cookie.rb by \u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer ubuntu-latest for testing. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2095\"\u003erack/rack#2095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix inefficient assert pattern in Rack::Lint [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2101\"\u003erack/rack#2101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRegenerate SPEC [2-2-stable] by \u003ca href=\"https://github.com/skipkayhil\"\u003e\u003ccode\u003e@​skipkayhil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2102\"\u003erack/rack#2102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba\"\u003e\u003ccode\u003e@​tisba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2081\"\u003erack/rack#2081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dchandekstark\"\u003e\u003ccode\u003e@​dchandekstark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2092\"\u003erack/rack#2092\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.7...v2.2.8\"\u003ehttps://github.com/rack/rack/compare/v2.2.7...v2.2.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect the year number in the changelog by \u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport underscore in host names for Rack 2.2 (Fixes \u003ca href=\"https://redirect.github.com/rack/rack/issues/2070\"\u003e#2070\u003c/a\u003e) by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2071\"\u003erack/rack#2071\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kimulab\"\u003e\u003ccode\u003e@​kimulab\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack/pull/2015\"\u003erack/rack#2015\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\"\u003ehttps://github.com/rack/rack/compare/v2.2.6.4...v2.2.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.2.6.4\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.2.18] - 2025-09-25\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm\"\u003eCVE-2025-59830\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion via semicolon-separated parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.17] - 2025-06-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBackport \u003ccode\u003eRack::MediaType#params\u003c/code\u003e now handles parameters without values. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2263\"\u003e#2263\u003c/a\u003e, \u003ca href=\"https://github.com/AllyMarthaJ\"\u003e\u003ccode\u003e@​AllyMarthaJ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.16] - 2025-05-22\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect backport of optional \u003ccode\u003eCGI::Cookie\u003c/code\u003e support. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2335\"\u003e#2335\u003c/a\u003e, [\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.15] - 2025-05-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptional support for \u003ccode\u003eCGI::Cookie\u003c/code\u003e if not available. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2327\"\u003e#2327\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rack/rack/pull/2333\"\u003e#2333\u003c/a\u003e, [\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.14] - 2025-05-06\u003c/h2\u003e\n\u003cp\u003e:warning: \u003cstrong\u003eThis release includes a security fix that may cause certain routes in previously working applications to fail if query parameters exceed 4,096 in count or 4 MB in total size. See \u003ca href=\"https://github.com/rack/rack/discussions/2356\"\u003ehttps://github.com/rack/rack/discussions/2356\u003c/a\u003e for more details.\u003c/strong\u003e\u003c/p\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx\"\u003eCVE-2025-46727\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.13] - 2025-03-11\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7wqh-767x-r66v\"\u003eCVE-2025-27610\u003c/a\u003e Local file inclusion in \u003ccode\u003eRack::Static\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.12] - 2025-03-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-8cgq-6mh2-7j6v\"\u003eCVE-2025-27111\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::Sendfile\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.11] - 2025-02-12\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/security/advisories/GHSA-7g2v-jj9q-g3rg\"\u003eCVE-2025-25184\u003c/a\u003e Possible Log Injection in \u003ccode\u003eRack::CommonLogger\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.10] - 2024-10-14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix compatibility issues with Ruby v3.4.0. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2248\"\u003e#2248\u003c/a\u003e, \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.2.9] - 2023-03-21\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/rack/rack/commit/0f76d43c0d5624bd0d325df4f0a63f5e1faa7254\"\u003e\u003ccode\u003e0f76d43\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/493a4119ea010a7ac3dbc0ff579fc8af42e24ba4\"\u003e\u003ccode\u003e493a411\u003c/code\u003e\u003c/a\u003e Fix thin integration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71\"\u003e\u003ccode\u003e54e4ffd\u003c/code\u003e\u003c/a\u003e Unbounded parameter parsing in \u003ccode\u003eRack::QueryParser\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/9163ac3f5fac795179f9935e2ba6533a0ca1cf82\"\u003e\u003ccode\u003e9163ac3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/8e52d2a3769e83fc698784b06c82703ba40448e7\"\u003e\u003ccode\u003e8e52d2a\u003c/code\u003e\u003c/a\u003e Backport \u003ca href=\"https://redirect.github.com/rack/rack/issues/2263\"\u003e#2263\u003c/a\u003e to v2.2, fix: malformed charset param (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2338\"\u003e#2338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2a32ecaaa8460a9af9963ee46ba04afbd1b47220\"\u003e\u003ccode\u003e2a32eca\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/034a13c80dc639c8a4e794f425e5e9e17ede856b\"\u003e\u003ccode\u003e034a13c\u003c/code\u003e\u003c/a\u003e Change CGI::Cookie.new to Cookie.new (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2335\"\u003e#2335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d2b6af2062a4687f928491f801984b948a63ecbb\"\u003e\u003ccode\u003ed2b6af2\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/f34f2ebfc8e5f5019a6aca6fccf427b4f0aadeff\"\u003e\u003ccode\u003ef34f2eb\u003c/code\u003e\u003c/a\u003e Feature detect \u003ccode\u003eCGI::Cookie\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2333\"\u003e#2333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/2f928b9f141d848b81ca464d0c6fe3dc57469c38\"\u003e\u003ccode\u003e2f928b9\u003c/code\u003e\u003c/a\u003e Replace usage of CGI::Cookie (\u003ca href=\"https://redirect.github.com/rack/rack/issues/2329\"\u003e#2329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.6...v2.2.18\"\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\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Brown-University-Library/vivo-on-rails/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Brown-University-Library/vivo-on-rails/pull/86","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Brown-University-Library%2Fvivo-on-rails/issues/86","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/86/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:10:36.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"3491907227","node_id":"PR_kwDNQRvOrIRtTA","number":353,"state":"open","title":"1.2.x: Bump the ruby-deps group across 4 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:10:36.000Z","updated_at":"2025-10-07T16:17:42.225Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"1.2.x: Bump","group_name":"ruby-deps","update_count":13,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"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 ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 4 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rackup](https://github.com/rack/rackup), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.19 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf711...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/353","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/353","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/353/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:10:31.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"3491906866","node_id":"PR_kwDNQRvOrIRsCA","number":352,"state":"open","title":"Bump the ruby-deps group across 4 directories with 13 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":12,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T15:10:31.000Z","updated_at":"2025-10-07T16:18:22.770Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"ruby-deps","update_count":13,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"}],"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 ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 4 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rackup](https://github.com/rack/rackup), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 8 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.19 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf711...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/352","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/352","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/352/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T14:58:21.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"3491862064","node_id":"PR_kwDNQRvOrIPVbg","number":350,"state":"open","title":"1.2.x: Bump the ruby-deps group across 4 directories with 15 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-07T14:58:21.000Z","updated_at":"2025-10-07T16:14:10.778Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"1.2.x: Bump","group_name":"ruby-deps","update_count":15,"packages":[{"name":"rack","old_version":"2.2.18","new_version":"2.2.19","repository_url":"https://github.com/rack/rack"},{"name":"bigdecimal","old_version":"3.2.3","new_version":"3.3.0","repository_url":"https://github.com/ruby/bigdecimal"},{"name":"erb","old_version":"4.0.4","new_version":"5.0.3","repository_url":"https://github.com/ruby/erb"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"nokogiri","old_version":"1.18.9","new_version":"1.18.10","repository_url":"https://github.com/sparklemotion/nokogiri"},{"name":"pp","old_version":"0.6.2","new_version":"0.6.3","repository_url":"https://github.com/ruby/pp"},{"name":"rdoc","old_version":"6.14.2","new_version":"6.15.0","repository_url":"https://github.com/ruby/rdoc"},{"name":"zeitwerk","old_version":"2.6.18","new_version":"2.7.3","repository_url":"https://github.com/fxn/zeitwerk"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the ruby-deps group with 1 update in the / directory: [rack](https://github.com/rack/rack).\nBumps the ruby-deps group with 4 updates in the /examples/camping directory: [rack](https://github.com/rack/rack), [rackup](https://github.com/rack/rackup), [rexml](https://github.com/ruby/rexml) and [rubyzip](https://github.com/rubyzip/rubyzip).\nBumps the ruby-deps group with 10 updates in the /examples/rails7 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rack](https://github.com/rack/rack) | `2.2.18` | `2.2.19` |\n| [bigdecimal](https://github.com/ruby/bigdecimal) | `3.2.3` | `3.3.0` |\n| [erb](https://github.com/ruby/erb) | `4.0.4` | `5.0.3` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [nokogiri](https://github.com/sparklemotion/nokogiri) | `1.18.9` | `1.18.10` |\n| [pp](https://github.com/ruby/pp) | `0.6.2` | `0.6.3` |\n| [rdoc](https://github.com/ruby/rdoc) | `6.14.2` | `6.15.0` |\n| [zeitwerk](https://github.com/fxn/zeitwerk) | `2.6.18` | `2.7.3` |\n\nBumps the ruby-deps group with 2 updates in the /examples/sinatra directory: [rack](https://github.com/rack/rack) and [sinatra](https://github.com/sinatra/sinatra).\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rackup` from 1.0.1 to 2.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rackup/blob/main/releases.md\"\u003erackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTry to require \u003ccode\u003ewebrick\u003c/code\u003e and \u003ccode\u003erackup/handler/webrick\u003c/code\u003e by default, for compatibility with code that expects them to be available.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove old rack shims.\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ewebrick\u003c/code\u003e dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrectly support streaming responses with \u003ccode\u003ewebrick\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInitial release and migration of code from \u003ccode\u003erack\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/rack/rackup/commit/e9814d3b5a55fd0134369ddfdefd90f1a9a0e6b9\"\u003e\u003ccode\u003ee9814d3\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/aa0acacfe579d98d2a1a6dd69edba5c6b2a785a4\"\u003e\u003ccode\u003eaa0acac\u003c/code\u003e\u003c/a\u003e Require the webrick handler when webrick is available (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/27\"\u003e#27\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/ee4fe5434c8d39b04e8ae99398e57be266e269ff\"\u003e\u003ccode\u003eee4fe54\u003c/code\u003e\u003c/a\u003e Update RubyGems to fix Ruby 2.5 psych compatibility issue. (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/28\"\u003e#28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/8d32c964c3ab7495b6fc59f30d83ae3d80bb4851\"\u003e\u003ccode\u003e8d32c96\u003c/code\u003e\u003c/a\u003e Backfill \u003ccode\u003ereleases.md\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/3301bdc4345f04913eacafe6d3143d55586f3810\"\u003e\u003ccode\u003e3301bdc\u003c/code\u003e\u003c/a\u003e Add Ruby version guard to \u003ccode\u003ebake-releases\u003c/code\u003e gem.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/7f6d2aa8dd151d4a445575fb183ac9dde00ef4f2\"\u003e\u003ccode\u003e7f6d2aa\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/76a7320817fcb495fee80469193f6955d21ad099\"\u003e\u003ccode\u003e76a7320\u003c/code\u003e\u003c/a\u003e Move development dependencies to \u003ccode\u003egems.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/1f3ece0828f321bedf1f738641930d175be1105a\"\u003e\u003ccode\u003e1f3ece0\u003c/code\u003e\u003c/a\u003e Update copyrights.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/20d41c6d5ed06a0a8d9a0781d5ddede6be810249\"\u003e\u003ccode\u003e20d41c6\u003c/code\u003e\u003c/a\u003e Automate release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rackup/commit/4e72d9da3bb6dfa3de89fd2619b1f505dbc383b7\"\u003e\u003ccode\u003e4e72d9d\u003c/code\u003e\u003c/a\u003e Remove unused rack classes (\u003ca href=\"https://redirect.github.com/rack/rackup/issues/10\"\u003e#10\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rackup/compare/v1.0.1...v2.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.19 to 3.2.2\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.4.3 to 3.4.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.4 - 2025-09-10\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.4 - 2025-09-10 {#version-3-4-4}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/296\"\u003eGH-296\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003eGH-295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Joe Rafaniello\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eNAITOH Jun\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJoe Rafaniello\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/ruby/rexml/commit/4f32ea33bc3f71cced67487659beef58edcf6d56\"\u003e\u003ccode\u003e4f32ea3\u003c/code\u003e\u003c/a\u003e Add 3.4.4 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/297\"\u003e#297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/37cde3f4e660f9748f90a933daf7a9e51337d013\"\u003e\u003ccode\u003e37cde3f\u003c/code\u003e\u003c/a\u003e Accept \u003ccode\u003eREXML::Document.new(\u0026quot;\u0026quot;)\u003c/code\u003e for backward compatibility (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/295\"\u003e#295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/4ffe211b501614e769a8bf37d63a7037bb5d2e73\"\u003e\u003ccode\u003e4ffe211\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.4.3...v3.4.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubyzip` from 3.1.0 to 3.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubyzip/rubyzip/releases\"\u003erubyzip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.1\u003c/h2\u003e\n\u003cp\u003eVersion 3.1.1\u003c/p\u003e\n\u003cp\u003eThe 3.1.x line adds AES decryption.\u003c/p\u003e\n\u003cp\u003e⚠️ There are breaking changes in the 3.x series ⚠️\u003c/p\u003e\n\u003cp\u003ePlease see the README and \u003ca href=\"https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x\"\u003eUpdating to version 3.x\u003c/a\u003e in the wiki for help upgrading from version 2.4.x to version 3.x.\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/rubyzip/rubyzip/blob/main/Changelog.md\"\u003erubyzip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.1.1 (2025-09-26)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the IO pipeline when decompressing. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/649\"\u003e#649\u003c/a\u003e (which also fixes \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/issues/647\"\u003e#647\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTooling/internal:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the \u003ccode\u003eDecryptedIo\u003c/code\u003e class with various updates and optimizations.\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003eNullDecrypter\u003c/code\u003e class.\u003c/li\u003e\n\u003cli\u003eProperly convert the test suite to use minitest.\u003c/li\u003e\n\u003cli\u003eMove all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003eUpdates to the Actions CI, including new OS versions.\u003c/li\u003e\n\u003cli\u003eUpdate rubocop versions and fix resultant cop failures. \u003ca href=\"https://redirect.github.com/rubyzip/rubyzip/pull/646\"\u003e#646\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/rubyzip/rubyzip/commit/f87340db528531e5e96b13219bf7651551c43f5a\"\u003e\u003ccode\u003ef87340d\u003c/code\u003e\u003c/a\u003e Update version number and Changelog for release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/813d96da709af363c32bc46ca8b293bb1d9dd9b3\"\u003e\u003ccode\u003e813d96d\u003c/code\u003e\u003c/a\u003e Add a Rubocop badge to the README.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/61c25b021a80c2309ea408619c2491b807a11fa9\"\u003e\u003ccode\u003e61c25b0\u003c/code\u003e\u003c/a\u003e Reduce the number of YJIT test runs in CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/69dcb8e202e64a3016d2040746c9e262262b579f\"\u003e\u003ccode\u003e69dcb8e\u003c/code\u003e\u003c/a\u003e Allow Windows CI builds to fail.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/da44b2ce65785de6cffa0266db0a11ad656fb9f1\"\u003e\u003ccode\u003eda44b2c\u003c/code\u003e\u003c/a\u003e Update OS versions in the Actions CI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/fd78455269216e123fcf8199a83a49bda1a2e0ae\"\u003e\u003ccode\u003efd78455\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003erequire_relative\u003c/code\u003e when pulling in \u003ccode\u003etest_helper\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/78848c59edd7dfbc073180f8a6d7d469a3376558\"\u003e\u003ccode\u003e78848c5\u003c/code\u003e\u003c/a\u003e Only require test helpers where they are needed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/e55f7c9bcbd66e9e0d9cfb5637d769e5e067eb2c\"\u003e\u003ccode\u003ee55f7c9\u003c/code\u003e\u003c/a\u003e Move all test helper code into separate files.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/5f1fcb2761735c6466fbb91c69de42d8b15850f6\"\u003e\u003ccode\u003e5f1fcb2\u003c/code\u003e\u003c/a\u003e Remove unnecessary perms from \u003ccode\u003egentestfiles.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubyzip/rubyzip/commit/ceabd0397444f3c969bac6f11d2d817d6d6678fe\"\u003e\u003ccode\u003eceabd03\u003c/code\u003e\u003c/a\u003e Remove unnecessary \u003ccode\u003erequire\u003c/code\u003es from \u003ccode\u003etest_helper.rb\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubyzip/rubyzip/compare/v3.1.0...v3.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 2.2.18 to 2.2.19\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[2.2.19] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4c4ea296fdfd115377912aa7dbcb55b83bf2888e\"\u003e\u003ccode\u003e4c4ea29\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c370dcd9405a6799763b70a83f06ae2d1aaa0e87\"\u003e\u003ccode\u003ec370dcd\u003c/code\u003e\u003c/a\u003e Limit amount of retained data when parsing multipart requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e\"\u003e\u003ccode\u003ed869fed\u003c/code\u003e\u003c/a\u003e Fix denial of service vulnerbilties in multipart parsing\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rack/rack/compare/v2.2.18...v2.2.19\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bigdecimal` from 3.2.3 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/bigdecimal/releases\"\u003ebigdecimal's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow calling Rational#to_d without arguments by \u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test_no_memory_leak failure 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/bigdecimal/pull/424\"\u003eruby/bigdecimal#424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange BigMath.sin and cos to always calculate in relative precision. 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/bigdecimal/pull/422\"\u003eruby/bigdecimal#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFaster exp calculation 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/bigdecimal/pull/399\"\u003eruby/bigdecimal#399\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename assert_relative_precision to assert_converge_in_precision 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/bigdecimal/pull/425\"\u003eruby/bigdecimal#425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for tangent function by \u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/231\"\u003eruby/bigdecimal#231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake bigdecimal.rb work in JRuby 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/bigdecimal/pull/420\"\u003eruby/bigdecimal#420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath methods common interface: coerce x, validate prec, check nan error 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/bigdecimal/pull/415\"\u003eruby/bigdecimal#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRound result of sqrt and BigMath methods 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/bigdecimal/pull/427\"\u003eruby/bigdecimal#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example calculation result in BigMath document 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/bigdecimal/pull/428\"\u003eruby/bigdecimal#428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBigMath.log(0,n)==-Infinity just like Math.log(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/bigdecimal/pull/430\"\u003eruby/bigdecimal#430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix divmod and modulo by infinity to match Float#divmod and Float#modulo 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/bigdecimal/pull/429\"\u003eruby/bigdecimal#429\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/bigdecimal/pull/431\"\u003eruby/bigdecimal#431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake internal BigMath method a private method 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/bigdecimal/pull/432\"\u003eruby/bigdecimal#432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of x**y when y is a huge value 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/bigdecimal/pull/438\"\u003eruby/bigdecimal#438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix precision of x.power(y, prec) when the result is nearly infinity 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/bigdecimal/pull/439\"\u003eruby/bigdecimal#439\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 3.3.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/bigdecimal/pull/437\"\u003eruby/bigdecimal#437\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/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/pull/421\"\u003eruby/bigdecimal#421\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/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ehttps://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.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/ruby/bigdecimal/blob/master/CHANGES.md\"\u003ebigdecimal's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow calling to_d without arguments \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/421\"\u003eGH-421\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/fsateler\"\u003e\u003ccode\u003e@​fsateler\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCalculate BigMath.sin and cos in relative precision \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/422\"\u003eGH-422\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for tangent function \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/231\"\u003eGH-231\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/rhannequin\"\u003e\u003ccode\u003e@​rhannequin\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBigMath methods accepts numeric as an argument \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/415\"\u003eGH-415\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRound result of sqrt and BigMath methods \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/427\"\u003eGH-427\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/tompng\"\u003e\u003ccode\u003e@​tompng\u003c/code\u003e\u003c/a\u003e\u003c/strong\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/ruby/bigdecimal/commit/0aa97bb2b6ec095827c436cf908baf643cd0153c\"\u003e\u003ccode\u003e0aa97bb\u003c/code\u003e\u003c/a\u003e Bump version to 3.3.0 (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f718178428cba27eab531902c7391568b31d2c64\"\u003e\u003ccode\u003ef718178\u003c/code\u003e\u003c/a\u003e Fix precision of x.power(y, prec) when the result is nearly infinity (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/a267ca741a8fc57f69d16d6be52059e25b08705d\"\u003e\u003ccode\u003ea267ca7\u003c/code\u003e\u003c/a\u003e Improve performance of x**y when y is a huge value (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/cb2458bde33bf90a8364b58d53e8948a7ba555ea\"\u003e\u003ccode\u003ecb2458b\u003c/code\u003e\u003c/a\u003e Add newline at EOF [ci skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/d93b542015d03b4b20565f59830b20c4d45bf87b\"\u003e\u003ccode\u003ed93b542\u003c/code\u003e\u003c/a\u003e Make internal BigMath method a private method (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/f107735c99825c5f6b33ebe9029952e5bb59206a\"\u003e\u003ccode\u003ef107735\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/431\"\u003e#431\u003c/a\u003e from ruby/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/6682fd8c59010b29d213a33aed715b961615c1d2\"\u003e\u003ccode\u003e6682fd8\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/8ca324995520127079841e8b5b64ce1917fe6f28\"\u003e\u003ccode\u003e8ca3249\u003c/code\u003e\u003c/a\u003e Fix divmod and modulo by infinity to match Float#divmod and Float#modulo (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/34e60a7bf898423d9e25f851266f8f5da711cd23\"\u003e\u003ccode\u003e34e60a7\u003c/code\u003e\u003c/a\u003e BigMath.log(0,n)==-Infinity just like Math.log(0) (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/430\"\u003e#430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/bigdecimal/commit/07696bcf067e0a9b19dff7bcb3641106ce6373d5\"\u003e\u003ccode\u003e07696bc\u003c/code\u003e\u003c/a\u003e Update example calculation result in BigMath document (\u003ca href=\"https://redirect.github.com/ruby/bigdecimal/issues/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/bigdecimal/compare/v3.2.3...v3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `erb` from 4.0.4 to 5.0.3\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.0.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate help of erb(1) \u003ca href=\"https://redirect.github.com/ruby/erb/pull/85\"\u003e#85\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeclare escape functions as Ractor-safe \u003ca href=\"https://redirect.github.com/ruby/erb/pull/63\"\u003e#63\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRescue \u003ccode\u003eLoadError\u003c/code\u003e when failing to load \u003ccode\u003eerb/escape\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump \u003ccode\u003erequired_ruby_version\u003c/code\u003e to Ruby 3.2+ \u003ca href=\"https://redirect.github.com/ruby/erb/pull/60\"\u003e#60\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ecgi\u003c/code\u003e from runtime dependencies \u003ca href=\"https://redirect.github.com/ruby/erb/pull/59\"\u003e#59\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eERB::VERSION\u003c/code\u003e public\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/ddfc1ba57ec00314a833c82fb02c460b3e82ba71\"\u003e\u003ccode\u003eddfc1ba\u003c/code\u003e\u003c/a\u003e Version 5.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/1d2a22ab2d4273891c278fefe9217de17a40569c\"\u003e\u003ccode\u003e1d2a22a\u003c/code\u003e\u003c/a\u003e sync-ruby.yml: Simplify the workflow name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/8eb0e30896a69e2ff368aebc4a3b841af6ef228e\"\u003e\u003ccode\u003e8eb0e30\u003c/code\u003e\u003c/a\u003e sync-ruby.yml: Specify the repository for app token\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/d8df2e92a514b3f8a25a3fb5ec3853371ea47aeb\"\u003e\u003ccode\u003ed8df2e9\u003c/code\u003e\u003c/a\u003e sync-ruby.yml: Fix indentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/b52727fbf1b31b2e74a5282e2443d6947c6e82f9\"\u003e\u003ccode\u003eb52727f\u003c/code\u003e\u003c/a\u003e Add a workflow to sync commits to ruby/ruby (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/86\"\u003e#86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/51c0922170dce2cde9e5eb072936334d9eca4187\"\u003e\u003ccode\u003e51c0922\u003c/code\u003e\u003c/a\u003e Remove a trailing space\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/692597b9a2fecf98fab3580b6a4d890105e83c08\"\u003e\u003ccode\u003e692597b\u003c/code\u003e\u003c/a\u003e Enhancements (mostly documentation) (\u003ca href=\"https://redirect.github.com/ruby/erb/issues/85\"\u003e#85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/1512314a3bfb37cccb71767fe629d9a05775b101\"\u003e\u003ccode\u003e1512314\u003c/code\u003e\u003c/a\u003e [DOC] Correct two errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/a082298db74b395dade8a2e8eaabe4148bd06898\"\u003e\u003ccode\u003ea082298\u003c/code\u003e\u003c/a\u003e [DOC] Doc for #def_method and #def_module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/erb/commit/4ca7784f10a2258fb06c1f866c4ec1e7069e48ad\"\u003e\u003ccode\u003e4ca7784\u003c/code\u003e\u003c/a\u003e [DOC] Doc for ERB#def_class\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/erb/compare/v4.0.4...v5.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.0.4 to 1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIdentify Sony and Canon raw images as subtypes of image/tiff by \u003ca href=\"https://github.com/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix frozen string literal warning in magic detection by \u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate tika definitions to latest version by \u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix detection of AV1 in WebM as video/webm by \u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\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/afcapel\"\u003e\u003ccode\u003e@​afcapel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/89\"\u003erails/marcel#89\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FrancescoK\"\u003e\u003ccode\u003e@​FrancescoK\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/123\"\u003erails/marcel#123\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MarcelEeken\"\u003e\u003ccode\u003e@​MarcelEeken\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/114\"\u003erails/marcel#114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Mth0158\"\u003e\u003ccode\u003e@​Mth0158\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/108\"\u003erails/marcel#108\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mark-young-atg\"\u003e\u003ccode\u003e@​mark-young-atg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/105\"\u003erails/marcel#105\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexandergitter\"\u003e\u003ccode\u003e@​alexandergitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/104\"\u003erails/marcel#104\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/126\"\u003erails/marcel#126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/rails/marcel/compare/v1.0.4...v1.1.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/marcel/commit/3d3c5dce088cefea93c337d292cb52b40c3728f1\"\u003e\u003ccode\u003e3d3c5dc\u003c/code\u003e\u003c/a\u003e Prepare for version 1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8730c0a74c777b5717a0676b512c9eff702081da\"\u003e\u003ccode\u003e8730c0a\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/bf9056b634fbf0c2d31eeb7b561635086fce6e10\"\u003e\u003ccode\u003ebf9056b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/127\"\u003e#127\u003c/a\u003e from rails/update-tika\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/db67956fd9d0d5e0c98f4aa91010a37a6d40936f\"\u003e\u003ccode\u003edb67956\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/126\"\u003e#126\u003c/a\u003e from rails/ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/85a6e2eabb9d1345274ff0de9ee8cbab558ab7c0\"\u003e\u003ccode\u003e85a6e2e\u003c/code\u003e\u003c/a\u003e Update tika tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/4ea7fcdab71329e0d11d51b1065f3ad7812c71da\"\u003e\u003ccode\u003e4ea7fcd\u003c/code\u003e\u003c/a\u003e Test with Ruby 3.3 and 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/7e9dea7494c24194fa1d6a73630a9bbb3b262b53\"\u003e\u003ccode\u003e7e9dea7\u003c/code\u003e\u003c/a\u003e Add devcontainer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b7cda8730fbc12f282e3cf2108c011d0ea6354ee\"\u003e\u003ccode\u003eb7cda87\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/104\"\u003e#104\u003c/a\u003e from alexandergitter/fix-av1-webm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/a0565659eeb452580124b109edcf598aadcdd61f\"\u003e\u003ccode\u003ea056565\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/105\"\u003e#105\u003c/a\u003e from mark-young-atg/provide_changelog_link_on_rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/2b1cc0fa106d0a5a8c80d6e2da107ed70b450377\"\u003e\u003ccode\u003e2b1cc0f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/108\"\u003e#108\u003c/a\u003e from Mth0158/remove-duplicate-method\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.0.4...v1.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby and (in some cases) JRuby.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of \u003ccode\u003enet/imap\u003c/code\u003e for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nokogiri` from 1.18.9 to 1.18.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/releases\"\u003enokogiri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003e7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344  nokogiri-1.18.10-aarch64-linux-gnu.gem\n7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944  nokogiri-1.18.10-aarch64-linux-musl.gem\n51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322  nokogiri-1.18.10-arm-linux-gnu.gem\n1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa  nokogiri-1.18.10-arm-linux-musl.gem\nc2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85  nokogiri-1.18.10-arm64-darwin.gem\ncd431a09c45d84a2f870ba0b7e8f571199b3727d530f2b4888a73639f76510b5  nokogiri-1.18.10-java.gem\n64f40d4a41af9f7f83a4e236ad0cf8cca621b97e31f727b1bebdae565a653104  nokogiri-1.18.10-x64-mingw-ucrt.gem\n536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2  nokogiri-1.18.10-x86_64-darwin.gem\nff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72  nokogiri-1.18.10-x86_64-linux-gnu.gem\n0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385  nokogiri-1.18.10-x86_64-linux-musl.gem\nd5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1  nokogiri-1.18.10.gem\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md\"\u003enokogiri's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.18.10 / 2025-09-15\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[CRuby] Vendored libxml2 is updated to \u003ca href=\"https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.9\"\u003ev2.13.9\u003c/a\u003e. Note that the security fixes published in v2.13.9 were already present in Nokogiri v1.18.9.\u003c/li\u003e\n\u003cli\u003e[CRuby] [Windows and MacOS] Vendored libiconv is updated to \u003ca href=\"https://savannah.gnu.org/news/?id=10703\"\u003ev1.18\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/680374099b3570b97471f822acc978cc847fee46\"\u003e\u003ccode\u003e6803740\u003c/code\u003e\u003c/a\u003e version bump to v1.18.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/93337de8323fa5269c07e913495d5d2b2535f912\"\u003e\u003ccode\u003e93337de\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3555\"\u003e#3555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/15dde1793c81bdffdc173ff975674a6299b65d6c\"\u003e\u003ccode\u003e15dde17\u003c/code\u003e\u003c/a\u003e ci: work around repeated bundler deadlocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/9906071faef26c6c27452f93780eae9674aed3ec\"\u003e\u003ccode\u003e9906071\u003c/code\u003e\u003c/a\u003e dep: bump vendored libxml2 to v2.13.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/adf72e3e6dda49556f519260406332252f0581c0\"\u003e\u003ccode\u003eadf72e3\u003c/code\u003e\u003c/a\u003e [v1.18.x] backport libiconv upgrade to v1.18 (\u003ca href=\"https://redirect.github.com/sparklemotion/nokogiri/issues/3550\"\u003e#3550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/92cab09a7dea7ad81c935464c618d7ccb9272ef4\"\u003e\u003ccode\u003e92cab09\u003c/code\u003e\u003c/a\u003e dep: update vendored libiconv to 1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/f1c5ea84ce2805aded8ab625a4b6da177f3a2162\"\u003e\u003ccode\u003ef1c5ea8\u003c/code\u003e\u003c/a\u003e Use mirror site to download libiconv\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/dcd272155c99097068383cc00b79db0bc126f045\"\u003e\u003ccode\u003edcd2721\u003c/code\u003e\u003c/a\u003e ci: stop testing Ruby 3.1 windows source builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/cf856e626748655f81f35449f67822c472a9b707\"\u003e\u003ccode\u003ecf856e6\u003c/code\u003e\u003c/a\u003e ci: fix the aarch64 segfault by using a more modern qemu\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/nokogiri/commit/6d77443f359588c113c043c22ba4c38c8dff27a1\"\u003e\u003ccode\u003e6d77443\u003c/code\u003e\u003c/a\u003e Fix errors building Ruby 3.1 on windows\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/nokogiri/compare/v1.18.9...v1.18.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf71134032414e03683344161ba2822f0ce\"\u003e\u003ccode\u003e507eebf\u003c/code\u003e\u003c/a\u003e Update pp for Set to use new inspect format (\u003ca href=\"https://redirect.github.com/ruby/pp/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/24a0d3ff1c88efd31462377e15bbf6e3a90305b3\"\u003e\u003ccode\u003e24a0d3f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/56\"\u003e#56\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/6615b62d7b269391cff131f00ac2754808936c46\"\u003e\u003ccode\u003e6615b62\u003c/code\u003e\u003c/a\u003e Refine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/99064d28dc5e5881926c17eb73216491860ffbb0\"\u003e\u003ccode\u003e99064d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/55\"\u003e#55\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/352081dbbf22b968830848c2fb735d43530d3329\"\u003e\u003ccode\u003e352081d\u003c/code\u003e\u003c/a\u003e Do not override the methods in set.rb\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 6.14.2 to 6.15.0\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.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\u003eAllow rdoc-ref to link to non-text files by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1376\"\u003eruby/rdoc#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSearch automatically on ?q= URL query parameter by \u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esearcher.js: Escape characters when building regexps 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/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix backslash handling in table cell code spans 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/1400\"\u003eruby/rdoc#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags 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/1427\"\u003eruby/rdoc#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve inline styling inside tidy link labels 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/1428\"\u003eruby/rdoc#1428\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/rdoc/pull/1393\"\u003eruby/rdoc#1393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix \u003ccode\u003ewarn_missing_rdoc_ref\u003c/code\u003e default value in doc 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/1408\"\u003eruby/rdoc#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Correct levels of headings 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/rdoc/pull/1412\"\u003eruby/rdoc#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Tweaks for markup reference intro 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/rdoc/pull/1411\"\u003eruby/rdoc#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Re-format section Directives 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/rdoc/pull/1418\"\u003eruby/rdoc#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate README to markdown 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/1422\"\u003eruby/rdoc#1422\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u0026quot;poeple\u0026quot; typo and reword for clarity by \u003ca href=\"https://github.com/p8\"\u003e\u003ccode\u003e@​p8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1388\"\u003eruby/rdoc#1388\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/rdoc/pull/1392\"\u003eruby/rdoc#1392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape unescaped backslash at the end of code 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/rdoc/pull/1404\"\u003eruby/rdoc#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-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/1406\"\u003eruby/rdoc#1406\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/rdoc/pull/1407\"\u003eruby/rdoc#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Shorten the description text to get rid of JRuby exception\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1401\"\u003eruby/rdoc#1401\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrim even spaces only in code 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/rdoc/pull/1405\"\u003eruby/rdoc#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCommit generated files 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/1410\"\u003eruby/rdoc#1410\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/rdoc/pull/1415\"\u003eruby/rdoc#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/github-script from 7 to 8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1423\"\u003eruby/rdoc#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange error message assertion to make it pass in JRuby 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/rdoc/pull/1425\"\u003eruby/rdoc#1425\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/rdoc/pull/1426\"\u003eruby/rdoc#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings 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/rdoc/pull/1409\"\u003eruby/rdoc#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 6.15.0 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/1429\"\u003eruby/rdoc#1429\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\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.14.2...v6.15.0\"\u003ehttps://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/c33d173ffabe9df139efd48bce1986d08a2bbebe\"\u003e\u003ccode\u003ec33d173\u003c/code\u003e\u003c/a\u003e Bump version to 6.15.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/6b6033b588b917682fd102fc0c1b02d3f53b4620\"\u003e\u003ccode\u003e6b6033b\u003c/code\u003e\u003c/a\u003e Preserve inline styling inside tidy link labels (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e0051be26ae979882a1034f41499112d14ac878a\"\u003e\u003ccode\u003ee0051be\u003c/code\u003e\u003c/a\u003e Fix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/88db6135378d31c43250f3961eab71b1efa42f19\"\u003e\u003ccode\u003e88db613\u003c/code\u003e\u003c/a\u003e Fix warnings (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/b72648569b8db657867ab61e6fa25d106dedf46e\"\u003e\u003ccode\u003eb726485\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/71d4090e4841f591b4e9ae518fc329d71fdcc1f5\"\u003e\u003ccode\u003e71d4090\u003c/code\u003e\u003c/a\u003e Change error message assertion to make it pass in JRuby (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/2308312eef53d6eca446188fa2a4e1988b78ed0d\"\u003e\u003ccode\u003e2308312\u003c/code\u003e\u003c/a\u003e Migrate README to markdown (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1422\"\u003e#1422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1e4573b56e75c6b8fa97250989b9a7701a9bb0f0\"\u003e\u003ccode\u003e1e4573b\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 7 to 8 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1423\"\u003e#1423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e2dec097f2086cc7df564dda51f5f95bc431cbfa\"\u003e\u003ccode\u003ee2dec09\u003c/code\u003e\u003c/a\u003e [DOC] Re-format section Directives (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f2fefe0ee7e6aae72387f813edccbeee30a8dc84\"\u003e\u003ccode\u003ef2fefe0\u003c/code\u003e\u003c/a\u003e [DOC] Tweaks for markup reference intro (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.6.18 to 2.7.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fxn/zeitwerk/blob/main/CHANGELOG.md\"\u003ezeitwerk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.7.3 (20 May 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe helper \u003ccode\u003eZeitwerk::Loader#cpath_expected_at\u003c/code\u003e did not work correctly if the\ninflector had logic that relied on the absolute path of the given file or\ndirectory. This has been fixed.\u003c/p\u003e\n\u003cp\u003eThis bug was found by \u003ca href=\"https://openai.com/codex/\"\u003eCodex\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerpetual internal work.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.2 (18 February 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInternal improvements and micro-optimizations.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd stable TruffleRuby to CI.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.1 (19 October 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMicro-optimization in a hot path.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaises \u003ccode\u003eZeitwerk::Error\u003c/code\u003e if an autoloaded constant expected to represent a\nnamespace does not store a class or module object.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdds \u003ccode\u003etruffleruby-head\u003c/code\u003e to CI, except for autoloading thread-safety\n(see why in \u003ca href=\"https://redirect.github.com/oracle/truffleruby/issues/2431\"\u003eoracle/truffleruby#2431\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.7.0 (11 October 2024)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/fxn/zeitwerk#explicit-namespaces\"\u003eExplicit namespaces\u003c/a\u003e can\nnow also be defined using constant assignments.\u003c/p\u003e\n\u003cp\u003eWhile constant assignments like\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# coordinates.rb\n\u003cp\u003eCoordinates = Data.define(:x, :y)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eworked for most objects, they did not for classes and modules that were also\nnamespaces (i.e., those defined by a file and matching subdirectories). In\nsuch cases, their child constants could not be autoloaded.\u003c/p\u003e\n\u003cp\u003eThis limitation has been removed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003eTracePoint\u003c/code\u003e is no longer used.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequires Ruby 3.2 or later.\u003c/p\u003e\n\u003cp\u003eGems tha...\n\n_Description has been truncated_","html_url":"https://github.com/jruby/jruby-rack/pull/350","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jruby%2Fjruby-rack/issues/350","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/350/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-06T15:20:01.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"2890717130","node_id":"PR_kwDOA0Nktc6sTNfK","number":444,"state":"closed","title":"Bump the bundler-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-07T22:30:05.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-06T15:20:01.000Z","updated_at":"2025-10-07T22:30:05.000Z","time_to_close":112204,"merged_at":"2025-10-07T22:30:05.000Z","merged_by":"bensheldon","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-dependencies","update_count":12,"packages":[{"name":"rouge","old_version":"4.6.0","new_version":"4.6.1","repository_url":"https://github.com/rouge-ruby/rouge"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"vernier","old_version":"1.8.0","new_version":"1.8.1","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"faraday-follow_redirects","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/tisba/faraday-follow-redirects"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.12","repository_url":"https://github.com/ruby/net-imap"},{"name":"sass-embedded","old_version":"1.93.1","new_version":"1.93.2","repository_url":"https://github.com/sass-contrib/sass-embedded-host-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rouge](https://github.com/rouge-ruby/rouge) | `4.6.0` | `4.6.1` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.8.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.33.4` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [faraday-follow_redirects](https://github.com/tisba/faraday-follow-redirects) | `0.3.0` | `0.4.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.12` |\n| [sass-embedded](https://github.com/sass-contrib/sass-embedded-host-ruby) | `1.93.1` | `1.93.2` |\n\n\nUpdates `rouge` from 4.6.0 to 4.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/releases\"\u003erouge's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.1\u003c/h2\u003e\n\u003cp\u003eThis release focuses on bug fixes and compatibility improvements across multiple lexers. We've fixed Ruby method definition highlighting for comparable methods. The TOML lexer has been realigned with the Pygments counterpart for better consistency. Language support has been enhanced with recognition of .resource files as Robot Framework files and improved Lua lexer handling of escaped quotes. The INI parser now supports standalone options, and the CSS lexer has been updated to support range context in media queries. Thanks to all our contributors for their valuable work on making Rouge more robust!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ehttps://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md\"\u003erouge's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eversion 4.6.1: 2025-09-25\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003eComparison with the previous version\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGeneral\n\u003cul\u003e\n\u003cli\u003eAdd ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2154/\"\u003e#2154\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003cli\u003eReplace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2131/\"\u003e#2131\u003c/a\u003e by Earlopain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCSS Lexer\n\u003cul\u003e\n\u003cli\u003eCSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2160/\"\u003e#2160\u003c/a\u003e by Gerard)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eINI Lexer\n\u003cul\u003e\n\u003cli\u003eSupport standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2161/\"\u003e#2161\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLua Lexer\n\u003cul\u003e\n\u003cli\u003eBugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2155/\"\u003e#2155\u003c/a\u003e by Nicholas Reaves)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRobot Framework Lexer\n\u003cul\u003e\n\u003cli\u003eRecognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2158/\"\u003e#2158\u003c/a\u003e by Vasiliy)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRuby Lexer\n\u003cul\u003e\n\u003cli\u003eFix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2149/\"\u003e#2149\u003c/a\u003e by Hartley McGuire)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTOML Lexer\n\u003cul\u003e\n\u003cli\u003eRealign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2152/\"\u003e#2152\u003c/a\u003e by Tan Le)\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/rouge-ruby/rouge/commit/7a879833337f68fd358c350366db3f24cf441ed7\"\u003e\u003ccode\u003e7a87983\u003c/code\u003e\u003c/a\u003e Release v4.6.1 (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2164\"\u003e#2164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/55b9ea967c75a63d7669a7797cd5b33644036ef1\"\u003e\u003ccode\u003e55b9ea9\u003c/code\u003e\u003c/a\u003e CSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2160\"\u003e#2160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/70a77c3d54ee449460f92eae14b1dd472be92fd3\"\u003e\u003ccode\u003e70a77c3\u003c/code\u003e\u003c/a\u003e Support standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2161\"\u003e#2161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/e5cb72f7b24b39e36e6ee4f086644897ae567c4e\"\u003e\u003ccode\u003ee5cb72f\u003c/code\u003e\u003c/a\u003e Bugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2155\"\u003e#2155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/87662dda2bb2fe5b36bdff78d22dfd886183e08f\"\u003e\u003ccode\u003e87662dd\u003c/code\u003e\u003c/a\u003e Recognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2158\"\u003e#2158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/d917e336f89f1d5554b816980b1828b3ed75c1af\"\u003e\u003ccode\u003ed917e33\u003c/code\u003e\u003c/a\u003e Add ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2154\"\u003e#2154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/aabe2490d40ef793aa72e8eff6851f343af89dde\"\u003e\u003ccode\u003eaabe249\u003c/code\u003e\u003c/a\u003e Realign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/a59d414b45ec2b68f372a8e2661f554c6fcd8d3d\"\u003e\u003ccode\u003ea59d414\u003c/code\u003e\u003c/a\u003e Replace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/327071fe99f3efbe295d3b3a9263c7bec5bdec47\"\u003e\u003ccode\u003e327071f\u003c/code\u003e\u003c/a\u003e Fix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2149\"\u003e#2149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.17\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vernier` from 1.8.0 to 1.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhawthorn/vernier/releases\"\u003evernier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.8.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd more colours by \u003ca href=\"https://github.com/elenatanasoiu\"\u003e\u003ccode\u003e@​elenatanasoiu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/pull/121\"\u003ejhawthorn/vernier#121\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the row limit in the CLI profile output by \u003ca href=\"https://github.com/tenderlove\"\u003e\u003ccode\u003e@​tenderlove\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/pull/163\"\u003ejhawthorn/vernier#163\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/elenatanasoiu\"\u003e\u003ccode\u003e@​elenatanasoiu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/pull/121\"\u003ejhawthorn/vernier#121\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jhawthorn/vernier/compare/v1.8.0...v1.8.1\"\u003ehttps://github.com/jhawthorn/vernier/compare/v1.8.0...v1.8.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/59317c1ce8bbd76d5275765ef6ce12453fa80c71\"\u003e\u003ccode\u003e59317c1\u003c/code\u003e\u003c/a\u003e v1.8.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/154737b5831a5f7365cffcfa5e45dc494ec6aedc\"\u003e\u003ccode\u003e154737b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/issues/163\"\u003e#163\u003c/a\u003e from tenderlove/fix-row-limit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f43167453e7606bafc603e3cd57036cacb22cdd5\"\u003e\u003ccode\u003ef431674\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jhawthorn/vernier/issues/121\"\u003e#121\u003c/a\u003e from elenatanasoiu/keith-elena/colours\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/84f8b215e1bb7382d15763982f5e3470606e5370\"\u003e\u003ccode\u003e84f8b21\u003c/code\u003e\u003c/a\u003e Clean up constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c526a5c8354e954d789da63e4af61c4fb53832d1\"\u003e\u003ccode\u003ec526a5c\u003c/code\u003e\u003c/a\u003e Move this attr_reader after constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f6e24ae1ecf864fd2b3b52b3d0f9df1db7da162a\"\u003e\u003ccode\u003ef6e24ae\u003c/code\u003e\u003c/a\u003e Match color scheme in speedscope for Kernel\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/745f5aa2eb481c973f2b74c05d7b5ca516e2984a\"\u003e\u003ccode\u003e745f5aa\u003c/code\u003e\u003c/a\u003e Just map Kernel after cfunc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/dabcd0f0dd548d132ef27ccbd9a83243a1883b48\"\u003e\u003ccode\u003edabcd0f\u003c/code\u003e\u003c/a\u003e Extract this out into methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/091736b7a62d4435e4f6b053276fcb840cbb8c60\"\u003e\u003ccode\u003e091736b\u003c/code\u003e\u003c/a\u003e colours\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/d893484759567ee4921727ce79b9b47d916981e5\"\u003e\u003ccode\u003ed893484\u003c/code\u003e\u003c/a\u003e Fix the row limit in the CLI profile output\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhawthorn/vernier/compare/v1.8.0...v1.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-rails` from 2.33.3 to 2.33.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rails/releases\"\u003erubocop-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop Rails v2.33.4\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. (\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. (\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/blob/master/CHANGELOG.md\"\u003erubocop-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.4 (2025-09-27)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. ([\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/commit/b2ccb8244903d481ed3c38ec7d82b178004b1ba8\"\u003e\u003ccode\u003eb2ccb82\u003c/code\u003e\u003c/a\u003e Cut 2.33.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/0fb12599c595f64b9f71133076d6b82039caef2f\"\u003e\u003ccode\u003e0fb1259\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/24faad2570253883247edd5b0cfb23eb56ed9c86\"\u003e\u003ccode\u003e24faad2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1533\"\u003e#1533\u003c/a\u003e from viralpraxis/load-simplecov-before-lib-for-bette...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/28caddb84e77734bda1acb6632cf58b7add0b0ec\"\u003e\u003ccode\u003e28caddb\u003c/code\u003e\u003c/a\u003e Load \u003ccode\u003esimplecov\u003c/code\u003e before loading \u003ccode\u003elib\u003c/code\u003e for better coverage results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/60dd19b6795282ae3e2c6ba0519b368fc9bb4c13\"\u003e\u003ccode\u003e60dd19b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1528\"\u003e#1528\u003c/a\u003e from 5hun-s/fix_false_positive_for_rails_action_cont...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/87e5bbffeb97904cdb840095e1b1edd1244ff539\"\u003e\u003ccode\u003e87e5bbf\u003c/code\u003e\u003c/a\u003e [Fix rubocop#1182] Fix a false positive for Rails/ActionControllerFlashBefore...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/ec292a2c818586f04291fb698710659ecb213763\"\u003e\u003ccode\u003eec292a2\u003c/code\u003e\u003c/a\u003e Fix a build error when using Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/17371a8c6b6ec46a043b6b345fbaee4de08e2d7e\"\u003e\u003ccode\u003e17371a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1531\"\u003e#1531\u003c/a\u003e from koic/fix_an_incorrect_autocorrect_for_rails_fin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/2b091eb909dad6efb162541dcdcf24567bc4291f\"\u003e\u003ccode\u003e2b091eb\u003c/code\u003e\u003c/a\u003e Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/dd734913df79ac68ca1b4038bc93320d3172cf10\"\u003e\u003ccode\u003edd73491\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1522\"\u003e#1522\u003c/a\u003e from Earlopain/find-by-where-block\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rails/compare/v2.33.3...v2.33.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday` from 2.13.4 to 2.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday/releases\"\u003efaraday's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eNew features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse newer \u003ccode\u003eUnprocessableContent\u003c/code\u003e naming for 422 by \u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes 🐞\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert strings to UTF-8 by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResponse#to_hash\u003c/code\u003e when response not finished yet by \u003ca href=\"https://github.com/yykamei\"\u003e\u003ccode\u003e@​yykamei\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1639\"\u003elostisland/faraday#1639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc/Docs 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLint: use \u003ccode\u003efilter_map\u003c/code\u003e by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1637\"\u003elostisland/faraday#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eactions/checkout\u003c/code\u003e from v4 to v5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1636\"\u003elostisland/faraday#1636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes documentation by \u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\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/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/3201a42957d37efc968ee8834ba9b50ed5dde54a\"\u003e\u003ccode\u003e3201a42\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/edd8cc513d407951be712b555f7d859f06326335\"\u003e\u003ccode\u003eedd8cc5\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eFaraday::Response#to_hash\u003c/code\u003e when request is not finished yet (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1639\"\u003e#1639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/0e008c584ddcf7d0554e470a8cea158e4b3532db\"\u003e\u003ccode\u003e0e008c5\u003c/code\u003e\u003c/a\u003e Use newer Unprocessable Content naming for 422 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1638\"\u003e#1638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/c399e43f8a2e259ad7699ce1b7d681b264de62a4\"\u003e\u003ccode\u003ec399e43\u003c/code\u003e\u003c/a\u003e Fixes typo (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1635\"\u003e#1635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/fd81a731fbecd081af137a3e544b1cda54ec3ead\"\u003e\u003ccode\u003efd81a73\u003c/code\u003e\u003c/a\u003e Convert strings to UTF-8 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1624\"\u003e#1624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/bc27144430eb1dd5a02233d3af0ac7f1c8257072\"\u003e\u003ccode\u003ebc27144\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1636\"\u003e#1636\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/f0aab6331929f64e0863caff11adcb997f3d2cd2\"\u003e\u003ccode\u003ef0aab63\u003c/code\u003e\u003c/a\u003e Lint: use filter_map (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1637\"\u003e#1637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-follow_redirects` from 0.3.0 to 0.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tisba/faraday-follow-redirects/blob/main/CHANGELOG.md\"\u003efaraday-follow_redirects's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.0 (2025-10-01)\u003c/h2\u003e\n\u003cp\u003eThis release contains no user facing changes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003einternal: adopt \u0026quot;Trusted Publishing\u0026quot; for new releases\u003c/li\u003e\n\u003cli\u003einternal: harden GitHub Action workflows\u003c/li\u003e\n\u003cli\u003einternal: move dev dependencies to Gemfile for easier updates\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/e7f653a6eac37f7ab763ca25f836436535b38b8d\"\u003e\u003ccode\u003ee7f653a\u003c/code\u003e\u003c/a\u003e prep for 0.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/36b3a17ab084e83e19b0dfe98069f950a8620970\"\u003e\u003ccode\u003e36b3a17\u003c/code\u003e\u003c/a\u003e adds release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/a13bb072bb0e36c815bdb8bbe887a33d2b279eb4\"\u003e\u003ccode\u003ea13bb07\u003c/code\u003e\u003c/a\u003e bump dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/cff54d08481ef500119885bebf70b238b8e27ac8\"\u003e\u003ccode\u003ecff54d0\u003c/code\u003e\u003c/a\u003e bumps ruby to 3.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/82a72921e43cdb2ff6c402b86f92d58fd305c73c\"\u003e\u003ccode\u003e82a7292\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.254.0 to 1.263.0 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/51\"\u003e#51\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/b6f53b119476e2dabbbc6ce487962ef724350b89\"\u003e\u003ccode\u003eb6f53b1\u003c/code\u003e\u003c/a\u003e Update all Bundler dependencies (2025-09-21) (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/48\"\u003e#48\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/20ba7693e52f0eb820e97741439bc8629a85101d\"\u003e\u003ccode\u003e20ba769\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/46\"\u003e#46\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/9e2eb5ce6e06da0db5653537d6579106206cbb67\"\u003e\u003ccode\u003e9e2eb5c\u003c/code\u003e\u003c/a\u003e Update rexml to version 3.4.4 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/49\"\u003e#49\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/680a9d28747fdc6cb712b97a11052734e7dff655\"\u003e\u003ccode\u003e680a9d2\u003c/code\u003e\u003c/a\u003e Update Ruby to version 3.4.5 (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tisba/faraday-follow-redirects/commit/a22272de7d96bcc0e91d4d5487a7a5bc221c1629\"\u003e\u003ccode\u003ea22272d\u003c/code\u003e\u003c/a\u003e Update all Bundler dependencies (2025-08-08) (\u003ca href=\"https://redirect.github.com/tisba/faraday-follow-redirects/issues/45\"\u003e#45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tisba/faraday-follow-redirects/compare/v0.3.0...v0.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/biow0lf\"\u003e\u003ccode\u003e@​biow0lf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/167\"\u003erails/globalid#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/duffuniverse\"\u003e\u003ccode\u003e@​duffuniverse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/180\"\u003erails/globalid#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/berkos\"\u003e\u003ccode\u003e@​berkos\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/170\"\u003erails/globalid#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/elia\"\u003e\u003ccode\u003e@​elia\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/195\"\u003erails/globalid#195\u003c/a\u003e\u003c/li\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/rails/globalid/pull/188\"\u003erails/globalid#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stevenharman\"\u003e\u003ccode\u003e@​stevenharman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/173\"\u003erails/globalid#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/m-nakamura145\"\u003e\u003ccode\u003e@​m-nakamura145\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/175\"\u003erails/globalid#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerwillingham\"\u003e\u003ccode\u003e@​tylerwillingham\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/200\"\u003erails/globalid#200\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/globalid/compare/v1.2.1...v1.3.0\"\u003ehttps://github.com/rails/globalid/compare/v1.2.1...v1.3.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/a10102196ceaa9ffec3744eda857ebe421a57134\"\u003e\u003ccode\u003ea101021\u003c/code\u003e\u003c/a\u003e Prepare for 1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/40b6cd57c748bfd4054035acff4c0d2cfcb58513\"\u003e\u003ccode\u003e40b6cd5\u003c/code\u003e\u003c/a\u003e Remove deprecation message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/26cdc63fec8636b95ab947f2dd6311252ea944a6\"\u003e\u003ccode\u003e26cdc63\u003c/code\u003e\u003c/a\u003e Fix test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/446a49106883573cee8ae5fde117b1e2ef02af43\"\u003e\u003ccode\u003e446a491\u003c/code\u003e\u003c/a\u003e Upgrade development dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/db9b467cb7d1b5c46e3566cd3814dd2f63aa88c1\"\u003e\u003ccode\u003edb9b467\u003c/code\u003e\u003c/a\u003e Add release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/497bf21dbb2f2b345f7d3636ac60594910097dda\"\u003e\u003ccode\u003e497bf21\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/200\"\u003e#200\u003c/a\u003e from tylerwillingham/twilling/locate-arity-warning-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/b4b3f4986674e0b76eb40aeb0c47c8d3e907d4de\"\u003e\u003ccode\u003eb4b3f49\u003c/code\u003e\u003c/a\u003e Resolve deprecation warning around #locate arity for custom locator test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/8666784ed3c1b49471448d67f48644066e652c06\"\u003e\u003ccode\u003e8666784\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/179\"\u003e#179\u003c/a\u003e from heka1024/configurable-base-locator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/460279de1ad92021df420bdf7b83f9ed82ea400d\"\u003e\u003ccode\u003e460279d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/globalid/issues/198\"\u003e#198\u003c/a\u003e from Earlopain/uri-parser-memo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/globalid/commit/42ead609edd54dbd22013d07c4b1b3143c2e078d\"\u003e\u003ccode\u003e42ead60\u003c/code\u003e\u003c/a\u003e Move uri parser to constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/globalid/compare/v1.2.1...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net-imap` from 0.5.10 to 0.5.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/net-imap/releases\"\u003enet-imap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eTruffleRuby is not (yet) \u0026quot;officially supported\u0026quot; but it seems to work (with a few small caveats).  Several tests are still marked as pending, but the rest all pass.  \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e protects us from merging PRs that break TruffleRuby (and, in some cases, JRuby).\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix loading of Net::IMAP::Config for JRuby/TruffleRuby by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/530\"\u003eruby/net-imap#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Test overriding inherited ::Data methods by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/531\"\u003eruby/net-imap#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Add TruffleRuby to CI by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/528\"\u003eruby/net-imap#528\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.11...v0.5.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.5.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#to_sequence_set\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/511\"\u003eruby/net-imap#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eESearchResult#each\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/513\"\u003eruby/net-imap#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✨ Add \u003ccode\u003eVanishedData#each\u003c/code\u003e, delegated to \u003ccode\u003e#uids.each_number\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/522\"\u003eruby/net-imap#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport new \u003ccode\u003eRactor.shareable_proc\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/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix \u003ccode\u003eSearchResult#==\u003c/code\u003e for LHS with no modseq by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/514\"\u003eruby/net-imap#514\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Allow \u003ccode\u003eobj.to_sequence_set =\u0026gt; nil\u003c/code\u003e in try_convert by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/512\"\u003eruby/net-imap#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e♻️ Allow \u003ccode\u003eVanishedData#uids\u003c/code\u003e to be \u003ccode\u003eSequenceSet.empty\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/517\"\u003eruby/net-imap#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e🥅 Raise \u003ccode\u003eArgumentError\u003c/code\u003e for \u003ccode\u003e#fetch\u003c/code\u003e with \u003ccode\u003epartial\u003c/code\u003e by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/521\"\u003eruby/net-imap#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e📚 Fix rdoc call-seq for uid_expunge by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/516\"\u003eruby/net-imap#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e📚 Add QRESYNC to \u003ccode\u003e#enable\u003c/code\u003e (docs only) by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/518\"\u003eruby/net-imap#518\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMiscellaneous\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ Organize test files by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/515\"\u003eruby/net-imap#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e✅ Fix flaky tests with \u003ccode\u003eFakeServer#Connection#close\u003c/code\u003e mutex by \u003ca href=\"https://github.com/nevans\"\u003e\u003ccode\u003e@​nevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/520\"\u003eruby/net-imap#520\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/net-imap/pull/524\"\u003eruby/net-imap#524\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ko1\"\u003e\u003ccode\u003e@​ko1\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/net-imap/pull/525\"\u003eruby/net-imap#525\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\"\u003ehttps://github.com/ruby/net-imap/compare/v0.5.10...v0.5.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/bab9dfb161d473d7b379b6d0e060fef28791ccb9\"\u003e\u003ccode\u003ebab9dfb\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/4ec0f83c413a475f3a5b33c610e0157f8442c2b7\"\u003e\u003ccode\u003e4ec0f83\u003c/code\u003e\u003c/a\u003e 🔀 Merge pull request \u003ca href=\"https://redirect.github.com/ruby/net-imap/issues/528\"\u003e#528\u003c/a\u003e from ruby/add-truffleruby-to-ci\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/ad5eb96cb191f38c50f4094bcb73d37ba524759c\"\u003e\u003ccode\u003ead5eb96\u003c/code\u003e\u003c/a\u003e ✅🚧 Run CI with TruffleRuby (experimental for now)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/50f83b810c092c7b680c00136b5bb1840bbc48ab\"\u003e\u003ccode\u003e50f83b8\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 2 ConnectionState tests as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/6d42c16a406a107e4e6b0be3f352314944d06cea\"\u003e\u003ccode\u003e6d42c16\u003c/code\u003e\u003c/a\u003e ✅🚧 Mark 1 ::Data test as pending for TruffleRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/9b9a89c9e3c8c09b072955c40881e1cfa1eb8d90\"\u003e\u003ccode\u003e9b9a89c\u003c/code\u003e\u003c/a\u003e ✅ Add TruffleRuby/JRuby pend/omit test helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/c7a6b43c72ceebe59cd1fd1a6f78702ff12ef22e\"\u003e\u003ccode\u003ec7a6b43\u003c/code\u003e\u003c/a\u003e ✅ Skip simplecov for non-CRuby engines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/cb4a6467b767850fc0b343721b71268050478499\"\u003e\u003ccode\u003ecb4a646\u003c/code\u003e\u003c/a\u003e ✅ Test overriding inherited ::Data methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/8c282c098ab42df50e3f8812c90e5921200e5e4b\"\u003e\u003ccode\u003e8c282c0\u003c/code\u003e\u003c/a\u003e 🐛 Fix loading of Net::IMAP::Config for JRuby\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/net-imap/commit/b97b414039c1590ac261072544b9b9b45cf3e81c\"\u003e\u003ccode\u003eb97b414\u003c/code\u003e\u003c/a\u003e 🔖 Bump version to 0.5.11\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/net-imap/compare/v0.5.10...v0.5.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pp` from 0.6.2 to 0.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/pp/releases\"\u003epp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubygems/release-gem from 1.1.0 to 1.1.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/pp/pull/34\"\u003eruby/pp#34\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.2 to 2.10.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/pp/pull/35\"\u003eruby/pp#35\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.3 to 2.10.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/pp/pull/36\"\u003eruby/pp#36\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.10.4 to 2.11.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/pp/pull/37\"\u003eruby/pp#37\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the thread local state is always set up. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid an array allocation per element in list passed to seplist by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI with recent Ruby releases 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/pp/pull/45\"\u003eruby/pp#45\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump step-security/harden-runner from 2.11.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/pp/pull/44\"\u003eruby/pp#44\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/pp/pull/46\"\u003eruby/pp#46\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/pp/pull/47\"\u003eruby/pp#47\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/pp/pull/48\"\u003eruby/pp#48\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/pp/pull/50\"\u003eruby/pp#50\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport new instance_variables_to_inspect method from Ruby core by \u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd version.rake 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/pp/pull/52\"\u003eruby/pp#52\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ::Data warning on Ruby 2.7 by \u003ca href=\"https://github.com/eregon\"\u003e\u003ccode\u003e@​eregon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/53\"\u003eruby/pp#53\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not override the methods in set.rb 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/pp/pull/55\"\u003eruby/pp#55\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check 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/pp/pull/56\"\u003eruby/pp#56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate pp for Set to use new inspect format by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/43\"\u003eruby/pp#43\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrivial improvements 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/pp/pull/59\"\u003eruby/pp#59\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/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/38\"\u003eruby/pp#38\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/41\"\u003eruby/pp#41\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/pp/pull/49\"\u003eruby/pp#49\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/pp/compare/v0.6.2...v0.6.3\"\u003ehttps://github.com/ruby/pp/compare/v0.6.2...v0.6.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/c1992ce07d2683cb3f0bcb62f60e20323bce254b\"\u003e\u003ccode\u003ec1992ce\u003c/code\u003e\u003c/a\u003e Bump up to 0.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/fee2d390993d6c487bda3a452d427e397ae4d54e\"\u003e\u003ccode\u003efee2d39\u003c/code\u003e\u003c/a\u003e Reduce substring creations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/feb417e1529bf99c5315bf0c0eb5ba70675d3f89\"\u003e\u003ccode\u003efeb417e\u003c/code\u003e\u003c/a\u003e Suppress warnings in test on Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/0e894662697d5963bdde27418521fa46aec8e0e8\"\u003e\u003ccode\u003e0e89466\u003c/code\u003e\u003c/a\u003e Simplify recursive state handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/40b713d70f9634915fdd2577c1d6df1e6a4d1f5a\"\u003e\u003ccode\u003e40b713d\u003c/code\u003e\u003c/a\u003e Exclude out-of-scope test instead of omitting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/507eebf71134032414e03683344161ba2822f0ce\"\u003e\u003ccode\u003e507eebf\u003c/code\u003e\u003c/a\u003e Update pp for Set to use new inspect format (\u003ca href=\"https://redirect.github.com/ruby/pp/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/24a0d3ff1c88efd31462377e15bbf6e3a90305b3\"\u003e\u003ccode\u003e24a0d3f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/56\"\u003e#56\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/6615b62d7b269391cff131f00ac2754808936c46\"\u003e\u003ccode\u003e6615b62\u003c/code\u003e\u003c/a\u003e Refine \u003ccode\u003eSet#pretty_print\u003c/code\u003e check\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/99064d28dc5e5881926c17eb73216491860ffbb0\"\u003e\u003ccode\u003e99064d2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/pp/issues/55\"\u003e#55\u003c/a\u003e from nobu/set-pp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/pp/commit/352081dbbf22b968830848c2fb735d43530d3329\"\u003e\u003ccode\u003e352081d\u003c/code\u003e\u003c/a\u003e Do not override the methods in set.rb\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/pp/compare/v0.6.2...v0.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rdoc` from 6.14.2 to 6.15.0\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.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\u003eAllow rdoc-ref to link to non-text files by \u003ca href=\"https://github.com/jeremyevans\"\u003e\u003ccode\u003e@​jeremyevans\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1376\"\u003eruby/rdoc#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSearch automatically on ?q= URL query parameter by \u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esearcher.js: Escape characters when building regexps 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/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix backslash handling in table cell code spans 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/1400\"\u003eruby/rdoc#1400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags 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/1427\"\u003eruby/rdoc#1427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve inline styling inside tidy link labels 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/1428\"\u003eruby/rdoc#1428\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/rdoc/pull/1393\"\u003eruby/rdoc#1393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Fix \u003ccode\u003ewarn_missing_rdoc_ref\u003c/code\u003e default value in doc 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/1408\"\u003eruby/rdoc#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Correct levels of headings 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/rdoc/pull/1412\"\u003eruby/rdoc#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Tweaks for markup reference intro 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/rdoc/pull/1411\"\u003eruby/rdoc#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] Re-format section Directives 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/rdoc/pull/1418\"\u003eruby/rdoc#1418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMigrate README to markdown 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/1422\"\u003eruby/rdoc#1422\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u0026quot;poeple\u0026quot; typo and reword for clarity by \u003ca href=\"https://github.com/p8\"\u003e\u003ccode\u003e@​p8\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1388\"\u003eruby/rdoc#1388\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/rdoc/pull/1392\"\u003eruby/rdoc#1392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape unescaped backslash at the end of code 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/rdoc/pull/1404\"\u003eruby/rdoc#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/download-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/1406\"\u003eruby/rdoc#1406\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/rdoc/pull/1407\"\u003eruby/rdoc#1407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;Shorten the description text to get rid of JRuby exception\u0026quot; by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1401\"\u003eruby/rdoc#1401\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrim even spaces only in code 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/rdoc/pull/1405\"\u003eruby/rdoc#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCommit generated files 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/1410\"\u003eruby/rdoc#1410\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/rdoc/pull/1415\"\u003eruby/rdoc#1415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/github-script from 7 to 8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1423\"\u003eruby/rdoc#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange error message assertion to make it pass in JRuby 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/rdoc/pull/1425\"\u003eruby/rdoc#1425\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/rdoc/pull/1426\"\u003eruby/rdoc#1426\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings 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/rdoc/pull/1409\"\u003eruby/rdoc#1409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version to 6.15.0 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/1429\"\u003eruby/rdoc#1429\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1397\"\u003eruby/rdoc#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn\"\u003e\u003ccode\u003e@​jhawthorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/rdoc/pull/1396\"\u003eruby/rdoc#1396\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.14.2...v6.15.0\"\u003ehttps://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/c33d173ffabe9df139efd48bce1986d08a2bbebe\"\u003e\u003ccode\u003ec33d173\u003c/code\u003e\u003c/a\u003e Bump version to 6.15.0 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/6b6033b588b917682fd102fc0c1b02d3f53b4620\"\u003e\u003ccode\u003e6b6033b\u003c/code\u003e\u003c/a\u003e Preserve inline styling inside tidy link labels (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e0051be26ae979882a1034f41499112d14ac878a\"\u003e\u003ccode\u003ee0051be\u003c/code\u003e\u003c/a\u003e Fix incorrect method linking in \u003ccode\u003ett\u003c/code\u003e tags (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1427\"\u003e#1427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/88db6135378d31c43250f3961eab71b1efa42f19\"\u003e\u003ccode\u003e88db613\u003c/code\u003e\u003c/a\u003e Fix warnings (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/b72648569b8db657867ab61e6fa25d106dedf46e\"\u003e\u003ccode\u003eb726485\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.13.0 to 2.13.1 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/71d4090e4841f591b4e9ae518fc329d71fdcc1f5\"\u003e\u003ccode\u003e71d4090\u003c/code\u003e\u003c/a\u003e Change error message assertion to make it pass in JRuby (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1425\"\u003e#1425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/2308312eef53d6eca446188fa2a4e1988b78ed0d\"\u003e\u003ccode\u003e2308312\u003c/code\u003e\u003c/a\u003e Migrate README to markdown (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1422\"\u003e#1422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/1e4573b56e75c6b8fa97250989b9a7701a9bb0f0\"\u003e\u003ccode\u003e1e4573b\u003c/code\u003e\u003c/a\u003e Bump actions/github-script from 7 to 8 (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1423\"\u003e#1423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/e2dec097f2086cc7df564dda51f5f95bc431cbfa\"\u003e\u003ccode\u003ee2dec09\u003c/code\u003e\u003c/a\u003e [DOC] Re-format section Directives (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1418\"\u003e#1418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rdoc/commit/f2fefe0ee7e6aae72387f813edccbeee30a8dc84\"\u003e\u003ccode\u003ef2fefe0\u003c/code\u003e\u003c/a\u003e [DOC] Tweaks for markup reference intro (\u003ca href=\"https://redirect.github.com/ruby/rdoc/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rdoc/compare/v6.14.2...v6.15.0\"\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.2 to 1.81.1\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.81.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/issues/14563\"\u003e#14563\u003c/a\u003e: Fix incorrect autocorrection for \u003ccode\u003eLint/DeprecatedOpenSSLConstant\u003c/code\u003e when \u003ccode\u003eCipher\u003c/code\u003e appears twice. (\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/pull/14565\"\u003e#14565\u003c/a\u003e: Allow multiline method chain for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e with \u003ccode\u003eEnforcedStyle: allow_single_line\u003c/code\u003e when the block itself is on a single line. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRuboCop v1.81.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/pull/14512\"\u003e#14512\u003c/a\u003e: Add \u003ccode\u003eStyle/ArrayIntersectWithSingleElement\u003c/code\u003e cop. (\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/10971\"\u003e#10971\u003c/a\u003e: Support \u003ccode\u003eEnforcedStyleForMultiline: diff_comma\u003c/code\u003e in \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e. (\u003ca href=\"https://github.com/akouryy\"\u003e\u003ccode\u003e@​akouryy\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/14560\"\u003e#14560\u003c/a\u003e: Fix an error for \u003ccode\u003eStyle/NilComparison\u003c/code\u003e cop when using the \u003ccode\u003evar.==(nil)\u003c/code\u003e and \u003ccode\u003evar.===(nil)\u003c/code\u003e syntax. (\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/issues/14535\"\u003e#14535\u003c/a\u003e: Fix autocorrect for \u003ccode\u003eStyle/ExplicitBlockArgument\u003c/code\u003e when there are two methods that share the same implementation. (\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/14527\"\u003e#14527\u003c/a\u003e: Fix false negatives for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e when using multiline method chain with \u003ccode\u003eEnforcedStyle: allow_single_line\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/14522\"\u003e#14522\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/MultilineOperationIndentation\u003c/code\u003e when using indented code on LHS of equality operator in modifier method 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/14496\"\u003e#14496\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/EmptyLineBetweenDefs\u003c/code\u003e for \u003ccode\u003eAllowAdjacentOneLineDefs: false\u003c/code\u003e and \u003ccode\u003eDefLikeMacros\u003c/code\u003e that take no block. (\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/issues/14553\"\u003e#14553\u003c/a\u003e: Fix false positives when \u003ccode\u003eEnforcedStyle: allowed_in_returns\u003c/code\u003e and \u003ccode\u003e!!\u003c/code\u003e appears across multiple lines in return position. (\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/14557\"\u003e#14557\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parentheses are used around a one-line \u003ccode\u003erescue\u003c/code\u003e expression as a condition. (\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/14525\"\u003e#14525\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantRegexpEscape\u003c/code\u003e when an escaped variable sigil follows \u003ccode\u003e#\u003c/code\u003e (e.g., \u003ccode\u003e/#\\@foo/\u003c/code\u003e, \u003ccode\u003e/#\\@@bar/\u003c/code\u003e, \u003ccode\u003e/#\\$baz/\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/14529\"\u003e#14529\u003c/a\u003e: Fix false negative in \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e with a block whose send node is split over multiple lines. (\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/issues/14528\"\u003e#14528\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantFormat\u003c/code\u003e when the format string has a variable width that isn't given as a literal value. (\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/issues/14541\"\u003e#14541\u003c/a\u003e: Fix gemspec parsing error when \u003ccode\u003eParserEngine: parser_prism\u003c/code\u003e is configured in a base config file. ([\u003ca href=\"https://github.com/sudoremo\"\u003e\u003ccode\u003e@​sudoremo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14544\"\u003e#14544\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eLint/Void\u003c/code\u003e when using a return value in assignment method 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/14543\"\u003e#14543\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/RedundantRegexpArgument\u003c/code\u003e when using escaped single quote character. (\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/14540\"\u003e#14540\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/UnlessElse\u003c/code\u003e when using \u003ccode\u003eunless\u003c/code\u003e with \u003ccode\u003ethen\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/14507\"\u003e#14507\u003c/a\u003e: Fix the built-in Ruby LSP add-on not restarting when config files (\u003ccode\u003e.rubocop.yml\u003c/code\u003e, \u003ccode\u003e.rubocop_todo.yml\u003c/code\u003e) change. (\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/14514\"\u003e#14514\u003c/a\u003e: Fix the built-in Ruby LSP add-on not respecting \u003ccode\u003e.rubocop\u003c/code\u003e config file. (\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/14508\"\u003e#14508\u003c/a\u003e: Fix the built-in Ruby LSP add-on getting in an irrecoverable state when the config is invalid on startup. (\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/issues/14534\"\u003e#14534\u003c/a\u003e: Prevent \u003ccode\u003eLayout/LineLength\u003c/code\u003e autocorrection from splitting a block if its receiver contains a heredoc. (\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/14497\"\u003e#14497\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/ShadowedArgument\u003c/code\u003e when assigning inside a \u003ccode\u003erescue\u003c/code\u003e block. (\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\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/14492\"\u003e#14492\u003c/a\u003e: Add support for LSP \u003ccode\u003epositionEncoding\u003c/code\u003e \u003ccode\u003eutf-8\u003c/code\u003e and \u003ccode\u003eutf-32\u003c/code\u003e. ([\u003ca href=\"https://github.com/tmtm\"\u003e\u003ccode\u003e@​tmtm\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.81.1 (2025-09-26)\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/14563\"\u003e#14563\u003c/a\u003e: Fix incorrect autocorrection for \u003ccode\u003eLint/DeprecatedOpenSSLConstant\u003c/code\u003e when \u003ccode\u003eCipher\u003c/code\u003e appears twice. ([\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/pull/14565\"\u003e#14565\u003c/a\u003e: Allow multiline method chain for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e with \u003ccode\u003eEnforcedStyle: allow_single_line\u003c/code\u003e when the block itself is on a single line. ([\u003ca href=\"https://github.com/earlopain\"\u003e\u003ccode\u003e@​earlopain\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.81.0 (2025-09-25)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14512\"\u003e#14512\u003c/a\u003e: Add \u003ccode\u003eStyle/ArrayIntersectWithSingleElement\u003c/code\u003e cop. ([\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/10971\"\u003e#10971\u003c/a\u003e: Support \u003ccode\u003eEnforcedStyleForMultiline: diff_comma\u003c/code\u003e in \u003ccode\u003eStyle/TrailingCommaInArguments\u003c/code\u003e. ([\u003ca href=\"https://github.com/akouryy\"\u003e\u003ccode\u003e@​akouryy\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/14560\"\u003e#14560\u003c/a\u003e: Fix an error for \u003ccode\u003eStyle/NilComparison\u003c/code\u003e cop when using the \u003ccode\u003evar.==(nil)\u003c/code\u003e and \u003ccode\u003evar.===(nil)\u003c/code\u003e syntax. ([\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/issues/14535\"\u003e#14535\u003c/a\u003e: Fix autocorrect for \u003ccode\u003eStyle/ExplicitBlockArgument\u003c/code\u003e when there are two methods that share the same implementation. ([\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/14527\"\u003e#14527\u003c/a\u003e: Fix false negatives for \u003ccode\u003eStyle/NumberedParameters\u003c/code\u003e and \u003ccode\u003eStyle/ItBlockParameter\u003c/code\u003e when using multiline method chain with \u003ccode\u003eEnforcedStyle: allow_single_line\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/14522\"\u003e#14522\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/MultilineOperationIndentation\u003c/code\u003e when using indented code on LHS of equality operator in modifier method 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/14496\"\u003e#14496\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLayout/EmptyLineBetweenDefs\u003c/code\u003e for \u003ccode\u003eAllowAdjacentOneLineDefs: false\u003c/code\u003e and \u003ccode\u003eDefLikeMacros\u003c/code\u003e that take no block. ([\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/issues/14553\"\u003e#14553\u003c/a\u003e: Fix false positives when \u003ccode\u003eEnforcedStyle: allowed_in_returns\u003c/code\u003e and \u003ccode\u003e!!\u003c/code\u003e appears across multiple lines in return position. ([\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/14557\"\u003e#14557\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parentheses are used around a one-line \u003ccode\u003erescue\u003c/code\u003e expression as a condition. ([\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/14525\"\u003e#14525\u003c/a\u003e: Fix false positives for \u003ccode\u003eStyle/RedundantRegexpEscape\u003c/code\u003e when an escaped variable sigil follows \u003ccode\u003e#\u003c/code\u003e (e.g., \u003ccode\u003e/#\\@foo/\u003c/code\u003e, \u003ccode\u003e/#\\@@bar/\u003c/code\u003e, \u003ccode\u003e/#\\$baz/\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/14529\"\u003e#14529\u003c/a\u003e: Fix false negative in \u003ccode\u003eLayout/RescueEnsureAlignment\u003c/code\u003e with a block whose send node is split over multiple lines. ([\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/issues/14528\"\u003e#14528\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantFormat\u003c/code\u003e when the format string has a variable width that isn't given as a literal value. ([\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/issues/14541\"\u003e#14541\u003c/a\u003e: Fix gemspec parsing error when \u003ccode\u003eParserEngine: parser_prism\u003c/code\u003e is configured in a base config file. ([\u003ca href=\"https://github.com/sudoremo\"\u003e\u003ccode\u003e@​sudoremo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14544\"\u003e#14544\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eLint/Void\u003c/code\u003e when using a return value in assignment method 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/14543\"\u003e#14543\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/RedundantRegexpArgument\u003c/code\u003e when using escaped single quote character. ([\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/14540\"\u003e#14540\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eStyle/UnlessElse\u003c/code\u003e when using \u003ccode\u003eunless\u003c/code\u003e with \u003ccode\u003ethen\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/14507\"\u003e#14507\u003c/a\u003e: Fix the built-in Ruby LSP add-on not restarting when config files (\u003ccode\u003e.rubocop.yml\u003c/code\u003e, \u003ccode\u003e.rubocop_todo.yml\u003c/code\u003e) change. ([\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/14514\"\u003e#14514\u003c/a\u003e: Fix the built-in Ruby LSP add-on not respecting \u003ccode\u003e.rubocop\u003c/code\u003e config file. ([\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/14508\"\u003e#14508\u003c/a\u003e: Fix the built-in Ruby LSP add-on getting in an irrecoverable state when the config is invalid on startup. ([\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/issues/14534\"\u003e#14534\u003c/a\u003e: Prevent \u003ccode\u003eLayout/LineLength\u003c/code\u003e autocorrection from splitting a block if its receiver contains a heredoc. ([\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/14497\"\u003e#14497\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/ShadowedArgument\u003c/code\u003e when assigning inside a \u003ccode\u003ere...\n\n_Description has been truncated_","html_url":"https://github.com/bensheldon/island94.org/pull/444","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bensheldon%2Fisland94.org/issues/444","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/444/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-06T02:10:11.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"2888617299","node_id":"PR_kwDOCB6Cus6sLM1T","number":1291,"state":"open","title":"Bump the production-dependencies-minor group across 1 directory with 25 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-06T02:10:11.000Z","updated_at":"2025-10-06T02:10:12.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"production-dependencies-minor","update_count":25,"packages":[{"name":"rake","old_version":"13.2.1","new_version":"13.3.0","repository_url":"https://github.com/ruby/rake"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.18.6","repository_url":"https://github.com/Shopify/bootsnap"},{"name":"test-unit","old_version":"3.2.7","new_version":"3.7.0","repository_url":"https://github.com/test-unit/test-unit"},{"name":"aws-sdk-s3","old_version":"1.113.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"json","old_version":"2.12.2","new_version":"2.15.0","repository_url":"https://github.com/ruby/json"},{"name":"rack-attack","old_version":"6.5.0","new_version":"6.7.0","repository_url":"https://github.com/rack/rack-attack"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"dalli","old_version":"3.2.3","new_version":"3.2.8","repository_url":"https://github.com/petergoldstein/dalli"},{"name":"carrierwave","old_version":"3.1.1","new_version":"3.1.2","repository_url":"https://github.com/carrierwaveuploader/carrierwave"},{"name":"mini_magick","old_version":"5.2.0","new_version":"5.3.1","repository_url":"https://github.com/minimagick/minimagick"},{"name":"httparty","old_version":"0.21.0","new_version":"0.23.1","repository_url":"https://github.com/jnunemaker/httparty"},{"name":"geocoder","old_version":"1.6.1","new_version":"1.8.6","repository_url":"https://github.com/alexreisner/geocoder"},{"name":"table_print","old_version":"1.5.4","new_version":"1.5.7","repository_url":"https://github.com/arches/table_print"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"csv","old_version":"3.3.4","new_version":"3.3.5","repository_url":"https://github.com/ruby/csv"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"rails-autoscale-web","old_version":"1.11.1","new_version":"1.12.0","repository_url":"https://github.com/judoscale/judoscale-ruby"},{"name":"lograge","old_version":"0.3.6","new_version":"0.14.0","repository_url":"https://github.com/roidrage/lograge"},{"name":"recaptcha","old_version":"5.19.0","new_version":"5.21.1","repository_url":"https://github.com/ambethia/recaptcha"},{"name":"connection_pool","old_version":"2.5.3","new_version":"2.5.4","repository_url":"https://github.com/mperham/connection_pool"},{"name":"barnes","old_version":"0.0.8","new_version":"0.0.9","repository_url":"https://github.com/heroku/barnes"},{"name":"has_scope","old_version":"0.8.2","new_version":"0.9.0","repository_url":"https://github.com/heartcombo/has_scope"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"js-routes","old_version":"2.2.7","new_version":"2.3.5","repository_url":"https://github.com/railsware/js-routes"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the production-dependencies-minor group with 25 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rake](https://github.com/ruby/rake) | `13.2.1` | `13.3.0` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [bootsnap](https://github.com/Shopify/bootsnap) | `1.18.4` | `1.18.6` |\n| [test-unit](https://github.com/test-unit/test-unit) | `3.2.7` | `3.7.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.113.0` | `1.199.1` |\n| [json](https://github.com/ruby/json) | `2.12.2` | `2.15.0` |\n| [rack-attack](https://github.com/rack/rack-attack) | `6.5.0` | `6.7.0` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [dalli](https://github.com/petergoldstein/dalli) | `3.2.3` | `3.2.8` |\n| [carrierwave](https://github.com/carrierwaveuploader/carrierwave) | `3.1.1` | `3.1.2` |\n| [mini_magick](https://github.com/minimagick/minimagick) | `5.2.0` | `5.3.1` |\n| [httparty](https://github.com/jnunemaker/httparty) | `0.21.0` | `0.23.1` |\n| [geocoder](https://github.com/alexreisner/geocoder) | `1.6.1` | `1.8.6` |\n| [table_print](https://github.com/arches/table_print) | `1.5.4` | `1.5.7` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [csv](https://github.com/ruby/csv) | `3.3.4` | `3.3.5` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [rails-autoscale-web](https://github.com/judoscale/judoscale-ruby) | `1.11.1` | `1.12.0` |\n| [lograge](https://github.com/roidrage/lograge) | `0.3.6` | `0.14.0` |\n| [recaptcha](https://github.com/ambethia/recaptcha) | `5.19.0` | `5.21.1` |\n| [connection_pool](https://github.com/mperham/connection_pool) | `2.5.3` | `2.5.4` |\n| [barnes](https://github.com/heroku/barnes) | `0.0.8` | `0.0.9` |\n| [has_scope](https://github.com/heartcombo/has_scope) | `0.8.2` | `0.9.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [js-routes](https://github.com/railsware/js-routes) | `2.2.7` | `2.3.5` |\n\n\nUpdates `rake` from 13.2.1 to 13.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/0fdacef47aa9a4140e472b0ce302a2dd09423a75\"\u003e\u003ccode\u003e0fdacef\u003c/code\u003e\u003c/a\u003e Bump rake to 13.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/fcc1f868360dd0c26a2f992e498efdd2088da15e\"\u003e\u003ccode\u003efcc1f86\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/515\"\u003e#515\u003c/a\u003e from rgarner/task-arguments-deconstruct-keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/8e917d9569675624b2c68fd5264c1dee513d9c88\"\u003e\u003ccode\u003e8e917d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/609\"\u003e#609\u003c/a\u003e from pvdb/fix_rubyrunner_require\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/0378c45af32de537f4ed946accc36a66ffb96d7c\"\u003e\u003ccode\u003e0378c45\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/627\"\u003e#627\u003c/a\u003e from komagata/fix-rdoc-links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/cff76641e7aff0b905f0c20b77efe0b6acfbb0be\"\u003e\u003ccode\u003ecff7664\u003c/code\u003e\u003c/a\u003e Pattern matching support for arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/a4454e681918babb8a86900794466b40c3f732db\"\u003e\u003ccode\u003ea4454e6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/608\"\u003e#608\u003c/a\u003e from pvdb/use_dir_home\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/0b727e9abfc60d3ee7eb22f5668c8552aa2d9028\"\u003e\u003ccode\u003e0b727e9\u003c/code\u003e\u003c/a\u003e Remove superfluous dependency requires (in tests)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/5367e5c92d78be969812ac1ffa43a11df6a602d7\"\u003e\u003ccode\u003e5367e5c\u003c/code\u003e\u003c/a\u003e Move dependency requires to RubyRunner file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/6ba460101b2c0c3862dc84ebea9d683361346208\"\u003e\u003ccode\u003e6ba4601\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/634\"\u003e#634\u003c/a\u003e from ruby/trusted-publisher\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/6b3daf8723b9768590fa6bddbede8652f221a42d\"\u003e\u003ccode\u003e6b3daf8\u003c/code\u003e\u003c/a\u003e Enabled trusted publisher for rubygems.org\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.2.1...v13.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jbuilder` from 2.13.0 to 2.14.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/jbuilder/releases\"\u003ejbuilder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure that \u003ccode\u003eJbuilder.encode\u003c/code\u003e properly forwards arguments to \u003ccode\u003e.new\u003c/code\u003e by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/601\"\u003erails/jbuilder#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/rails/jbuilder/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support to Ruby \u0026lt; 3.0 and Rails \u0026lt; 7.0\u003c/li\u003e\n\u003cli\u003eTest against Rails 8 and fix Rails 7 logger dependency by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/582\"\u003erails/jbuilder#582\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd status: :see_other to update action by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/583\"\u003erails/jbuilder#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForce close final statement in templates by \u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_is_collection?\u003c/code\u003e method by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e#frozen_string_literal: true\u003c/code\u003e to all files by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/599\"\u003erails/jbuilder#599\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003e_key\u003c/code\u003e to prevent string allocation when formatting \u003ccode\u003eSymbol\u003c/code\u003es by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/593\"\u003erails/jbuilder#593\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize key formatter by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/597\"\u003erails/jbuilder#597\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize internal \u003ccode\u003eextract!\u003c/code\u003e calls to save on memory allocation by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/598\"\u003erails/jbuilder#598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix regression in API controllers with view_cache_dependencies helper by \u003ca href=\"https://github.com/excid3\"\u003e\u003ccode\u003e@​excid3\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/575\"\u003erails/jbuilder#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize \u003ccode\u003emethod_missing\u003c/code\u003e via \u003ccode\u003ealias_method\u003c/code\u003e by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/600\"\u003erails/jbuilder#600\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup project for Rails 7+ support by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/594\"\u003erails/jbuilder#594\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix warnings and prevent Jbuilder::VERSION constant from being obliterated by \u003ca href=\"https://github.com/pixeltrix\"\u003e\u003ccode\u003e@​pixeltrix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/574\"\u003erails/jbuilder#574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize memory allocation when rendering partials by \u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/591\"\u003erails/jbuilder#591\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/richardvenneman\"\u003e\u003ccode\u003e@​richardvenneman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/576\"\u003erails/jbuilder#576\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ienders\"\u003e\u003ccode\u003e@​ienders\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/578\"\u003erails/jbuilder#578\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/moberegger\"\u003e\u003ccode\u003e@​moberegger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/jbuilder/pull/590\"\u003erails/jbuilder#590\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\"\u003ehttps://github.com/rails/jbuilder/compare/v2.13.0...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/38339adaa9d44ba89c0dde2a795338a886941e6f\"\u003e\u003ccode\u003e38339ad\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/2400fd9ce631ec9689b535e9af6ad866781f8ef9\"\u003e\u003ccode\u003e2400fd9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/601\"\u003e#601\u003c/a\u003e from flavorjones/flavorjones/fix-encode-arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/a6863b5d582b966fcfbef8686c829c950efd1f5c\"\u003e\u003ccode\u003ea6863b5\u003c/code\u003e\u003c/a\u003e Ensure that Jbuilder.encode properly forwards arguments to .new\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/30ba7df152aacdf20b6267a82b9d2b1f9e947636\"\u003e\u003ccode\u003e30ba7df\u003c/code\u003e\u003c/a\u003e Prepare for 2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/5f4af71c859c6b234eef1682f81aac225534f048\"\u003e\u003ccode\u003e5f4af71\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/591\"\u003e#591\u003c/a\u003e from moberegger/moberegger/optimize_options_merges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/6fd6c0662f6507be951ba842857c663adb000f56\"\u003e\u003ccode\u003e6fd6c06\u003c/code\u003e\u003c/a\u003e Small _set_inline_partial optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/b7b5abb02d9bb2ed1fc584a08142838a05cafc08\"\u003e\u003ccode\u003eb7b5abb\u003c/code\u003e\u003c/a\u003e Stop mutating options in partial! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/7e16adf446c9da701e1e5fdbe9c93f7f8095630d\"\u003e\u003ccode\u003e7e16adf\u003c/code\u003e\u003c/a\u003e Stop mutating options in set! method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/8474b41f666b13055b9368107c783cdae7903fb6\"\u003e\u003ccode\u003e8474b41\u003c/code\u003e\u003c/a\u003e Remove _partial micro-optimization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/jbuilder/commit/9ffacf75a64f5f595bee3cfb28dcfe3307d8e2da\"\u003e\u003ccode\u003e9ffacf7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/jbuilder/issues/574\"\u003e#574\u003c/a\u003e from pixeltrix/fix-warnings-and-version-constant\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/jbuilder/compare/v2.13.0...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bootsnap` from 1.18.4 to 1.18.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/bootsnap/blob/main/CHANGELOG.md\"\u003ebootsnap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.18.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e1.18.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAttempt to detect a QEMU bug that can cause \u003ccode\u003ebootsnap precompile\u003c/code\u003e to hang forever when building ARM64 docker images\nfrom x86_64 machines. See \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/495\"\u003e#495\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eImprove CLI to detect cgroup CPU limits and avoid spawning too many worker processes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/86efe7df5e3b19b0ba550206a9e03a5c6499d3b0\"\u003e\u003ccode\u003e86efe7d\u003c/code\u003e\u003c/a\u003e Release 1.18.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dc98453267575068a3aac65b8653382acd2f84a7\"\u003e\u003ccode\u003edc98453\u003c/code\u003e\u003c/a\u003e Fix cgroup CPU limits detection in CLI.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/11dbc37f60e6575795cd2295a2494a0bd5e488b3\"\u003e\u003ccode\u003e11dbc37\u003c/code\u003e\u003c/a\u003e Release 1.18.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/dcd9327587f02f08e8313ff4fc163f04aaaab7e8\"\u003e\u003ccode\u003edcd9327\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/501\"\u003e#501\u003c/a\u003e from Shopify/improve-parallelism\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/abe4ec3aa9d80f2d8b7a3c7d03bf692d39044dce\"\u003e\u003ccode\u003eabe4ec3\u003c/code\u003e\u003c/a\u003e Bump bundler cache on CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/d603b704ab1b8f14ffe05ba6e7893aef4021fe3f\"\u003e\u003ccode\u003ed603b70\u003c/code\u003e\u003c/a\u003e Attempt to detect QEMU hangs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5e878001382765e0b291d19b9faa6c1dfd88ef84\"\u003e\u003ccode\u003e5e87800\u003c/code\u003e\u003c/a\u003e cli: improve automatic parallelism to respect cgroup limits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/0dc269dbf05edad1022cb8e050f9a1e429369077\"\u003e\u003ccode\u003e0dc269d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/bootsnap/issues/499\"\u003e#499\u003c/a\u003e from p8/docs/link-to-official-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/5fb9098bd30e5f7bf86e33027c8993fe49b6a5e8\"\u003e\u003ccode\u003e5fb9098\u003c/code\u003e\u003c/a\u003e Link to official Ruby documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/bootsnap/commit/252cf48f6fe56f7854bd1b6bcbc3b6692fc8f8f4\"\u003e\u003ccode\u003e252cf48\u003c/code\u003e\u003c/a\u003e Add config/ dir to precompile example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Shopify/bootsnap/compare/v1.18.4...v1.18.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-unit` from 3.2.7 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-unit/test-unit/releases\"\u003etest-unit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etest-unit 3.7.0 - 2025-07-06\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug that \u003ccode\u003eTest::Unit::TestCase\u003c/code\u003e and \u003ccode\u003eTest::Unit::AutoRunner\u003c/code\u003e\naren't loaded when they are redefined by open class before referring\nto these constants.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/320\"\u003eGH-320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003eGH-321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReported by Mamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMamoru TASAKA\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.9 - 2025-06-29\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edoc: test: Added one-line style to declare \u003ccode\u003eRactor\u003c/code\u003e test.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/261\"\u003eGH-261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003eGH-309\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUsed \u003ccode\u003erequire_relative\u003c/code\u003e instead of \u003ccode\u003erequire\u003c/code\u003e for internal library\nfiles.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/311\"\u003eGH-311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003eGH-312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003eGH-313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003eGH-315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003e--version\u003c/code\u003e option.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003eGH-314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by MSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMSP-Greg\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etest-unit 3.6.8 - 2025-04-05\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003etest-unit\u003c/code\u003e: Added. You can use this instead of creating a custom\ntest run script.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/288\"\u003eGH-288\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/289\"\u003eGH-289\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/291\"\u003eGH-291\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSuggested by gemmaro\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated the \u0026quot;how to\u0026quot; document.\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/test-unit/test-unit/commit/c17d7eddc35db7e8bb6bf00954b0cc21a9a69bdc\"\u003e\u003ccode\u003ec17d7ed\u003c/code\u003e\u003c/a\u003e Add 3.7.0 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/84b93a0a8c6f54e8019d4f442dbfd7a1922c105f\"\u003e\u003ccode\u003e84b93a0\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/9335d99ad649771827df8b707578f16d8c863418\"\u003e\u003ccode\u003e9335d99\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/87891d8033f783fdbb3abfe628d4f259499f56b2\"\u003e\u003ccode\u003e87891d8\u003c/code\u003e\u003c/a\u003e Add 3.6.9 entry (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/e837be2488d52e1290126ed9fee7f107a2ce8f6e\"\u003e\u003ccode\u003ee837be2\u003c/code\u003e\u003c/a\u003e test: use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/315\"\u003e#315\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/df171bec2b32cee41c92af8471b447db0a29c909\"\u003e\u003ccode\u003edf171be\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e--version\u003c/code\u003e cli option (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/314\"\u003e#314\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/572b28afa0b387707dcb1229d2b96ba130f95f11\"\u003e\u003ccode\u003e572b28a\u003c/code\u003e\u003c/a\u003e Use require_relative instead of autoload (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/313\"\u003e#313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/59146583a10c5b97bab54ccf5a6ce7448f67ac61\"\u003e\u003ccode\u003e5914658\u003c/code\u003e\u003c/a\u003e Use require_relative instead of require (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/312\"\u003e#312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/25ab959b81ce6bcd21c32c13bf972319a852718d\"\u003e\u003ccode\u003e25ab959\u003c/code\u003e\u003c/a\u003e doc: test: add \u003ccode\u003eractor def test_XXX\u003c/code\u003e style (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/309\"\u003e#309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-unit/test-unit/commit/57454691c14d0f810e3a55d14577ad88727e8f3b\"\u003e\u003ccode\u003e5745469\u003c/code\u003e\u003c/a\u003e Bump version (\u003ca href=\"https://redirect.github.com/test-unit/test-unit/issues/308\"\u003e#308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-unit/test-unit/compare/3.2.7...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.113.0 to 1.199.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.199.0 (2025-09-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - This release includes backward compatibility work on the \u0026quot;Expires\u0026quot; parameter.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.198.0 (2025-08-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Fix multipart \u003ccode\u003edownload_file\u003c/code\u003e to support \u003ccode\u003ePathname\u003c/code\u003e, \u003ccode\u003eFile\u003c/code\u003e and \u003ccode\u003eTempfile\u003c/code\u003e objects as download destinations.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.197.0 (2025-08-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - When multipart stream uploader fails to complete multipart upload, it calls abort multipart upload.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - For \u003ccode\u003eAws::S3::Object\u003c/code\u003e class, the following methods have been deprecated: \u003ccode\u003edownload_file\u003c/code\u003e, \u003ccode\u003eupload_file\u003c/code\u003e and \u003ccode\u003eupload_stream\u003c/code\u003e. Use \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAws::S3::TransferManager\u003c/code\u003e, a S3 transfer utility that provides upload/download capabilities with automatic multipart handling, progress tracking, and handling of large files.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.196.1 (2025-08-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Add range validation to multipart download to ensure all parts are successfully processed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - When multipart uploader fails to complete multipart upload, it calls abort multipart upload.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIssue - Clean up partially downloaded file on multipart \u003ccode\u003edownload_file\u003c/code\u003e failure while preserving existing file.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.196.0 (2025-08-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.195.0 (2025-07-31)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.194.0 (2025-07-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json` from 2.12.2 to 2.15.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.15.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\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.14.1...v2.15.0\"\u003ehttps://github.com/ruby/json/compare/v2.14.1...v2.15.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\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.14.0...v2.14.1\"\u003ehttps://github.com/ruby/json/compare/v2.14.0...v2.14.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.14.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003cli\u003eStop defining \u003ccode\u003eString.json_create\u003c/code\u003e, \u003ccode\u003eString#to_json_raw\u003c/code\u003e, \u003ccode\u003eString#to_json_raw_object\u003c/code\u003e when \u003ccode\u003ejson/add\u003c/code\u003e isn't loaded.\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.13.2...v2.14.0\"\u003ehttps://github.com/ruby/json/compare/v2.13.2...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove duplicate key warning and errors to include the key name and point to the right caller.\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.13.1...v2.13.2\"\u003ehttps://github.com/ruby/json/compare/v2.13.1...v2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix support for older compilers without \u003ccode\u003e__builtin_cpu_supports\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/ruby/json/blob/master/CHANGES.md\"\u003ejson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e2025-09-22 (2.15.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eJSON::Coder\u003c/code\u003e callback now receive a second argument to convey whether the object is a hash key.\u003c/li\u003e\n\u003cli\u003eTuned the floating point number generator to not use scientific notation as aggressively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e in the JRuby extension when encoding shared strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-09-18 (2.14.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e generator options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e\u0026gt;\u0026gt; Warning[:deprecated] = true\n\u0026gt;\u0026gt; puts JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 })\n(irb):2: warning: detected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`\n{\u0026quot;foo\u0026quot;:1,\u0026quot;foo\u0026quot;:2}\n\u0026gt;\u0026gt; JSON.generate({ foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2 }, allow_duplicate_key: false)\ndetected duplicate key \u0026quot;foo\u0026quot; in {foo: 1, \u0026quot;foo\u0026quot; =\u0026gt; 2} (JSON::GeneratorError)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.generate\u003c/code\u003e \u003ccode\u003estrict: true\u003c/code\u003e mode to also restrict hash keys.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON::Coder\u003c/code\u003e to also invoke block for hash keys that aren't strings nor symbols.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJSON.unsafe_load\u003c/code\u003e usage with proc\u003c/li\u003e\n\u003cli\u003eFix the parser to more consistently reject invalid UTF-16 surogate pairs.\u003c/li\u003e\n\u003cli\u003eStop defining \u003ccode\u003eString.json_create\u003c/code\u003e, \u003ccode\u003eString#to_json_raw\u003c/code\u003e, \u003ccode\u003eString#to_json_raw_object\u003c/code\u003e when \u003ccode\u003ejson/add\u003c/code\u003e isn't loaded.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-28 (2.13.2)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove duplicate key warning and errors to include the key name and point to the right caller.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-24 (2.13.1)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix support for older compilers without \u003ccode\u003e__builtin_cpu_supports\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e2025-07-17 (2.13.0)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd new \u003ccode\u003eallow_duplicate_key\u003c/code\u003e parsing options. By default a warning is now emitted when a duplicated key is encountered.\nIn \u003ccode\u003ejson 3.0\u003c/code\u003e an error will be raised.\u003c/li\u003e\n\u003cli\u003eOptimize parsing further using SIMD to scan strings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/4abfad090d8398bfd30b4fcb253595151eb7f397\"\u003e\u003ccode\u003e4abfad0\u003c/code\u003e\u003c/a\u003e Release 2.15.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/bb5db851f58bffc71cb8651ef6203c814f58aca7\"\u003e\u003ccode\u003ebb5db85\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/866\"\u003e#866\u003c/a\u003e from headius/jruby_rakefile_fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/e809fabc29550bcde5b2cb12e6adc14aeed4666d\"\u003e\u003ccode\u003ee809fab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/865\"\u003e#865\u003c/a\u003e from samyron/sm/swar-better-bounds-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3d1ed18b65c7581874ef65a7e197ef7b80b5ae49\"\u003e\u003ccode\u003e3d1ed18\u003c/code\u003e\u003c/a\u003e Add macos platform for JRuby CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/b1cc12605b5b5331b9c6c36774c37464d694b6cd\"\u003e\u003ccode\u003eb1cc126\u003c/code\u003e\u003c/a\u003e Use --release flag on Java 9+\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/a2aa1cb3d0de7b7a81253191e9e7e0baa39f0bf4\"\u003e\u003ccode\u003ea2aa1cb\u003c/code\u003e\u003c/a\u003e Add JRuby build output to CLEAN and CLOBBER\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/0a9478a715ea766d627ff3a72cf7a4f033fe536f\"\u003e\u003ccode\u003e0a9478a\u003c/code\u003e\u003c/a\u003e implement a better fix for an out of bounds exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/efd67e7dfd32ba31cfe0c764a4825816f0e56a28\"\u003e\u003ccode\u003eefd67e7\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/3a98832ededb7c56040a8ce6b67f583175aa6d2c\"\u003e\u003ccode\u003e3a98832\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/json/issues/864\"\u003e#864\u003c/a\u003e from byroot/as-json-key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/json/commit/4d9068c1a6bee90235dd4aa8bdfb7c4416688de6\"\u003e\u003ccode\u003e4d9068c\u003c/code\u003e\u003c/a\u003e Refactor Truffle generator type checks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/json/compare/v2.12.2...v2.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack-attack` from 6.5.0 to 6.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/releases\"\u003erack-attack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.7.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/587\"\u003erack/rack-attack#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/612\"\u003erack/rack-attack#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/586\"\u003erack/rack-attack#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/614\"\u003erack/rack-attack#614\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/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/579\"\u003erack/rack-attack#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/589\"\u003erack/rack-attack#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rack/rack-attack/pull/604\"\u003erack/rack-attack#604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\"\u003ehttps://github.com/rack/rack-attack/compare/v6.6.1...v6.7.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.6.1\u003c/h2\u003e\n\u003cp\u003eDetails in CHANGELOG \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md#661---2022-04-14\"\u003eentry\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev6.6.0\u003c/h2\u003e\n\u003cp\u003eDetails in CHANGELOG \u003ca href=\"https://github.com/rack/rack-attack/blob/master/CHANGELOG.md#660---2022-01-29\"\u003eentry\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack-attack/blob/main/CHANGELOG.md\"\u003erack-attack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.7.0] - 2023-07-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace git.io URL by \u003ca href=\"https://github.com/kyoshidajp\"\u003e\u003ccode\u003e@​kyoshidajp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: update rack-test to v2 from v1 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/587\"\u003e#587\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate example description to not suggest using a deprecated method by \u003ca href=\"https://github.com/MaksimAbramchuk\"\u003e\u003ccode\u003e@​MaksimAbramchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd note about cache stores and in-memory caches. by \u003ca href=\"https://github.com/nateberkopec\"\u003e\u003ccode\u003e@​nateberkopec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: tests against redis gem v5 by \u003ca href=\"https://github.com/grzuy\"\u003e\u003ccode\u003e@​grzuy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport rack 3 by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGem release management. by \u003ca href=\"https://github.com/ioquatix\"\u003e\u003ccode\u003e@​ioquatix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.1] - 2022-04-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes deprecation warning in redis 4.6+ ([\u003ca href=\"https://github.com/ixti\"\u003e\u003ccode\u003e@​ixti\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.6.0] - 2022-01-29\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbility to have access to the \u003ccode\u003erequest\u003c/code\u003e object instead of only \u003ccode\u003eenv\u003c/code\u003e (still can access env with \u003ccode\u003erequest.env\u003c/code\u003e) when\ncustomizing throttle and blocklist responses with new methods \u003ccode\u003eRack::Attack.blocklisted_responder=\u003c/code\u003e and\n\u003ccode\u003eRack::Attack.throttled_responder=\u003c/code\u003e which yield the request to your lambda. ([\u003ca href=\"https://github.com/NikolayRys\"\u003e\u003ccode\u003e@​NikolayRys\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.blocklisted_response=\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eRack::Attack.throttled_response=\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/rack/rack-attack/commit/d82c9fd7e3efc6fa9859d917d7ab2d90e5a258cf\"\u003e\u003ccode\u003ed82c9fd\u003c/code\u003e\u003c/a\u003e Bump minor version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/02ef216788cf4fd534ff789c4b7fe7f42548d10a\"\u003e\u003ccode\u003e02ef216\u003c/code\u003e\u003c/a\u003e Gem release management. (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/614\"\u003e#614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/b708de32f3667a65bd2a549983cd05671e9e690a\"\u003e\u003ccode\u003eb708de3\u003c/code\u003e\u003c/a\u003e Support Rack 3. (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e039ecde2aceeee45ab3fde41a9ef8e97a7ab717\"\u003e\u003ccode\u003ee039ecd\u003c/code\u003e\u003c/a\u003e ci: tests against redis gem v5 (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/612\"\u003e#612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/c8e574aa6f565153b97f61c83905ef0f954177b9\"\u003e\u003ccode\u003ec8e574a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/604\"\u003e#604\u003c/a\u003e from nateberkopec/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/a6bbbdc779f875b035c8a40464488df8256f2d06\"\u003e\u003ccode\u003ea6bbbdc\u003c/code\u003e\u003c/a\u003e Add note about cache stores and in-memory caches.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/4d201f7e425f99a0c1f0956fbcc935614d695308\"\u003e\u003ccode\u003e4d201f7\u003c/code\u003e\u003c/a\u003e Update example description to not suggest using a deprecated method. (\u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/e9b753b4e7123ef0398d35c908b490eb9113c465\"\u003e\u003ccode\u003ee9b753b\u003c/code\u003e\u003c/a\u003e test: update rack-test to v2 from v1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/95ce9fdd7c99a527a46ffc477b01e682fed48dce\"\u003e\u003ccode\u003e95ce9fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rack/rack-attack/issues/579\"\u003e#579\u003c/a\u003e from kyoshidajp/replace_git.io\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack-attack/commit/d3be2f31a5ccd0d5a96b916e9e4a3e431ab70f92\"\u003e\u003ccode\u003ed3be2f3\u003c/code\u003e\u003c/a\u003e Replace git.io URL\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack-attack/compare/v6.5.0...v6.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pg` from 1.5.9 to 1.6.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md\"\u003epg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.2 [2025-09-02] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove several absolute paths from native binaries which pointed to build directories. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/668\"\u003e#668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix bad fallback path to \u003ccode\u003epg_service.conf\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/666\"\u003e#666\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003erbpg_\u003c/code\u003e prefix for \u003ccode\u003ebase64_*\u003c/code\u003e functions to avoid name clashes with functions provided by other libraries like Heimdal on Macos. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/667\"\u003e#667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRaise a more descriptive error message in case of \u003ccode\u003epg_ext\u003c/code\u003e LoadError. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/664\"\u003e#664\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFreeze some constants to make them available in a Ractor context. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/660\"\u003e#660\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSeveral documentation improvements.\u003c/li\u003e\n\u003cli\u003eUpdate native binary gems to OpenSSL-3.5.2, krb5-1.22.1 and PostgreSQL-17.6.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.1 [2025-08-03] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for platforms \u003ccode\u003eaarch64-linux-musl\u003c/code\u003e and \u003ccode\u003ex86_64-linux-musl\u003c/code\u003e without the need to install package \u003ccode\u003egcompat\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/657\"\u003e#657\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSerialize CompositeCoder#dimensions only when set. \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/652\"\u003e#652\u003c/a\u003e\nThis fixes the compatibility to pg-1.5.9, when deserializing Marshal data from pg-1.6, as long as the new attribute isn't used.\u003c/li\u003e\n\u003cli\u003eRemove dependency to MSYS2 package \u0026quot;postgresql\u0026quot; from binary Windows gem \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/654\"\u003e#654\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 [2025-07-27] Lars Kanis \u003ca href=\"mailto:lars@greiz-reinsdorf.de\"\u003elars@greiz-reinsdorf.de\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAdded:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd binary gems for Ruby 3.4.\u003c/li\u003e\n\u003cli\u003eAdd fat binary gem for platform \u003ccode\u003eaarch64-mingw-ucrt\u003c/code\u003e aka Windows on ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/626\"\u003e#626\u003c/a\u003e, for platform Macos on Intel and ARM \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/643\"\u003e#643\u003c/a\u003e, for platform \u003ccode\u003eaarch64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/646\"\u003e#646\u003c/a\u003e and for platform \u003ccode\u003ex86_64-linux\u003c/code\u003e \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/551#issuecomment-2504715762\"\u003e#551\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate fat binary gem to OpenSSL-3.5.1 and PostgreSQL-17.5.\u003c/li\u003e\n\u003cli\u003eAdd a patch to libpq to avoid starvation on bigger SSL records, which some database engines other than vanilla PostgreSQL use.\nThis patch applies to platform specific binary gems only.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/616\"\u003e#616\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for new query cancel functions of PostgreSQL-17.\nThis adds the new class \u003ccode\u003ePG::CancelConnection\u003c/code\u003e which provides the ability to cancel a query per blocking or per non-blocking functions.\nIf the new functions are available they are used and the older are no longer compiled in.\nThis way we can get rid of reading out the internal \u003ccode\u003ePGcancel\u003c/code\u003e struct by \u003ccode\u003eConnection#backend_key\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/614\"\u003e#614\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::BinaryDecoder::Array and PG::BinaryEncoder::Array to parse and encode PostgreSQL arrays in binary format.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/603\"\u003e#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd possibility to define the number of array dimensions to be encoded.\nSetting dimensions is especially useful, when a Record shall be encoded into an Array, since the Array encoder can not distinguish if the array shall be encoded as a higher dimension or as a record otherwise.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/622\"\u003e#622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#set_chunked_rows_mode \u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/610\"\u003e#610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd PG::Connection#close_prepared, PG::Connection#close_portal, PG::Connection#send_close_prepared and PG::Connection#send_close_portal which are new in PostgreSQL-17.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/611\"\u003e#611\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Connection#send_pipeline_sync, async_pipeline_sync and release GVL at PQ(sendP|P)ipelineSync.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/612\"\u003e#612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd MINGW package dependency which is resolved by RubyInstaller.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/617\"\u003e#617\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003econn.server_version\u003c/code\u003e and \u003ccode\u003econn.protocol_version\u003c/code\u003e to raise instead of return 0 on error.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/632\"\u003e#632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix connecting to multiple hosts after \u003ccode\u003econnnect_timeout\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/ged/ruby-pg/pull/637\"\u003e#637\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/ged/ruby-pg/commit/c75ed8da19c356b52d83da2627295760780d3d36\"\u003e\u003ccode\u003ec75ed8d\u003c/code\u003e\u003c/a\u003e Bump VERSION to 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/90a00e51d296e8614ed6815589a26d971e9f444f\"\u003e\u003ccode\u003e90a00e5\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for pg-1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/c58434835ab6b077e757ef0c16e7b9dc1d1fccf6\"\u003e\u003ccode\u003ec584348\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/670\"\u003e#670\u003c/a\u003e from larskanis/update-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/227653d235fe5ed4a8e03ea09854a6d298426ff3\"\u003e\u003ccode\u003e227653d\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/428415dd4ecb55882d2319d8b166fe73343853ba\"\u003e\u003ccode\u003e428415d\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 1.6.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/4282e5c729a98f66775611bd96c1848863b1d91f\"\u003e\u003ccode\u003e4282e5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ged/ruby-pg/issues/669\"\u003e#669\u003c/a\u003e from larskanis/test-rpath\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/19a35473b0ef7b4bf0d9caf7b62fb7fbbf7e168b\"\u003e\u003ccode\u003e19a3547\u003c/code\u003e\u003c/a\u003e Strip darwin C-ext to remove paths to C files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/5e2ac6e14589f8698f127be080e94e93151552fc\"\u003e\u003ccode\u003e5e2ac6e\u003c/code\u003e\u003c/a\u003e Temporary enable head version of rake-compiler-dock\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/70551b94eab64bcfd879d91382b216224d2394b5\"\u003e\u003ccode\u003e70551b9\u003c/code\u003e\u003c/a\u003e Add spec/pg_spec.rb to tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ged/ruby-pg/commit/35b2704fc79aca22488251b1910d3b8e6be6f83e\"\u003e\u003ccode\u003e35b2704\u003c/code\u003e\u003c/a\u003e Add tests for rpath or other build related paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ged/ruby-pg/compare/v1.5.9...v1.6.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dalli` from 3.2.3 to 3.2.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/petergoldstein/dalli/blob/main/CHANGELOG.md\"\u003edalli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.2.8\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eHandle IO::TimeoutError when establishing connection (eugeneius)\u003c/li\u003e\n\u003cli\u003eDrop dependency on base64 gem (Earlopain)\u003c/li\u003e\n\u003cli\u003eAddress incompatibility with resolv-replace (y9v)\u003c/li\u003e\n\u003cli\u003eAdd rubygems.org metadata (m-nakamura145)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.7\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix cascading error when there's an underlying network error in a pipelined get (eugeneius)\u003c/li\u003e\n\u003cli\u003eRuby 3.4/head compatibility by adding base64 to gemspec (tagliala)\u003c/li\u003e\n\u003cli\u003eAdd Ruby 3.3 to CI (m-nakamura145)\u003c/li\u003e\n\u003cli\u003eUse Socket's connect_timeout when available, and pass timeout to the socket's send and receive timeouts (mlarraz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.6\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRescue IO::TimeoutError raised by Ruby since 3.2.0 on blocking reads/writes (skaes)\u003c/li\u003e\n\u003cli\u003eFix rubydoc link (JuanitoFatas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eBetter handle memcached requests being interrupted by Thread#raise or Thread#kill (byroot)\u003c/li\u003e\n\u003cli\u003eUnexpected errors are no longer treated as \u003ccode\u003eDalli::NetworkError\u003c/code\u003e, including errors raised by \u003ccode\u003eTimeout.timeout\u003c/code\u003e (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.2.4\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eCache PID calls for performance since glibc no longer caches in recent versions (byroot)\u003c/li\u003e\n\u003cli\u003ePreallocate the read buffer in Socket#readfull (byroot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/67942b8db6ba8ae9c39e30d9c0c63fb1525586b3\"\u003e\u003ccode\u003e67942b8\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.8 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/995\"\u003e#995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/23bc51f712314a5b8179c94ed59ba1545139c99e\"\u003e\u003ccode\u003e23bc51f\u003c/code\u003e\u003c/a\u003e Handle IO::TimeoutError when establishing connection (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/993\"\u003e#993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4baeb3431edb46b5a1d0449432802dc214bb1a67\"\u003e\u003ccode\u003e4baeb34\u003c/code\u003e\u003c/a\u003e Bump the tested memcached version to 1.6.23 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/d5ad58f939af7ef765412f3820aace7399b68753\"\u003e\u003ccode\u003ed5ad58f\u003c/code\u003e\u003c/a\u003e Move check whether TCPSocket was patched to TCP.open (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/bec0440a9c4c040d2f564256abddd7e6a6604123\"\u003e\u003ccode\u003ebec0440\u003c/code\u003e\u003c/a\u003e Fix conflict with resolv-replace gem (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/989\"\u003e#989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c5aea2200388c530b457485c96d22098e67e17d5\"\u003e\u003ccode\u003ec5aea22\u003c/code\u003e\u003c/a\u003e Add metadata for rubygems.org (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/c409a07dc960b11595b329b6245b12b7be6d2dd7\"\u003e\u003ccode\u003ec409a07\u003c/code\u003e\u003c/a\u003e Drop dependency on base64 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/4c4a5a2354707604456f6f1bf08d020f1909b49e\"\u003e\u003ccode\u003e4c4a5a2\u003c/code\u003e\u003c/a\u003e Prepare for 3.2.7 (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/fa641192072fd3852053f01e65853af95bc0b8d0\"\u003e\u003ccode\u003efa64119\u003c/code\u003e\u003c/a\u003e Don't reconnect to send pipelined request no-op (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/983\"\u003e#983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/petergoldstein/dalli/commit/22dd9ce54dfe497c69244e7aa5fe2ba6ad4ac327\"\u003e\u003ccode\u003e22dd9ce\u003c/code\u003e\u003c/a\u003e Fix a test lint (\u003ca href=\"https://redirect.github.com/petergoldstein/dalli/issues/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/petergoldstein/dalli/compare/v3.2.3...v3.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `carrierwave` from 3.1.1 to 3.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/releases\"\u003ecarrierwave's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/blob/master/CHANGELOG.md\"\u003ecarrierwave's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.2 - 2025-04-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, \u003ccode\u003e##{column}_cache=\u003c/code\u003e, and \u003ccode\u003e#remote_#{column}_url=\u003c/code\u003e (\u003ca href=\"https://github.com/mshibuya\"\u003e\u003ccode\u003e@​mshibuya\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e7b2ce50\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2778\"\u003e#2778\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/carrierwaveuploader/carrierwave/issues/2779\"\u003e#2779\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/carrierwaveuploader/carrierwave/commit/8e5db8cb0b01b1d06b95d46fedf2e0c2a445a0e9\"\u003e\u003ccode\u003e8e5db8c\u003c/code\u003e\u003c/a\u003e Version 3.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/7b2ce502c5027cc700ed36a5728a945922d9367e\"\u003e\u003ccode\u003e7b2ce50\u003c/code\u003e\u003c/a\u003e Fix failing to remove existing files on updating by \u003ccode\u003e#remove_#{column}=\u003c/code\u003e, `##...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/commit/9001ab7478dae07f99ef9a686d6d42e118a66336\"\u003e\u003ccode\u003e9001ab7\u003c/code\u003e\u003c/a\u003e Fix specs breaking with MiniMagick 5.x\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carrierwaveuploader/carrierwave/compare/v3.1.1...v3.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mini_magick` from 5.2.0 to 5.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minimagick/minimagick/releases\"\u003emini_magick's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eMiniMagick.cli_prefix\u003c/code\u003e being mutated when set to an array.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eActually require Ruby 2.5+ in the gemspec.\u003c/li\u003e\n\u003cli\u003eFix Ruby 2.5 compatibility when using \u003ccode\u003eMiniMagick.restricted_env\u003c/code\u003e configuration.\u003c/li\u003e\n\u003cli\u003eDrop \u003ccode\u003ebenchmark\u003c/code\u003e dependency.\u003c/li\u003e\n\u003cli\u003eFix keyword argument forwarding when trying to call \u003ccode\u003eMiniMagick.compare(errors: false)\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/minimagick/minimagick/commit/ddcbfe9632667876be10373e1e01252617e74057\"\u003e\u003ccode\u003eddcbfe9\u003c/code\u003e\u003c/a\u003e Bump to 5.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed5897b54fbfd0fc21b04187e78915f4f5e3acc3\"\u003e\u003ccode\u003eed5897b\u003c/code\u003e\u003c/a\u003e Simplify spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/862ffbbb4435a9363b179397ba02d4be1d1c7751\"\u003e\u003ccode\u003e862ffbb\u003c/code\u003e\u003c/a\u003e Fix configured cli_prefix being muated (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/597\"\u003e#597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c53b8bb72b9885117d54e375bf33b6ec5641271a\"\u003e\u003ccode\u003ec53b8bb\u003c/code\u003e\u003c/a\u003e Bump to 5.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/eda3dde138f37ca4ef2de75b0abeda31ee915d2b\"\u003e\u003ccode\u003eeda3dde\u003c/code\u003e\u003c/a\u003e Bump ruby 2.5+ requirement in the gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/ed928b18107793cd144a681180f9c79e59d6b8cd\"\u003e\u003ccode\u003eed928b1\u003c/code\u003e\u003c/a\u003e Add spec for the keyword arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/6de850ace3bb7a9d64f6d1d5804c4cad7ac5b3b2\"\u003e\u003ccode\u003e6de850a\u003c/code\u003e\u003c/a\u003e Try using ENV.to_h for compatibility with Ruby 2.5 (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/593\"\u003e#593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/c1b2e2c054210fcad2e8e26ce2e70ac76acddd27\"\u003e\u003ccode\u003ec1b2e2c\u003c/code\u003e\u003c/a\u003e Fix option forwarding in MiniMagick::Tool.new (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/dfd3de02c4482679cf7f0993dc368cbba413e7da\"\u003e\u003ccode\u003edfd3de0\u003c/code\u003e\u003c/a\u003e Fix typo in README: change tmdir to tmpdir in configuration example (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minimagick/minimagick/commit/23239db1263f96b1b96f62c67250afe16507b2ac\"\u003e\u003ccode\u003e23239db\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003ebenchmark\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/minimagick/minimagick/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minimagick/minimagick/compare/v5.2.0...v5.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `httparty` from 0.21.0 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003ehttparty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.23.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd foul option to class level \u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003ehttps://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.23.0...v0.23.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.23.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003enew: foul mode to rescue all common network errors:  \u003ca href=\"https://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\"\u003ehttps://github.com/jnunemaker/httparty/blob/891a4a8093afd4cacecab2719223e3170d07f1c0/examples/party_foul_mode.rb\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: replace master branch to main for better view by \u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\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/ashishra0\"\u003e\u003ccode\u003e@​ashishra0\u003c/code\u003e\u003c/a\u003e made their first contribution with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bestony\"\u003e\u003ccode\u003e@​bestony\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/803\"\u003ejnunemaker/httparty#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tradesmanhelix\"\u003e\u003ccode\u003e@​tradesmanhelix\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/811\"\u003ejnunemaker/httparty#811\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.22.0...v0.23.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.22.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in example name by \u003ca href=\"https://github.com/xymbol\"\u003e\u003ccode\u003e@​xymbol\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/780\"\u003ejnunemaker/httparty#780\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract request building method by \u003ca href=\"https://github.com/aliismayilov\"\u003e\u003ccode\u003e@​aliismayilov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/786\"\u003ejnunemaker/httparty#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI: Tell dependabot to update GH Actions by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/791\"\u003ejnunemaker/httparty#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd CSV gem as a dependency for Ruby 3.4 by \u003ca href=\"https://github.com/ngan\"\u003e\u003ccode\u003e@​ngan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/796\"\u003ejnunemaker/httparty#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClear body when redirecting to a GET  by \u003ca href=\"https://github.com/rhett-inbox\"\u003e\u003ccode\u003e@​rhett-inbox\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/783\"\u003ejnunemaker/httparty#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCI against Ruby 3.3 by \u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/798\"\u003ejnunemaker/httparty#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/792\"\u003ejnunemaker/httparty#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow regexpr on raise errors. by \u003ca href=\"https://github.com/ryanfox1985\"\u003e\u003ccode\u003e@​ryanfox1985\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/778\"\u003ejnunemaker/httparty#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid anonymous eval by \u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/776\"\u003ejnunemaker/httparty#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLazy load some gems by \u003ca href=\"https://github.com/orgads\"\u003e\u003ccode\u003e@​orgads\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/760\"\u003ejnunemaker/httparty#760\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRedirect with authorization credentials to same host for relative paths by \u003ca href=\"https://github.com/jasonheecs\"\u003e\u003ccode\u003e@​jasonheecs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/700\"\u003ejnunemaker/httparty#700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop old ruby support by \u003ca href=\"https://github.com/jnunemaker\"\u003e\u003ccode\u003e@​jnunemaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/799\"\u003ejnunemaker/httparty#799\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/aliismayilov\"\u003e\u003ccode\u003e@​aliismayilov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/786\"\u003ejnunemaker/httparty#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ngan\"\u003e\u003ccode\u003e@​ngan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/796\"\u003ejnunemaker/httparty#796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rhett-inbox\"\u003e\u003ccode\u003e@​rhett-inbox\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/783\"\u003ejnunemaker/httparty#783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/798\"\u003ejnunemaker/httparty#798\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 made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/792\"\u003ejnunemaker/httparty#792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ryanfox1985\"\u003e\u003ccode\u003e@​ryanfox1985\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/778\"\u003ejnunemaker/httparty#778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/casperisfine\"\u003e\u003ccode\u003e@​casperisfine\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/776\"\u003ejnunemaker/httparty#776\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jasonheecs\"\u003e\u003ccode\u003e@​jasonheecs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/jnunemaker/httparty/pull/700\"\u003ejnunemaker/httparty#700\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.21.0...v0.22.0\"\u003ehttps://github.com/jnunemaker/httparty/compare/v0.21.0...v0.22.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/jnunemaker/httparty/blob/main/Changelog.md\"\u003ehttparty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable \u003ca href=\"https://github.com/jnunemaker/httparty/releases\"\u003echanges since 0.22 are documented in GitHub Releases\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/9417ce158d732fecc753c656accb59c470cfb6f8\"\u003e\u003ccode\u003e9417ce1\u003c/code\u003e\u003c/a\u003e Release 0.23.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/d2683879c902b278a0776620dd7510c99a9db670\"\u003e\u003ccode\u003ed268387\u003c/code\u003e\u003c/a\u003e Add foul to class level\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/891a4a8093afd4cacecab2719223e3170d07f1c0\"\u003e\u003ccode\u003e891a4a8\u003c/code\u003e\u003c/a\u003e Release 0.23 with foul mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/894649d7c6fb3416f32ac260e4dc7ce3a0682f19\"\u003e\u003ccode\u003e894649d\u003c/code\u003e\u003c/a\u003e Plural typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/6efd004b63aa05178862869010e6b6628817f32f\"\u003e\u003ccode\u003e6efd004\u003c/code\u003e\u003c/a\u003e Fix example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/848616db1d24a6f71fd1cd11997eb217f88f7cf0\"\u003e\u003ccode\u003e848616d\u003c/code\u003e\u003c/a\u003e Fix missing base64 error on ruby 3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/2ed53ae08962851e7a26691505509647325ada9e\"\u003e\u003ccode\u003e2ed53ae\u003c/code\u003e\u003c/a\u003e Regex match to fix 3.4 failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/c30b0e91e46eaea66d58d0dec990644841db4502\"\u003e\u003ccode\u003ec30b0e9\u003c/code\u003e\u003c/a\u003e Add ruby 3.4 to matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/e47c7f9ca0ada90798d78931f2f18ba1bfabf37e\"\u003e\u003ccode\u003ee47c7f9\u003c/code\u003e\u003c/a\u003e Tweak readme/examples\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jnunemaker/httparty/commit/8e67078844c364dd32c789a734eae784e39978f4\"\u003e\u003ccode\u003e8e67078\u003c/code\u003e\u003c/a\u003e Inject foul higher up the exception stack\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jnunemaker/httparty/compare/v0.21.0...v0.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `geocoder` from 1.6.1 to 1.8.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/alexreisner/geocoder/blob/master/CHANGELOG.md\"\u003egeocoder's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.6 (2025 Sep 21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for IPInfo Lite lookup (thanks github.com/iltempo).\u003c/li\u003e\n\u003cli\u003eVarious minor fixes and improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.5 (2024 Dec 18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug when working with IPAddr objects (thanks github.com/ledermann and github.com/mattlemx).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.4 (2024 Dec  4)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for Azure lookup (thanks github.com/AhlOct).\u003c/li\u003e\n\u003cli\u003eSeveral fixes for Mapbox and Bing lookups (thanks github.com/tmh-dev and github.com/iBlackShadow).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.3 (2024 May  2)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for IP2Location LITE lookup (thanks github.com/ip2location).\u003c/li\u003e\n\u003cli\u003eAdd support for PDOK NL lookup (thanks github.com/opensourceame).\u003c/li\u003e\n\u003cli\u003eRemove support for Data Science Toolkit lookup (defunct).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.2 (2023 Jul  4)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for PC Miler lookup (thanks github.com/alexdean).\u003c/li\u003e\n\u003cli\u003eMinor fixes for :maxmind_local, :esri, and :ban_data_gouv_fr lookups.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.1 (2022 Sep 23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for IPBase lookup (thanks github.com/jonallured).\u003c/li\u003e\n\u003cli\u003eTest cleanup (thanks github.com/jonallured).\u003c/li\u003e\n\u003cli\u003ePrevent errors when existing constant name shadows a lookup class (thanks github.com/avram-twitch).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.0 (2022 May 17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for 2GIS lookup (thanks github.com/ggrikgg).\u003c/li\u003e\n\u003cli\u003eChange cache configuration structure and add an expiration option. Cache prefix is now set via {cache_options: {prefix: ...}} instead of {cache_prefix: ...}. See README for details.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e:fields\u003c/code\u003e parameter for :google_places_details and :google_places_search lookups. If you haven't been requesting specific fields, you may start getting different data (defaults are now the APIs' defaults). See for details: \u003ca href=\"https://redirect.github.com/alexreisner/geocoder/pull/1572\"\u003ealexreisner/geocoder#1572\u003c/a\u003e (thanks github.com/czlee).\u003c/li\u003e\n\u003cli\u003eUpdate :here lookup to use API version 7. Query options are different, API key must be a string (not an array). See API docs at \u003ca href=\"https://developer.here.com/documentation/geocoding-search-api/api-reference-swagger.html\"\u003ehttps://developer.here.com/documentation/geocoding-search-api/api-reference-swagger.html\u003c/a\u003e (thanks github.com/Pritilender).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.5 (2022 Mar 14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid lookup naming collisions in some environments.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.4 (2022 Mar 14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ability to use app-defined lookups (thanks github.com/januszm).\u003c/li\u003e\n\u003cli\u003eUpdates to LocationIQ and FreeGeoIP lookups.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.7.3 (2022 Jan 17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGet rid of unnecessary cache_prefix deprecation warnings.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexreisner/geocoder/commit/d3515db46c5785db8cd48dbf94af123a2c99b8a9\"\u003e\u003ccode\u003ed3515db\u003c/code\u003e\u003c/a\u003e Prepare for release of gem version 1.8.6.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexreisner/geocoder/commit/737d16f277f81aabe73e2dfe466e2ba84fef188a\"\u003e\u003ccode\u003e737d16f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/alexreisner/geocoder/issues/1694\"\u003e#1694\u003c/a\u003e f...\n\n_Description has been truncated_","html_url":"https://github.com/CommitChange/houdini/pull/1291","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommitChange%2Fhoudini/issues/1291","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1291/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-10-01T15:06:17.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"3474006092","node_id":"PR_kwDOA0Nktc6rlKrl","number":441,"state":"open","title":"Bump the bundler-dependencies group across 1 directory with 36 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T15:06:17.000Z","updated_at":"2025-10-06T15:05:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-dependencies","update_count":36,"packages":[{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"parklife","old_version":"0.7.0","new_version":"0.8.0","repository_url":"https://github.com/benpickles/parklife"},{"name":"puma","old_version":"6.6.1","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"rouge","old_version":"4.6.0","new_version":"4.6.1","repository_url":"https://github.com/rouge-ruby/rouge"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.0","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rails","old_version":"2.33.3","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"better_html","old_version":"2.1.1","new_version":"2.2.0","repository_url":"https://github.com/Shopify/better-html"},{"name":"faraday","old_version":"2.13.4","new_version":"2.14.0","repository_url":"https://github.com/lostisland/faraday"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"google-protobuf","old_version":"4.32.0","new_version":"4.32.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"net-imap","old_version":"0.5.10","new_version":"0.5.11","repository_url":"https://github.com/ruby/net-imap"},{"name":"rexml","old_version":"3.4.2","new_version":"3.4.4","repository_url":"https://github.com/ruby/rexml"},{"name":"rspec-support","old_version":"3.13.5","new_version":"3.13.6","repository_url":"https://github.com/rspec/rspec"},{"name":"sass-embedded","old_version":"1.91.0","new_version":"1.93.2","repository_url":"https://github.com/sass-contrib/sass-embedded-host-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-dependencies group with 16 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [parklife](https://github.com/benpickles/parklife) | `0.7.0` | `0.8.0` |\n| [puma](https://github.com/puma/puma) | `6.6.1` | `7.0.4` |\n| [rouge](https://github.com/rouge-ruby/rouge) | `4.6.0` | `4.6.1` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.0` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.33.3` | `2.33.4` |\n| [better_html](https://github.com/Shopify/better-html) | `2.1.1` | `2.2.0` |\n| [faraday](https://github.com/lostisland/faraday) | `2.13.4` | `2.14.0` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [google-protobuf](https://github.com/protocolbuffers/protobuf) | `4.32.0` | `4.32.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.10` | `0.5.11` |\n| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |\n| [rspec-support](https://github.com/rspec/rspec) | `3.13.5` | `3.13.6` |\n| [sass-embedded](https://github.com/sass-contrib/sass-embedded-host-ruby) | `1.91.0` | `1.93.2` |\n\n\nUpdates `activesupport` from 8.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\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 \u003ccode\u003eEnumerable#sole\u003c/code\u003e for infinite collections.\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/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/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/830363adf5a1d04204cd1567d6ac948abd05c430\"\u003e\u003ccode\u003e830363a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55688\"\u003e#55688\u003c/a\u003e from Shopify/drop-active-support-benchmar-extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54569418077b68f2f0df27c15514ebd59748c625\"\u003e\u003ccode\u003e5456941\u003c/code\u003e\u003c/a\u003e Return early when column are empty in WhereClause#except_predicates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c9a82e214046ec0daa06dc0b1718e948ccdc7c9a\"\u003e\u003ccode\u003ec9a82e2\u003c/code\u003e\u003c/a\u003e BigDecimal now works with floats without precision\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/ae1aa389499547813879386d9bd22aa4402d9650\"\u003e\u003ccode\u003eae1aa38\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53093\"\u003e#53093\u003c/a\u003e from armstrjare/broadcast-logger-with-block\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `parklife` from 0.7.0 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/benpickles/parklife/releases\"\u003eparklife's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.8.0\u003c/h2\u003e\n\u003cp\u003eNote that \u003cstrong\u003eParklife's Rails integration has been moved into a separate gem\u003c/strong\u003e and now includes support for ActiveStorage, \u003ca href=\"https://github.com/benpickles/parklife-rails\"\u003esee the \u003ccode\u003eparklife-rails\u003c/code\u003e repo for more information\u003c/a\u003e. This release also includes the following:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eInclude the port when automatically assigning the base from Rails \u003ccode\u003edefault_url_options\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/130\"\u003ebenpickles/parklife#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the HTTP redirect error message to include the request's full URL and redirect location. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/129\"\u003ebenpickles/parklife#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmpty the build directory instead of deleting it. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/125\"\u003ebenpickles/parklife#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResurrect build callbacks (\u003ccode\u003ebefore_build\u003c/code\u003e/\u003ccode\u003eafter_build\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/124\"\u003ebenpickles/parklife#124\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/benpickles/parklife/blob/main/CHANGELOG.md\"\u003eparklife's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.8.0 - 2025-09-08\u003c/h2\u003e\n\u003cp\u003eNote that \u003cstrong\u003eParklife's Rails integration has been moved into a separate gem\u003c/strong\u003e with some additional functionality, \u003ca href=\"https://github.com/benpickles/parklife-rails\"\u003esee the \u003ccode\u003eparklife-rails\u003c/code\u003e repo for more information\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eVersion 0.8.0.beta1 - 2025-08-10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove out-of-the-box Rails integration in preparation for a separate gem. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/131\"\u003ebenpickles/parklife#131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInclude the port when automatically assigning the base from Rails \u003ccode\u003edefault_url_options\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/130\"\u003ebenpickles/parklife#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove the HTTP redirect error message to include the request's full URL and redirect location. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/129\"\u003ebenpickles/parklife#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmpty the build directory instead of deleting it. \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/125\"\u003ebenpickles/parklife#125\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eResurrect build callbacks (\u003ccode\u003ebefore_build\u003c/code\u003e/\u003ccode\u003eafter_build\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/benpickles/parklife/pull/124\"\u003ebenpickles/parklife#124\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/benpickles/parklife/commit/594b82d30280fc864499253f7931ed11866bcebf\"\u003e\u003ccode\u003e594b82d\u003c/code\u003e\u003c/a\u003e Version 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/0321a49dd128074ee871a02a44c35cbb952c74ed\"\u003e\u003ccode\u003e0321a49\u003c/code\u003e\u003c/a\u003e Rails tweaks (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/132\"\u003e#132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/2f5311fa9847a6d93096e8ac87e8f4de2e1b2149\"\u003e\u003ccode\u003e2f5311f\u003c/code\u003e\u003c/a\u003e Add .github/FUNDING.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/419cee2e106028efbf26718318255cda620dac42\"\u003e\u003ccode\u003e419cee2\u003c/code\u003e\u003c/a\u003e Version 0.8.0.beta1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/9896f9b094f0201addd3614c9fbc2cfb8186131f\"\u003e\u003ccode\u003e9896f9b\u003c/code\u003e\u003c/a\u003e Remove out-of-the-box Rails integration (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/131\"\u003e#131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/9dc861646155428c4bee38bf2a43423689fe0cfa\"\u003e\u003ccode\u003e9dc8616\u003c/code\u003e\u003c/a\u003e Include the port when automatically assigning the base from Rails default_url...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/2e5790e3239e16a4ed4dddd12581e8fb671fa815\"\u003e\u003ccode\u003e2e5790e\u003c/code\u003e\u003c/a\u003e Improve the HTTP redirect error message to include the request's full URL and...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/31c1e8c12db8fd5a0185485dada400b91b21745e\"\u003e\u003ccode\u003e31c1e8c\u003c/code\u003e\u003c/a\u003e Load the correct config defaults in the example Rails app (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/128\"\u003e#128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/ef2f7a738daa76e26ad6da533c124939e5fe51c8\"\u003e\u003ccode\u003eef2f7a7\u003c/code\u003e\u003c/a\u003e Fix deleting everything O.o (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/126\"\u003e#126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/benpickles/parklife/commit/05b494d728284d21fa2bb8c92b437baeaf2fa285\"\u003e\u003ccode\u003e05b494d\u003c/code\u003e\u003c/a\u003e If the build directory already exists only remove its contents (\u003ca href=\"https://redirect.github.com/benpickles/parklife/issues/125\"\u003e#125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/benpickles/parklife/compare/v0.7.0...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.0.2.1 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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/030f68cb32c6ff05f7922040ad6bde3dd902f977\"\u003e\u003ccode\u003e030f68c\u003c/code\u003e\u003c/a\u003e Remove lock for rdoc gem in Gemfile\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/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/74038d7f15a8f9e5b3d38a730a4b67da14697daa\"\u003e\u003ccode\u003e74038d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55722\"\u003e#55722\u003c/a\u003e from kozy4324/fix-lease-sticky-flag-timing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4fc9618c6116476bcb4818624abb27bedc488cd3\"\u003e\u003ccode\u003e4fc9618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55703\"\u003e#55703\u003c/a\u003e from byroot/hly-fix-query-cache-system-tests-2\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 6.6.1 to 7.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.3\u003c/h2\u003e\n\u003ch2\u003e7.0.3 / 2025-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eserver.rb - process_client - add ka to todo if readable \u0026amp; complete (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConvert PUMA_PERSISTENT_TIMEOUT to an Integer (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Puma not booting if queue_requests disabled by \u003ca href=\"https://github.com/stanhu\"\u003e\u003ccode\u003e@​stanhu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3731\"\u003epuma/puma#3731\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace\u003ccode\u003e sleep 0.001 while out_of_band_running\u003c/code\u003e with condition variable by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3729\"\u003epuma/puma#3729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebug: control_cli.rb - Fixup \u003ccode\u003epumactl\u003c/code\u003e code to load puma.rb for \u003ccode\u003edeprecate_method_change\u003c/code\u003e by \u003ca href=\"https://github.com/MSP-Greg\"\u003e\u003ccode\u003e@​MSP-Greg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3736\"\u003epuma/puma#3736\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/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3729\"\u003epuma/puma#3729\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.1...v7.0.2\"\u003ehttps://github.com/puma/puma/compare/v7.0.1...v7.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd backward compatibility aliases for Events class methods by \u003ca href=\"https://github.com/tannakartikey\"\u003e\u003ccode\u003e@​tannakartikey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3725\"\u003epuma/puma#3725\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.0...v7.0.1\"\u003ehttps://github.com/puma/puma/compare/v7.0.0...v7.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0 - Romantic Warrior\u003c/h2\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking changes\n\u003cul\u003e\n\u003cli\u003eSet default \u003ccode\u003emax_keep_alive\u003c/code\u003e to 999 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease \u003ccode\u003epersistent_timeout\u003c/code\u003e default to 65 seconds (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an ArgumentError if no block given to hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't set env['HTTP_VERSION'] for Rack \u0026gt; 3.1 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3711\"\u003e#3711\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3576\"\u003e#3576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunner.rb - remove \u003ccode\u003eruby_engine\u003c/code\u003e method, deprecated Nov-2024 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3701\"\u003e#3701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet conditional config defaults after CLI options are parsed and config files are loaded (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResponse headers set to lowercase (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3704\"\u003e#3704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate minimum Ruby version to 3.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3698\"\u003e#3698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename callback hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3438\"\u003e#3438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eOld hook name\u003c/th\u003e\n\u003cth\u003eNew hook name\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_boot\u003c/td\u003e\n\u003ctd\u003ebefore_worker_boot\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_shutdown\u003c/td\u003e\n\u003ctd\u003ebefore_worker_shutdown\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/master/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.4 / 2025-09-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3740\"\u003e#3740\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.3 / 2025-09-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eserver.rb - process_client - add ka to todo if readable \u0026amp; complete (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eConvert PUMA_PERSISTENT_TIMEOUT to an Integer (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.2 / 2025-09-08\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003ebug: control_cli.rb - Fixup \u003ccode\u003epumactl\u003c/code\u003e code to load puma.rb for \u003ccode\u003edeprecate_method_change\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3736\"\u003e#3736\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3734\"\u003e#3734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace sleep spin lock with condition variable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3729\"\u003e#3729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Puma not booting if queue_requests disabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3731\"\u003e#3731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.1 / 2025-09-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBugfixes\n\u003cul\u003e\n\u003cli\u003eAdd backward compatibility aliases for Events class methods (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3725\"\u003e#3725\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.0 / 2025-09-03\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking changes\n\u003cul\u003e\n\u003cli\u003eSet default \u003ccode\u003emax_keep_alive\u003c/code\u003e to 999 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease \u003ccode\u003epersistent_timeout\u003c/code\u003e default to 65 seconds (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3378\"\u003e#3378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRaise an ArgumentError if no block given to hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3377\"\u003e#3377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't set env['HTTP_VERSION'] for Rack \u0026gt; 3.1 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3711\"\u003e#3711\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3576\"\u003e#3576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunner.rb - remove \u003ccode\u003eruby_engine\u003c/code\u003e method, deprecated Nov-2024 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3701\"\u003e#3701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig \u003ccode\u003epreload_app!\u003c/code\u003e is now the default for clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConfig instance must be \u003ccode\u003eclamp\u003c/code\u003e-d before reading any values (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3297\"\u003e#3297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResponse headers set to lowercase (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3704\"\u003e#3704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate minimum Ruby version to 3.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3698\"\u003e#3698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename callback hooks (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3438\"\u003e#3438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eOld hook name\u003c/th\u003e\n\u003cth\u003eNew hook name\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_boot\u003c/td\u003e\n\u003ctd\u003ebefore_worker_boot\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_worker_shutdown\u003c/td\u003e\n\u003ctd\u003ebefore_worker_shutdown\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_restart\u003c/td\u003e\n\u003ctd\u003ebefore_restart\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eon_booted\u003c/td\u003e\n\u003ctd\u003eafter_booted\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a4c451c142a93ffb33af4a643b1e065341d9ad3a\"\u003e\u003ccode\u003ea4c451c\u003c/code\u003e\u003c/a\u003e v7.0.4 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3769\"\u003e#3769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/474f4ac87b3a49884080f6611636eff2e6e61cee\"\u003e\u003ccode\u003e474f4ac\u003c/code\u003e\u003c/a\u003e Remove global side effect from test (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/30e0d2254043f0ef8b586f23bc5f06a59a45c219\"\u003e\u003ccode\u003e30e0d22\u003c/code\u003e\u003c/a\u003e Add test/rackup/sleep_fibonacci.ru, update benchmark hey files (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4cd1199e1c1ad40af350f70e57ce3703e0d72e8c\"\u003e\u003ccode\u003e4cd1199\u003c/code\u003e\u003c/a\u003e ci: test_puma_server_ssl.rb - catch error in thread (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/684b715026d8e0a239274f4433294e5cd8b1ad0c\"\u003e\u003ccode\u003e684b715\u003c/code\u003e\u003c/a\u003e Fix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7e0d127b93a7d7bea0c1ecf3c7c88012d1a0baea\"\u003e\u003ccode\u003e7e0d127\u003c/code\u003e\u003c/a\u003e Strip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b817da4305a7a429e8e63d4f4a9b52d2a95fdc3e\"\u003e\u003ccode\u003eb817da4\u003c/code\u003e\u003c/a\u003e puma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/943d9c7bc3f916039ef918608a21030858b4333c\"\u003e\u003ccode\u003e943d9c7\u003c/code\u003e\u003c/a\u003e Move sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7aadde56fb2507dc0aab36649bc808a90c626e05\"\u003e\u003ccode\u003e7aadde5\u003c/code\u003e\u003c/a\u003e ci: helper.rb - catch error writing to \u003ccode\u003eENV['GITHUB_STEP_SUMMARY']\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/48ffd34a8e56ef5dce1471f75b98a094874ac953\"\u003e\u003ccode\u003e48ffd34\u003c/code\u003e\u003c/a\u003e Fixup benchmark scripts (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3753\"\u003e#3753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v6.6.1...v7.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rouge` from 4.6.0 to 4.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/releases\"\u003erouge's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.1\u003c/h2\u003e\n\u003cp\u003eThis release focuses on bug fixes and compatibility improvements across multiple lexers. We've fixed Ruby method definition highlighting for comparable methods. The TOML lexer has been realigned with the Pygments counterpart for better consistency. Language support has been enhanced with recognition of .resource files as Robot Framework files and improved Lua lexer handling of escaped quotes. The INI parser now supports standalone options, and the CSS lexer has been updated to support range context in media queries. Thanks to all our contributors for their valuable work on making Rouge more robust!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ehttps://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rouge-ruby/rouge/blob/master/CHANGELOG.md\"\u003erouge's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eversion 4.6.1: 2025-09-25\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003eComparison with the previous version\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGeneral\n\u003cul\u003e\n\u003cli\u003eAdd ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2154/\"\u003e#2154\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003cli\u003eReplace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2131/\"\u003e#2131\u003c/a\u003e by Earlopain)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCSS Lexer\n\u003cul\u003e\n\u003cli\u003eCSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2160/\"\u003e#2160\u003c/a\u003e by Gerard)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eINI Lexer\n\u003cul\u003e\n\u003cli\u003eSupport standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2161/\"\u003e#2161\u003c/a\u003e by Tan Le)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eLua Lexer\n\u003cul\u003e\n\u003cli\u003eBugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2155/\"\u003e#2155\u003c/a\u003e by Nicholas Reaves)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRobot Framework Lexer\n\u003cul\u003e\n\u003cli\u003eRecognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2158/\"\u003e#2158\u003c/a\u003e by Vasiliy)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eRuby Lexer\n\u003cul\u003e\n\u003cli\u003eFix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2149/\"\u003e#2149\u003c/a\u003e by Hartley McGuire)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTOML Lexer\n\u003cul\u003e\n\u003cli\u003eRealign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/pull/2152/\"\u003e#2152\u003c/a\u003e by Tan Le)\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/rouge-ruby/rouge/commit/7a879833337f68fd358c350366db3f24cf441ed7\"\u003e\u003ccode\u003e7a87983\u003c/code\u003e\u003c/a\u003e Release v4.6.1 (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2164\"\u003e#2164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/55b9ea967c75a63d7669a7797cd5b33644036ef1\"\u003e\u003ccode\u003e55b9ea9\u003c/code\u003e\u003c/a\u003e CSS lexer: support range context in media queries (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2160\"\u003e#2160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/70a77c3d54ee449460f92eae14b1dd472be92fd3\"\u003e\u003ccode\u003e70a77c3\u003c/code\u003e\u003c/a\u003e Support standalone option in INI parser (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2161\"\u003e#2161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/e5cb72f7b24b39e36e6ee4f086644897ae567c4e\"\u003e\u003ccode\u003ee5cb72f\u003c/code\u003e\u003c/a\u003e Bugfix: Lua escaped quotes now parsing (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2155\"\u003e#2155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/87662dda2bb2fe5b36bdff78d22dfd886183e08f\"\u003e\u003ccode\u003e87662dd\u003c/code\u003e\u003c/a\u003e Recognize \u003ccode\u003e.resource\u003c/code\u003e files as Robot Framework files (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2158\"\u003e#2158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/d917e336f89f1d5554b816980b1828b3ed75c1af\"\u003e\u003ccode\u003ed917e33\u003c/code\u003e\u003c/a\u003e Add ruby head version to CI (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2154\"\u003e#2154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/aabe2490d40ef793aa72e8eff6851f343af89dde\"\u003e\u003ccode\u003eaabe249\u003c/code\u003e\u003c/a\u003e Realign TOML lexers with the Pygments counterpart (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/a59d414b45ec2b68f372a8e2661f554c6fcd8d3d\"\u003e\u003ccode\u003ea59d414\u003c/code\u003e\u003c/a\u003e Replace usage of \u003ccode\u003ecgi\u003c/code\u003e for ruby 3.5 compatibility (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2131\"\u003e#2131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rouge-ruby/rouge/commit/327071fe99f3efbe295d3b3a9263c7bec5bdec47\"\u003e\u003ccode\u003e327071f\u003c/code\u003e\u003c/a\u003e Fix highlighting comparable method definition (\u003ca href=\"https://redirect.github.com/rouge-ruby/rouge/issues/2149\"\u003e#2149\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rouge-ruby/rouge/compare/v4.6.0...v4.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.17\"\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.25.0 to 1.26.0\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.0\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/444\"\u003e#444\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003ePerformance/BlockGivenWithExplicitBlock\u003c/code\u003e when using \u003ccode\u003eNaming/BlockForwarding\u003c/code\u003e's autocorrection together. (\u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/500\"\u003e#500\u003c/a\u003e: Mark \u003ccode\u003ePerformance/MapCompact\u003c/code\u003e cop as unsafe. (\u003ca href=\"https://github.com/jbpextra\"\u003e\u003ccode\u003e@​jbpextra\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/pull/498\"\u003e#498\u003c/a\u003e: Fix \u003ccode\u003ePerformance/Count\u003c/code\u003e cop error on empty selector block. (\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-performance/pull/504\"\u003e#504\u003c/a\u003e: Fix autocorrection syntax error for \u003ccode\u003ePerformance/Count\u003c/code\u003e with multiline calls. (\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\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/512\"\u003e#512\u003c/a\u003e: Detect negated conditions like \u003ccode\u003e!foo.start_with('bar') \u0026amp;\u0026amp; !foo.start_with('baz')\u003c/code\u003e with \u003ccode\u003ePerformance/DoubleStartEndWith\u003c/code\u003e. (\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.0 (2025-09-06)\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/444\"\u003e#444\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003ePerformance/BlockGivenWithExplicitBlock\u003c/code\u003e when using \u003ccode\u003eNaming/BlockForwarding\u003c/code\u003e's autocorrection together. ([\u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/500\"\u003e#500\u003c/a\u003e: Mark \u003ccode\u003ePerformance/MapCompact\u003c/code\u003e cop as unsafe. ([\u003ca href=\"https://github.com/jbpextra\"\u003e\u003ccode\u003e@​jbpextra\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/pull/498\"\u003e#498\u003c/a\u003e: Fix \u003ccode\u003ePerformance/Count\u003c/code\u003e cop error on empty selector block. ([\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-performance/pull/504\"\u003e#504\u003c/a\u003e: Fix autocorrection syntax error for \u003ccode\u003ePerformance/Count\u003c/code\u003e with multiline calls. ([\u003ca href=\"https://github.com/lovro-bikic\"\u003e\u003ccode\u003e@​lovro-bikic\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/512\"\u003e#512\u003c/a\u003e: Detect negated conditions like \u003ccode\u003e!foo.start_with('bar') \u0026amp;\u0026amp; !foo.start_with('baz')\u003c/code\u003e with \u003ccode\u003ePerformance/DoubleStartEndWith\u003c/code\u003e. ([\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/4e6eb015f256bebde8a80d075d709f90ad7507f0\"\u003e\u003ccode\u003e4e6eb01\u003c/code\u003e\u003c/a\u003e Cut 1.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/b78119b60a380991229e2a602c1c89ac75345123\"\u003e\u003ccode\u003eb78119b\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/75e8065c4d2a35fcfa1a1cb8b41f91dc19150245\"\u003e\u003ccode\u003e75e8065\u003c/code\u003e\u003c/a\u003e Fix typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/be32feccfb6216a134f9d5635ef9544fbd33f56d\"\u003e\u003ccode\u003ebe32fec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/514\"\u003e#514\u003c/a\u003e from Earlopain/ci-jrbuy-10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/7615a373c96462b0f3e1322d9aa7dae14b542d8d\"\u003e\u003ccode\u003e7615a37\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/513\"\u003e#513\u003c/a\u003e from Earlopain/sync-spellchecking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/1b82ee847ada4d95cc81c711cea22a2bdca9ee4b\"\u003e\u003ccode\u003e1b82ee8\u003c/code\u003e\u003c/a\u003e CI against the latest stable JRuby version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/2bfd0c699b40f4e9d49c3d1179e17bd30759f955\"\u003e\u003ccode\u003e2bfd0c6\u003c/code\u003e\u003c/a\u003e Remove misspell from CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/95b35594d3732e10bb11d85351b3e6faf1965353\"\u003e\u003ccode\u003e95b3559\u003c/code\u003e\u003c/a\u003e Run codespell with \u003ccode\u003ebundle exec rake\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/c592668a75bf305f0ab33d2c8dd3e23bbe8fc6a1\"\u003e\u003ccode\u003ec592668\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-performance/issues/512\"\u003e#512\u003c/a\u003e from Earlopain/start-end-negation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-performance/commit/b78995987ac8e0b012ad0c0d3b9c6b9a71ada0cf\"\u003e\u003ccode\u003eb789959\u003c/code\u003e\u003c/a\u003e Detect negated conditions with \u003ccode\u003ePerformance/DoubleStartEndWith\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-performance/compare/v1.25.0...v1.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-rails` from 2.33.3 to 2.33.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rails/releases\"\u003erubocop-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop Rails v2.33.4\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. (\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. (\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/blob/master/CHANGELOG.md\"\u003erubocop-rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.33.4 (2025-09-27)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1530\"\u003e#1530\u003c/a\u003e: Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e when using endless method 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-rails/pull/1522\"\u003e#1522\u003c/a\u003e: Fix an error for \u003ccode\u003eRails/FindBy\u003c/code\u003e when \u003ccode\u003ewhere\u003c/code\u003e takes a block. ([\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-rails/issues/1182\"\u003e#1182\u003c/a\u003e: Fix a false positive for \u003ccode\u003eRails/ActionControllerFlashBeforeRender\u003c/code\u003e when flash is called in a block. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\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-rails/commit/b2ccb8244903d481ed3c38ec7d82b178004b1ba8\"\u003e\u003ccode\u003eb2ccb82\u003c/code\u003e\u003c/a\u003e Cut 2.33.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/0fb12599c595f64b9f71133076d6b82039caef2f\"\u003e\u003ccode\u003e0fb1259\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/24faad2570253883247edd5b0cfb23eb56ed9c86\"\u003e\u003ccode\u003e24faad2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1533\"\u003e#1533\u003c/a\u003e from viralpraxis/load-simplecov-before-lib-for-bette...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/28caddb84e77734bda1acb6632cf58b7add0b0ec\"\u003e\u003ccode\u003e28caddb\u003c/code\u003e\u003c/a\u003e Load \u003ccode\u003esimplecov\u003c/code\u003e before loading \u003ccode\u003elib\u003c/code\u003e for better coverage results\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/60dd19b6795282ae3e2c6ba0519b368fc9bb4c13\"\u003e\u003ccode\u003e60dd19b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1528\"\u003e#1528\u003c/a\u003e from 5hun-s/fix_false_positive_for_rails_action_cont...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/87e5bbffeb97904cdb840095e1b1edd1244ff539\"\u003e\u003ccode\u003e87e5bbf\u003c/code\u003e\u003c/a\u003e [Fix rubocop#1182] Fix a false positive for Rails/ActionControllerFlashBefore...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/ec292a2c818586f04291fb698710659ecb213763\"\u003e\u003ccode\u003eec292a2\u003c/code\u003e\u003c/a\u003e Fix a build error when using Ruby 2.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/17371a8c6b6ec46a043b6b345fbaee4de08e2d7e\"\u003e\u003ccode\u003e17371a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1531\"\u003e#1531\u003c/a\u003e from koic/fix_an_incorrect_autocorrect_for_rails_fin...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/2b091eb909dad6efb162541dcdcf24567bc4291f\"\u003e\u003ccode\u003e2b091eb\u003c/code\u003e\u003c/a\u003e Fix an incorrect autocorrect for \u003ccode\u003eRails/FindByOrAssignmentMemoization\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rails/commit/dd734913df79ac68ca1b4038bc93320d3172cf10\"\u003e\u003ccode\u003edd73491\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rails/issues/1522\"\u003e#1522\u003c/a\u003e from Earlopain/find-by-where-block\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rails/compare/v2.33.3...v2.33.4\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed compatibility with \u003ccode\u003eredis\u003c/code\u003e gem \u003ccode\u003e5.4.1\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a possible race condition in \u003ccode\u003estream_from\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOuYangJinTing\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/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/5eb4c3d2fabd84954eddccca9ddc437f41a27ebc\"\u003e\u003ccode\u003e5eb4c3d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54031\"\u003e#54031\u003c/a\u003e from bai/bun-lockfile-txt\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/e0278f5728a2c3f5666c3565ee195e43ffc86dec\"\u003e\u003ccode\u003ee0278f5\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/cb04cf583a5390bf87834be69bc096a3b48c3af3\"\u003e\u003ccode\u003ecb04cf5\u003c/code\u003e\u003c/a\u003e Appease rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/11493e8126e964cb7480c64adff3be92cabbc0eb\"\u003e\u003ccode\u003e11493e8\u003c/code\u003e\u003c/a\u003e Fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5b8826cd03edbaf4a0a7bb40323c0de2e6cda91\"\u003e\u003ccode\u003ef5b8826\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/44e016ec2290e16e4f53814c522d37dafe8119ce\"\u003e\u003ccode\u003e44e016e\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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/5308e753c69a15bad58892d83dd98302cb766beb\"\u003e\u003ccode\u003e5308e75\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/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.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eURL helpers for engines mounted at the application root handle \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e correctly.\u003c/p\u003e\n\u003cp\u003eFixed an issue where \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e is not applied to paths generated for routes in an engine\nmounted at \u0026quot;/\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e from clearing almost all routes.\u003c/p\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e inside a middleware of\na Rake task, it was possible under certain conditions that all routes would be cleared.\nIf ran inside a middleware, this would result in getting a 404 on most page you visit.\nThis issue was only happening in development.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdouard Chin\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress \u003ccode\u003erack 3.2\u003c/code\u003e deprecations warnings.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ewarning: Status code :unprocessable_entity is deprecated and will be removed in a future version of Rack.\nPlease use :unprocessable_content instead.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eRails API will transparently convert one into the other for the foreseeable future.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEarlopain\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport hash-source in Content Security Policy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003emadogiwa\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways return empty body for HEAD requests in \u003ccode\u003ePublicExceptions\u003c/code\u003e and\n\u003ccode\u003eDebugExceptions\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis is required by \u003ccode\u003eRack::Lint\u003c/code\u003e (per RFC9110).\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/13123c4f097fba9f173ab069d487ecc5b7f4ff69\"\u003e\u003ccode\u003e13123c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54306\"\u003e#54306\u003c/a\u003e from Edouard-chin/ec-routes-reloading\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/d6a8692215f611a419d5c28f6e03691c82a0a789\"\u003e\u003ccode\u003ed6a8692\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54207\"\u003e#54207\u003c/a\u003e from madogiwa0124/support-csp-hash-source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f495b6e19d01ece09b3293e3079ce375e8cc1002\"\u003e\u003ccode\u003ef495b6e\u003c/code\u003e\u003c/a\u003e Format example as code instead of ASCII table [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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd rollup-plugin-terser as a dev dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eÉdouard Chin\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/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/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/91d803cc53d3078149639fc7498b8651396e4bbc\"\u003e\u003ccode\u003e91d803c\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/144c9657952210a23cf78a3cc4f17b8eb8051683\"\u003e\u003ccode\u003e144c965\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/e4aefa9c80ddfa05fa645b0470f7971cedf1ce6e\"\u003e\u003ccode\u003ee4aefa9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54798\"\u003e#54798\u003c/a\u003e from Edouard...\n\n_Description has been truncated_","html_url":"https://github.com/bensheldon/island94.org/pull/441","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bensheldon%2Fisland94.org/issues/441","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/441/packages"}},{"old_version":"1.2.1","new_version":"1.3.0","update_type":"minor","path":null,"pr_created_at":"2025-09-29T04:31:29.000Z","version_change":"1.2.1 → 1.3.0","issue":{"uuid":"2868991659","node_id":"PR_kwDOAmAyHM6rAVar","number":151,"state":"open","title":"Bump the semver_updates group with 22 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-29T04:31:29.000Z","updated_at":"2025-09-29T04:31:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"semver_updates","update_count":22,"packages":[{"name":"rails","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"puma","old_version":"7.0.3","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"actioncable","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailbox","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionmailer","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionpack","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actiontext","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"actionview","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activejob","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activemodel","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activerecord","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activestorage","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"activesupport","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"aws-partitions","old_version":"1.1162.0","new_version":"1.1166.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.232.0","new_version":"3.233.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.112.0","new_version":"1.113.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-s3","old_version":"1.199.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"globalid","old_version":"1.2.1","new_version":"1.3.0","repository_url":"https://github.com/rails/globalid"},{"name":"mime-types-data","old_version":"3.2025.0916","new_version":"3.2025.0924","repository_url":"https://github.com/mime-types/mime-types-data"},{"name":"railties","old_version":"8.0.2.1","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"rubyzip","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/rubyzip/rubyzip"},{"name":"sass-embedded","old_version":"1.93.0","new_version":"1.93.2","repository_url":"https://github.com/sass-contrib/sass-embedded-host-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the semver_updates group with 22 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [puma](https://github.com/puma/puma) | `7.0.3` | `7.0.4` |\n| [actioncable](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionmailbox](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionmailer](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionpack](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actiontext](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [actionview](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activejob](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activemodel](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activerecord](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activestorage](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [activesupport](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1162.0` | `1.1166.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.232.0` | `3.233.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.112.0` | `1.113.0` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.199.0` | `1.199.1` |\n| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.3.0` |\n| [mime-types-data](https://github.com/mime-types/mime-types-data) | `3.2025.0916` | `3.2025.0924` |\n| [railties](https://github.com/rails/rails) | `8.0.2.1` | `8.0.3` |\n| [rubyzip](https://github.com/rubyzip/rubyzip) | `3.1.0` | `3.1.1` |\n| [sass-embedded](https://github.com/sass-contrib/sass-embedded-host-ruby) | `1.93.0` | `1.93.2` |\n\nUpdates `rails` from 8.0.2.1 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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/030f68cb32c6ff05f7922040ad6bde3dd902f977\"\u003e\u003ccode\u003e030f68c\u003c/code\u003e\u003c/a\u003e Remove lock for rdoc gem in Gemfile\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/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/74038d7f15a8f9e5b3d38a730a4b67da14697daa\"\u003e\u003ccode\u003e74038d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55722\"\u003e#55722\u003c/a\u003e from kozy4324/fix-lease-sticky-flag-timing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4fc9618c6116476bcb4818624abb27bedc488cd3\"\u003e\u003ccode\u003e4fc9618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55703\"\u003e#55703\u003c/a\u003e from byroot/hly-fix-query-cache-system-tests-2\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `puma` from 7.0.3 to 7.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/master/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.4 / 2025-09-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3740\"\u003e#3740\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a4c451c142a93ffb33af4a643b1e065341d9ad3a\"\u003e\u003ccode\u003ea4c451c\u003c/code\u003e\u003c/a\u003e v7.0.4 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3769\"\u003e#3769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/474f4ac87b3a49884080f6611636eff2e6e61cee\"\u003e\u003ccode\u003e474f4ac\u003c/code\u003e\u003c/a\u003e Remove global side effect from test (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3765\"\u003e#3765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/30e0d2254043f0ef8b586f23bc5f06a59a45c219\"\u003e\u003ccode\u003e30e0d22\u003c/code\u003e\u003c/a\u003e Add test/rackup/sleep_fibonacci.ru, update benchmark hey files (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4cd1199e1c1ad40af350f70e57ce3703e0d72e8c\"\u003e\u003ccode\u003e4cd1199\u003c/code\u003e\u003c/a\u003e ci: test_puma_server_ssl.rb - catch error in thread (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3760\"\u003e#3760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/684b715026d8e0a239274f4433294e5cd8b1ad0c\"\u003e\u003ccode\u003e684b715\u003c/code\u003e\u003c/a\u003e Fix SSL_shutdown error handling (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3703\"\u003e#3703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7e0d127b93a7d7bea0c1ecf3c7c88012d1a0baea\"\u003e\u003ccode\u003e7e0d127\u003c/code\u003e\u003c/a\u003e Strip whitespace from the beginnings of request header values. (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3742\"\u003e#3742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/b817da4305a7a429e8e63d4f4a9b52d2a95fdc3e\"\u003e\u003ccode\u003eb817da4\u003c/code\u003e\u003c/a\u003e puma_http11.c: Use interned UTF-8 strings for hash keys (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3754\"\u003e#3754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/943d9c7bc3f916039ef918608a21030858b4333c\"\u003e\u003ccode\u003e943d9c7\u003c/code\u003e\u003c/a\u003e Move sleep cluster logic to its own class (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7aadde56fb2507dc0aab36649bc808a90c626e05\"\u003e\u003ccode\u003e7aadde5\u003c/code\u003e\u003c/a\u003e ci: helper.rb - catch error writing to \u003ccode\u003eENV['GITHUB_STEP_SUMMARY']\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/48ffd34a8e56ef5dce1471f75b98a094874ac953\"\u003e\u003ccode\u003e48ffd34\u003c/code\u003e\u003c/a\u003e Fixup benchmark scripts (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3753\"\u003e#3753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/puma/puma/compare/v7.0.3...v7.0.4\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed compatibility with \u003ccode\u003eredis\u003c/code\u003e gem \u003ccode\u003e5.4.1\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFixed a possible race condition in \u003ccode\u003estream_from\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOuYangJinTing\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/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/5eb4c3d2fabd84954eddccca9ddc437f41a27ebc\"\u003e\u003ccode\u003e5eb4c3d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54031\"\u003e#54031\u003c/a\u003e from bai/bun-lockfile-txt\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/e0278f5728a2c3f5666c3565ee195e43ffc86dec\"\u003e\u003ccode\u003ee0278f5\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/cb04cf583a5390bf87834be69bc096a3b48c3af3\"\u003e\u003ccode\u003ecb04cf5\u003c/code\u003e\u003c/a\u003e Appease rubocop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/11493e8126e964cb7480c64adff3be92cabbc0eb\"\u003e\u003ccode\u003e11493e8\u003c/code\u003e\u003c/a\u003e Fix changelog formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f5b8826cd03edbaf4a0a7bb40323c0de2e6cda91\"\u003e\u003ccode\u003ef5b8826\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/44e016ec2290e16e4f53814c522d37dafe8119ce\"\u003e\u003ccode\u003e44e016e\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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/5308e753c69a15bad58892d83dd98302cb766beb\"\u003e\u003ccode\u003e5308e75\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/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.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 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/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.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eURL helpers for engines mounted at the application root handle \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e correctly.\u003c/p\u003e\n\u003cp\u003eFixed an issue where \u003ccode\u003eSCRIPT_NAME\u003c/code\u003e is not applied to paths generated for routes in an engine\nmounted at \u0026quot;/\u0026quot;.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e from clearing almost all routes.\u003c/p\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eRails.application.reload_routes!\u003c/code\u003e inside a middleware of\na Rake task, it was possible under certain conditions that all routes would be cleared.\nIf ran inside a middleware, this would result in getting a 404 on most page you visit.\nThis issue was only happening in development.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdouard Chin\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAddress \u003ccode\u003erack 3.2\u003c/code\u003e deprecations warnings.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003ewarning: Status code :unprocessable_entity is deprecated and will be removed in a future version of Rack.\nPlease use :unprocessable_content instead.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eRails API will transparently convert one into the other for the foreseeable future.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEarlopain\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport hash-source in Content Security Policy.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003emadogiwa\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAlways return empty body for HEAD requests in \u003ccode\u003ePublicExceptions\u003c/code\u003e and\n\u003ccode\u003eDebugExceptions\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThis is required by \u003ccode\u003eRack::Lint\u003c/code\u003e (per RFC9110).\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/13123c4f097fba9f173ab069d487ecc5b7f4ff69\"\u003e\u003ccode\u003e13123c4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54306\"\u003e#54306\u003c/a\u003e from Edouard-chin/ec-routes-reloading\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/d6a8692215f611a419d5c28f6e03691c82a0a789\"\u003e\u003ccode\u003ed6a8692\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54207\"\u003e#54207\u003c/a\u003e from madogiwa0124/support-csp-hash-source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/f495b6e19d01ece09b3293e3079ce375e8cc1002\"\u003e\u003ccode\u003ef495b6e\u003c/code\u003e\u003c/a\u003e Format example as code instead of ASCII table [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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.2.1 to 8.0.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\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd rollup-plugin-terser as a dev dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eÉdouard Chin\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/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/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/91d803cc53d3078149639fc7498b8651396e4bbc\"\u003e\u003ccode\u003e91d803c\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/144c9657952210a23cf78a3cc4f17b8eb8051683\"\u003e\u003ccode\u003e144c965\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/e4aefa9c80ddfa05fa645b0470f7971cedf1ce6e\"\u003e\u003ccode\u003ee4aefa9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54798\"\u003e#54798\u003c/a\u003e from Edouard-chin/ec-actiontext-rollup\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.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix label with \u003ccode\u003efor\u003c/code\u003e option not getting prefixed by form \u003ccode\u003enamespace\u003c/code\u003e value\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAbeid Ahmed\u003c/em\u003e, \u003cem\u003eHartley McGuire\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003ejavascript_include_tag\u003c/code\u003e \u003ccode\u003etype\u003c/code\u003e option to accept either strings and symbols.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003ejavascript_include_tag \u0026quot;application\u0026quot;, type: :module\njavascript_include_tag \u0026quot;application\u0026quot;, type: \u0026quot;module\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePreviously, only the string value was recognized.\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\u003eexcerpt\u003c/code\u003e helper with non-whitespace separator.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJonathan Hefner\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/4a441e933fc764eb7128a76a36d5024c1b3caada\"\u003e\u003ccode\u003e4a441e9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55476\"\u003e#55476\u003c/a\u003e from jonathanhefner/excerpt-with-non-whitespace-sep...\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/cb12148f72837b74ba63f3fba0b891b50e49f6bb\"\u003e\u003ccode\u003ecb12148\u003c/code\u003e\u003c/a\u003e Use headings for args documentation [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.3\"\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.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\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activejob/CHANGELOG.md\"\u003eactivejob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInclude the actual Active Job locale when serializing rather than I18n locale.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eAdrien S\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eretry_job\u003c/code\u003e instrumentation when using \u003ccode\u003e:test\u003c/code\u003e adapter for Active Job.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/91e927f00cd920e34bc844d33e6a99bbeee5beeb\"\u003e\u003ccode\u003e91e927f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55444\"\u003e#55444\u003c/a\u003e from fatkodima/remove-perform_all_later-from-config...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003ehas_secure_password\u003c/code\u003e to perform confirmation validation of the password even when blank.\u003c/p\u003e\n\u003cp\u003eThe validation was incorrectly skipped when the password only contained whitespace characters.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFabio Sangiovanni\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/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\u003e\u003ca href=\"https://github.com/rails/rails/commit/9f62452807a852f29d14fb395c5c441348e16b9e\"\u003e\u003ccode\u003e9f62452\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\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.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\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix query cache for pinned connections in multi threaded transactional tests\u003c/p\u003e\n\u003cp\u003eWhen a pinned connection is used across separate threads, they now use a separate cache store\nfor each thread.\u003c/p\u003e\n\u003cp\u003eThis improve accuracy of system tests, and any test using multiple threads.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHeinrich Lee Yu\u003c/em\u003e, \u003cem\u003eJean Boussier\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't add \u003ccode\u003eid_value\u003c/code\u003e attribute alias when attribute/column with that name already exists.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eRob Lewis\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix false positive change detection involving STI and polymorphic has one relationships.\u003c/p\u003e\n\u003cp\u003ePolymorphic \u003ccode\u003ehas_one\u003c/code\u003e relationships would always be considered changed when defined in a STI child\nclass, causing nedless extra autosaves.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDavid Fritsch\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip calling \u003ccode\u003ePG::Connection#cancel\u003c/code\u003e in \u003ccode\u003ecancel_any_running_query\u003c/code\u003e\nwhen using libpq \u0026gt;= 18 with pg \u0026lt; 1.6.0, due to incompatibility.\nRollback still runs, but may take longer.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eYasuo Honda\u003c/em\u003e, \u003cem\u003eLars Kanis\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix stale association detection for polymorphic \u003ccode\u003ebelongs_to\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFlorent Beaurain\u003c/em\u003e, \u003cem\u003eThomas Crambert\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix removal of PostgreSQL version comments in \u003ccode\u003estructure.sql\u003c/code\u003e for latest PostgreSQL versions which include \u003ccode\u003e\\restrict\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eBrendan Weibrecht\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAllow setting \u003ccode\u003eschema_format\u003c/code\u003e in database configuration.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eprimary:\n  schema_format: ruby\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eUseful in multi-database setups to have different formats per-database.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eT S Vallender\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ntuples to populate row_count instead of count for Postgres\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJonathan Calvert\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/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/74038d7f15a8f9e5b3d38a730a4b67da14697daa\"\u003e\u003ccode\u003e74038d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55722\"\u003e#55722\u003c/a\u003e from kozy4324/fix-lease-sticky-flag-timing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/4fc9618c6116476bcb4818624abb27bedc488cd3\"\u003e\u003ccode\u003e4fc9618\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55703\"\u003e#55703\u003c/a\u003e from byroot/hly-fix-query-cache-system-tests-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/20c7cffa5c6412e324e363393c5a477657f98162\"\u003e\u003ccode\u003e20c7cff\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55699\"\u003e#55699\u003c/a\u003e from skipkayhil/hm-zlxzqwylrmlruzuq\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8408ba67e8eb81557af11e515b8a10ab4f745552\"\u003e\u003ccode\u003e8408ba6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55698\"\u003e#55698\u003c/a\u003e from salzig/fix/respect_schema_format_in_db_schema_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e7f65a941ac3b7f193e234377e48718a86843caa\"\u003e\u003ccode\u003ee7f65a9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55691\"\u003e#55691\u003c/a\u003e from kohder/rl-id-value-alias-fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/228fcf56524fd380925277793c43636c226accf2\"\u003e\u003ccode\u003e228fcf5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/51359\"\u003e#51359\u003c/a\u003e from dfritsch/dfritsch/51280-polymorphic-name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54569418077b68f2f0df27c15514ebd59748c625\"\u003e\u003ccode\u003e5456941\u003c/code\u003e\u003c/a\u003e Return early when column are empty in WhereClause#except_predicates\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.3\"\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.2.1 to 8.0.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\"\u003eactivestorage's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activestorage/CHANGELOG.md\"\u003eactivestorage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAddress deprecation of \u003ccode\u003eAws::S3::Object#upload_stream\u003c/code\u003e in \u003ccode\u003eActiveStorage::Service::S3Service\u003c/code\u003e.\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\u003econfig.active_storage.touch_attachment_records\u003c/code\u003e to work with eager loading.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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/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/58c1cf52979199dddead19f8caca7d5d9efdd120\"\u003e\u003ccode\u003e58c1cf5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55655\"\u003e#55655\u003c/a\u003e from viralpraxis/fix-leftover-docs-references-to-ac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2cc238e8a3eebb5f5f223a4c8ed757585b7d8d7e\"\u003e\u003ccode\u003e2cc238e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55552\"\u003e#55552\u003c/a\u003e from willnet/fix-broken-link-in-active-storage-vari...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/928391e83db900265d9ebc75d82a69f9490d9ea3\"\u003e\u003ccode\u003e928391e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55541\"\u003e#55541\u003c/a\u003e from joshuay03/fix-55525\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/fea5b858955971fcd75dbd7579a5cac542632e63\"\u003e\u003ccode\u003efea5b85\u003c/code\u003e\u003c/a\u003e Move Representable#variant options doc to API docs [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/638673a0d3831316a8f4efcff52b71674606f785\"\u003e\u003ccode\u003e638673a\u003c/code\u003e\u003c/a\u003e Use h4 headings in method docs [ci-skip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/a36f6cc8a6491e141cd1ff0cc5eec2b91e4bca3e\"\u003e\u003ccode\u003ea36f6cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55394\"\u003e#55394\u003c/a\u003e from cesariouy/patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.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.0.2.1 to 8.0.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.0.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003efatkodima\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.0.3/activesupport/CHANGELOG.md\"\u003eactivesupport's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.0.3 (September 22, 2025)\u003c/h2\u003e\n\u003cul\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\u003eMake \u003ccode\u003eActiveSupport::Logger\u003c/code\u003e \u003ccode\u003e#freeze\u003c/code\u003e-friendly.\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\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\u003cp\u003e\u003cem\u003eAlessandro Dal Grande\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix configuring \u003ccode\u003eRedisCacheStore\u003c/code\u003e with \u003ccode\u003eraw: true\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 \u003ccode\u003eEnumerable#sole\u003c/code\u003e for infinite collections.\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/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/78fe9657694027506c00b85d7487c43f2c1b39cf\"\u003e\u003ccode\u003e78fe965\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55710\"\u003e#55710\u003c/a\u003e from Shopify/grodowski/file-update-checker-time-tra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/830363adf5a1d04204cd1567d6ac948abd05c430\"\u003e\u003ccode\u003e830363a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55688\"\u003e#55688\u003c/a\u003e from Shopify/drop-active-support-benchmar-extension\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54569418077b68f2f0df27c15514ebd59748c625\"\u003e\u003ccode\u003e5456941\u003c/code\u003e\u003c/a\u003e Return early when column are empty in WhereClause#except_predicates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c9a82e214046ec0daa06dc0b1718e948ccdc7c9a\"\u003e\u003ccode\u003ec9a82e2\u003c/code\u003e\u003c/a\u003e BigDecimal now works with floats without precision\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/ae1aa389499547813879386d9bd22aa4402d9650\"\u003e\u003ccode\u003eae1aa38\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53093\"\u003e#53093\u003c/a\u003e from armstrjare/broadcast-logger-with-block\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\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2.1...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1162.0 to 1.1166.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1166.0 (2025-09-26)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1165.0 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1164.0 (2025-09-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.1163.0 (2025-09-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data the determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.232.0 to 3.233.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.233.0 (2025-09-23)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSOOIDC::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - This release includes exception definition and documentation updates.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-kms` from 1.112.0 to 1.113.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-kms/CHANGELOG.md\"\u003eaws-sdk-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.113.0 (2025-09-24)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Documentation only updates for KMS.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.199.0 to 1.199.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.199.1 (2025-09-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIssue - Update \u003ccode\u003eTransferManager#download_file\u003c/code\u003e and \u003ccode\u003eObject#download_file\u003c/code\u003e documentation regarding temporary file usage and failure handling for different destination types.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globalid` from 1.2.1 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/globalid/releases\"\u003eglobalid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSet required ruby version to 2.7.0 and up by \u003ca href=\"https://github.com/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep using URI RFC2396 parser by \u003ca href=\"https://github.com/voxik\"\u003e\u003ccode\u003e@​voxik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/192\"\u003erails/globalid#192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDEFAULT_LOCATOR\u003c/code\u003e Configurable by \u003ca href=\"https://github.com/heka1024\"\u003e\u003ccode\u003e@​heka1024\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/179\"\u003erails/globalid#179\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/risen\"\u003e\u003ccode\u003e@​risen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/globalid/pull/169\"\u003erails/globalid#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/botandrosedesign/rw24/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/botandrosedesign%2Frw24/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"}}]}