{"id":69124,"name":"marcel","ecosystem":"rubygems","repository_url":"https://github.com/rails/marcel","issues_count":97,"created_at":"2025-09-16T19:14:59.886Z","updated_at":"2025-09-16T19:14:59.886Z","purl":"pkg:gem/marcel","metadata":{"id":250235,"name":"marcel","ecosystem":"rubygems","description":"Simple mime type detection using magic numbers, filenames, and extensions","homepage":"https://github.com/rails/marcel","licenses":"MIT,Apache-2.0","normalized_licenses":["MIT","Apache-2.0"],"repository_url":"https://github.com/rails/marcel","keywords_array":[],"namespace":null,"versions_count":9,"first_release_published_at":"2018-01-12T15:56:35.487Z","latest_release_published_at":"2024-03-01T16:58:06.773Z","latest_release_number":"1.0.4","last_synced_at":"2025-09-16T13:32:52.504Z","created_at":"2022-04-06T03:55:01.687Z","updated_at":"2025-09-16T19:11:16.560Z","registry_url":"https://rubygems.org/gems/marcel","install_command":"gem install marcel -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/marcel/","metadata":{"funding":null},"repo_metadata":{"id":40400589,"uuid":"82847042","full_name":"rails/marcel","owner":"rails","description":"Find the mime type of files, examining file, filename and declared type","archived":false,"fork":false,"pushed_at":"2024-07-20T15:13:21.000Z","size":5290,"stargazers_count":410,"open_issues_count":31,"forks_count":72,"subscribers_count":28,"default_branch":"main","last_synced_at":"2025-09-07T21:32:48.834Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rails.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2017-02-22T20:02:09.000Z","updated_at":"2025-09-06T08:24:32.000Z","dependencies_parsed_at":"2024-02-28T03:28:24.620Z","dependency_job_id":"a9b6f819-af04-454c-becb-0cdfd5e216c1","html_url":"https://github.com/rails/marcel","commit_stats":{"total_commits":138,"total_committers":30,"mean_commits":4.6,"dds":0.6086956521739131,"last_synced_commit":"170458c687ed22f07d8829043a04e008a2b1936b"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/rails/marcel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rails","download_url":"https://codeload.github.com/rails/marcel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/sbom","scorecard":{"id":759284,"data":{"date":"2025-08-11","repo":{"name":"github.com/rails/marcel","commit":"170458c687ed22f07d8829043a04e008a2b1936b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":3,"reason":"Found 8/26 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: APACHE-LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: APACHE-LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/marcel/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/rails/marcel/ci.yml/main?enable=pin","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T22:49:26.687Z","repository_id":40400589,"created_at":"2025-08-22T22:49:26.687Z","updated_at":"2025-08-22T22:49:26.687Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274693706,"owners_count":25332581,"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","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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.0.4","sha":"cdf0e659c87f81e5d2b393cff3569f870bd71c47","kind":"commit","published_at":"2024-03-01T16:56:16.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v1.0.4","html_url":"https://github.com/rails/marcel/releases/tag/v1.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v1.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.4/manifests"},{"name":"v1.0.3","sha":"59d23fd7e900e26043e3e814b4925aa665d6d1d5","kind":"tag","published_at":"2024-02-28T18:40:48.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v1.0.3","html_url":"https://github.com/rails/marcel/releases/tag/v1.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v1.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.3/manifests"},{"name":"v1.0.2","sha":"fc69a19d17de4fedca354b2404b04834b16eacd8","kind":"tag","published_at":"2021-09-20T22:11:02.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v1.0.2","html_url":"https://github.com/rails/marcel/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v1.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"949e9d6890d0ed52b75962280634670d102aa8dd","kind":"commit","published_at":"2021-04-02T13:00:30.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v1.0.1","html_url":"https://github.com/rails/marcel/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v1.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"e7f73d031554aa9b618bcb9a5df9663f30791871","kind":"commit","published_at":"2021-03-26T14:40:36.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v1.0.0","html_url":"https://github.com/rails/marcel/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v1.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v1.0.0/manifests"},{"name":"v0.3.3","sha":"3d06a6043c1acee4b1ed29283cbafdf34078a137","kind":"commit","published_at":"2018-09-15T03:04:22.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v0.3.3","html_url":"https://github.com/rails/marcel/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"11045e0cf8915ef5f0472c903b3fcc7e00bbdc9f","kind":"commit","published_at":"2018-03-26T21:18:10.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v0.3.2","html_url":"https://github.com/rails/marcel/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"facc7541fc9ad72e7b5ad493c3d23f3bd4c47bca","kind":"commit","published_at":"2018-01-12T21:45:49.000Z","download_url":"https://codeload.github.com/rails/marcel/tar.gz/v0.3.1","html_url":"https://github.com/rails/marcel/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/rails/marcel@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/tags/v0.3.1/manifests"}]},"repo_metadata_updated_at":"2025-09-16T19:11:16.560Z","dependent_packages_count":48,"downloads":381536995,"downloads_period":"total","dependent_repos_count":290032,"rankings":{"downloads":0.0685763985682586,"dependent_repos_count":0.08418728604721179,"dependent_packages_count":0.6110547384618816,"stargazers_count":2.9482276067394433,"forks_count":3.3608010615403487,"docker_downloads_count":0.0691339302639355,"average":1.1903301702701798},"purl":"pkg:gem/marcel","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/marcel","docker_dependents_count":1452,"docker_downloads_count":2992047790,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/marcel","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/marcel/dependencies","status":null,"funding_links":[],"critical":true,"issue_metadata":{"last_synced_at":"2025-09-15T21:00:15.975Z","issues_count":51,"pull_requests_count":77,"avg_time_to_close_issue":16603743.566666666,"avg_time_to_close_pull_request":6363831.064516129,"issues_closed_count":30,"pull_requests_closed_count":62,"pull_request_authors_count":41,"issue_authors_count":50,"avg_comments_per_issue":2.0392156862745097,"avg_comments_per_pull_request":0.922077922077922,"merged_pull_requests_count":48,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":8,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":702058.5,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":2,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":8,"past_year_avg_comments_per_issue":0.375,"past_year_avg_comments_per_pull_request":0.6666666666666666,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/rails%2Fmarcel/issues","maintainers":[{"login":"gmcgibbon","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gmcgibbon"},{"login":"jeremy","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jeremy"},{"login":"vipulnsward","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/vipulnsward"},{"login":"pedrofurtado","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/pedrofurtado"},{"login":"y-yagi","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/y-yagi"},{"login":"eileencodes","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eileencodes"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/marcel/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/marcel/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/marcel/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/marcel/related_packages","maintainers":[{"uuid":"43492","login":"jhawthorn","name":null,"email":null,"url":null,"packages_count":141,"html_url":"https://rubygems.org/profiles/jhawthorn","role":null,"created_at":"2022-11-09T09:39:43.027Z","updated_at":"2022-11-09T09:39:43.027Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/jhawthorn/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:39:43.021Z","updated_at":"2022-11-09T09:39:43.021Z","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:39:43.035Z","updated_at":"2022-11-09T09:39:43.035Z","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:39:43.251Z","updated_at":"2022-11-09T09:39:43.251Z","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:39:43.060Z","updated_at":"2022-11-09T09:39:43.060Z","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:39:43.197Z","updated_at":"2022-11-09T09:39:43.197Z","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:39:43.237Z","updated_at":"2022-11-09T09:39:43.237Z","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:39:43.226Z","updated_at":"2022-11-09T09:39:43.226Z","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:39:43.168Z","updated_at":"2022-11-09T09:39:43.168Z","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:39:43.107Z","updated_at":"2022-11-09T09:39:43.107Z","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:39:43.134Z","updated_at":"2022-11-09T09:39:43.134Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/eileencodes/packages"},{"uuid":"1343","login":"tomafro","name":null,"email":null,"url":null,"packages_count":13,"html_url":"https://rubygems.org/profiles/tomafro","role":null,"created_at":"2022-11-09T09:39:43.261Z","updated_at":"2022-11-09T09:39:43.261Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/tomafro/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":199864,"maintainers_count":66929,"namespaces_count":0,"keywords_count":18087,"github":"rubygems","metadata":{"funded_packages_count":7222},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2025-09-16T06:57:28.369Z","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":78,"unique_repositories_count_past_30_days":4,"recent_issues":[{"uuid":"4537188249","node_id":"PR_kwDOJAseVs7gETmQ","number":1781,"state":"open","title":"Chore(deps): Bump the bundler group with 9 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T02:22:18.000Z","updated_at":"2026-05-28T02:22:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"bundler","update_count":9,"packages":[{"name":"aws-sdk-s3","old_version":"1.222.0","new_version":"1.223.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"aws-partitions","old_version":"1.1252.0","new_version":"1.1253.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.247.0","new_version":"3.249.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.127.0","new_version":"1.128.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"faraday-net_http","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/lostisland/faraday-net_http"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"},{"name":"openid_connect","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/nov/openid_connect"},{"name":"snaky_hash","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/ruby-oauth/snaky_hash"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.222.0` | `1.223.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.18` | `2.0.20` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1252.0` | `1.1253.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.247.0` | `3.249.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.127.0` | `1.128.0` |\n| [faraday-net_http](https://github.com/lostisland/faraday-net_http) | `3.4.2` | `3.4.3` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n| [openid_connect](https://github.com/nov/openid_connect) | `2.3.1` | `2.4.0` |\n| [snaky_hash](https://github.com/ruby-oauth/snaky_hash) | `2.0.3` | `2.0.4` |\n\nUpdates `aws-sdk-s3` from 1.222.0 to 1.223.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.223.0 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.18 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1252.0 to 1.1253.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1253.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data that determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.247.0 to 3.249.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.249.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding new BDD representation of endpoint ruleset\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.248.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::STS::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSOOIDC::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSO::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::Signin::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAWS_NEW_RETRIES_2026\u003c/code\u003e environment variable to opt-in to updated \u003ccode\u003estandard\u003c/code\u003e retry mode with reduced backoff intervals.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-kms` from 1.127.0 to 1.128.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-kms/CHANGELOG.md\"\u003eaws-sdk-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.128.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/54\"\u003elostisland/faraday-net_http#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways dup body before mutating it by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/1a6f2505c876de3c7d4f0e420951664d26958196\"\u003e\u003ccode\u003e1a6f250\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/4bcd6262dd0d902b15b4b6285932eda517d7586a\"\u003e\u003ccode\u003e4bcd626\u003c/code\u003e\u003c/a\u003e Always dup body before mutating it (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/56\"\u003e#56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/5ee17ed98e41ad038c9b16ccf8ecf08bd1735568\"\u003e\u003ccode\u003e5ee17ed\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/54\"\u003e#54\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openid_connect` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nov/openid_connect/releases\"\u003eopenid_connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadded link to documentation in the README by \u003ca href=\"https://github.com/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd POST support and custom headers to userinfo! by \u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ehttps://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/e5936a18c69771d359310f067028f0fd811a8892\"\u003e\u003ccode\u003ee5936a1\u003c/code\u003e\u003c/a\u003e v2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/ea20e9c7e7ad40bcf5d4cea48d8ef497832756b6\"\u003e\u003ccode\u003eea20e9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/111\"\u003e#111\u003c/a\u003e from arianf/post-userinfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fe320ff56189da36f7246d07ddbaaccd40bf0417\"\u003e\u003ccode\u003efe320ff\u003c/code\u003e\u003c/a\u003e add POST support and custom headers to userinfo!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/18afb4a35a9cc48c0a912bb54331f77c6b22d20e\"\u003e\u003ccode\u003e18afb4a\u003c/code\u003e\u003c/a\u003e CI against 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/10a2deb21c086dd730526b1e097d3c3d19743500\"\u003e\u003ccode\u003e10a2deb\u003c/code\u003e\u003c/a\u003e update test targets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fce82228d174bc92f6de94a67eac78077a1d250a\"\u003e\u003ccode\u003efce8222\u003c/code\u003e\u003c/a\u003e fix broken spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fc3c7eed9bd450e5675e65d62ecb3973ccdeeb0d\"\u003e\u003ccode\u003efc3c7ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/101\"\u003e#101\u003c/a\u003e from guarenty/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/17d90bcd2c7a67677d9a387ced695c90de2e367f\"\u003e\u003ccode\u003e17d90bc\u003c/code\u003e\u003c/a\u003e Update README.rdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/a0f6d1a55fbe4f300b9a53debfbb359c096c2069\"\u003e\u003ccode\u003ea0f6d1a\u003c/code\u003e\u003c/a\u003e add link to documentation in README.rdoc\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `snaky_hash` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases\"\u003esnaky_hash's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\u003e2.0.4\u003c/a\u003e - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases/tag/v2.0.4\"\u003ev2.0.4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/blob/main/CHANGELOG.md\"\u003esnaky_hash's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.4] - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.4][2.0.4t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/7b4250885ccd27bf3d91f481d446f33322686058\"\u003e\u003ccode\u003e7b42508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/8\"\u003e#8\u003c/a\u003e from ruby-oauth/dependabot/github_actions/marocchino/st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/a97d4c53568e253bc563f50c524e5ff49a59da2e\"\u003e\u003ccode\u003ea97d4c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/9\"\u003e#9\u003c/a\u003e from ruby-oauth/dependabot/github_actions/codecov/codec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/2214e9801469a4bd8f004e9b1acb0082e5d1e0f8\"\u003e\u003ccode\u003e2214e98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/10\"\u003e#10\u003c/a\u003e from ruby-oauth/dependabot/github_actions/actions/depe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/b0a09d8158df7878aa5c3c9c51da023e63fb9b50\"\u003e\u003ccode\u003eb0a09d8\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/d8aaf97016cd32498ae74b17e4063896d2448dcb\"\u003e\u003ccode\u003ed8aaf97\u003c/code\u003e\u003c/a\u003e ✅ Update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/88be176962625905b5234ec8f42f09023f0f2619\"\u003e\u003ccode\u003e88be176\u003c/code\u003e\u003c/a\u003e ➖ addressable (dev)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/69dd5a1bd23643acc8920a796ee6a64e7d739b7c\"\u003e\u003ccode\u003e69dd5a1\u003c/code\u003e\u003c/a\u003e 🔥 bin/bundle is dead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/bb44430185e563fb348e266efd17d81c697f4278\"\u003e\u003ccode\u003ebb44430\u003c/code\u003e\u003c/a\u003e 🔧 Modernize gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/5a170abcf03ca2bd9546d2d26e02bc8377e13914\"\u003e\u003ccode\u003e5a170ab\u003c/code\u003e\u003c/a\u003e ➕ appraisal2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/eaa5304f7338d35509688fa4c543635daa4cd677\"\u003e\u003ccode\u003eeaa5304\u003c/code\u003e\u003c/a\u003e ⬆️ yard-junk v0.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/laa-assure-hmrc-data/pull/1781","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-assure-hmrc-data/issues/1781","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1781/packages"},{"uuid":"4483389363","node_id":"PR_kwDOR-g9jc7dXpFR","number":61,"state":"open","title":"Bump marcel from 1.1.0 to 1.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-20T05:19:48.000Z","updated_at":"2026-05-20T05:20:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"marcel","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/marcel) from 1.1.0 to 1.1.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.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/0a70010a2cf69b8a0d91cdcae9e93eb913a20285\"\u003e\u003ccode\u003e0a70010\u003c/code\u003e\u003c/a\u003e Release 1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f798c466a77427fba31c93243b8b1c71333be8a1\"\u003e\u003ccode\u003ef798c46\u003c/code\u003e\u003c/a\u003e Fix Ruby 3.4 frozen string literal warnings with StringIO (\u003ca href=\"https://redirect.github.com/rails/marcel/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.1.0\u0026new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ruby-benchmark/errbit/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-benchmark%2Ferrbit/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"},{"uuid":"4482798651","node_id":"PR_kwDOCRCuO87dVuJu","number":2960,"state":"closed","title":"chore(deps): bump marcel from 1.1.0 to 1.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T23:08:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T03:13:09.000Z","updated_at":"2026-05-20T23:08:31.000Z","time_to_close":71720,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"marcel","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/marcel) from 1.1.0 to 1.1.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.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/0a70010a2cf69b8a0d91cdcae9e93eb913a20285\"\u003e\u003ccode\u003e0a70010\u003c/code\u003e\u003c/a\u003e Release 1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f798c466a77427fba31c93243b8b1c71333be8a1\"\u003e\u003ccode\u003ef798c46\u003c/code\u003e\u003c/a\u003e Fix Ruby 3.4 frozen string literal warnings with StringIO (\u003ca href=\"https://redirect.github.com/rails/marcel/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.1.0\u0026new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mishina2228/youtube-api-trial/pull/2960","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mishina2228%2Fyoutube-api-trial/issues/2960","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2960/packages"},{"uuid":"4481409919","node_id":"PR_kwDOFAzcJM7dRaCG","number":6190,"state":"open","title":"Bump marcel from 1.1.0 to 1.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T22:07:54.000Z","updated_at":"2026-05-19T22:08:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"marcel","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/marcel) from 1.1.0 to 1.1.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.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/0a70010a2cf69b8a0d91cdcae9e93eb913a20285\"\u003e\u003ccode\u003e0a70010\u003c/code\u003e\u003c/a\u003e Release 1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f798c466a77427fba31c93243b8b1c71333be8a1\"\u003e\u003ccode\u003ef798c46\u003c/code\u003e\u003c/a\u003e Fix Ruby 3.4 frozen string literal warnings with StringIO (\u003ca href=\"https://redirect.github.com/rails/marcel/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.1.0\u0026new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/manyfold3d/manyfold/pull/6190","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manyfold3d%2Fmanyfold/issues/6190","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6190/packages"},{"uuid":"4194958406","node_id":"PR_kwDOK6NWss7Pk_Ib","number":3467,"state":"open","title":"chore(deps): bump marcel from 1.0.4 to 1.1.0 in /sdks/ruby/examples","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T14:23:24.000Z","updated_at":"2026-04-02T14:27:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":"/sdks/ruby/examples","ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/hatchet-dev/hatchet/pull/3467","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatchet-dev%2Fhatchet/issues/3467","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3467/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":"3704555669","node_id":"PR_kwDOA4nnZM63lTba","number":96,"state":"closed","title":"Bump the bundler group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-22T04:05:50.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T04:06:50.000Z","updated_at":"2025-12-22T04:05:51.000Z","time_to_close":1209540,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":34,"packages":[{"name":"rails","old_version":"8.0.2","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"redis","old_version":"5.4.0","new_version":"5.4.1","repository_url":"https://github.com/redis/redis-rb"},{"name":"puma","old_version":"6.6.0","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"pundit","old_version":"2.5.0","new_version":"2.5.2","repository_url":"https://github.com/varvet/pundit"},{"name":"aasm","old_version":"5.5.1","new_version":"5.5.2","repository_url":"https://github.com/aasm/aasm"},{"name":"view_component","old_version":"3.23.2","new_version":"4.1.1","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"pagy","old_version":"9.3.4","new_version":"43.2.0","repository_url":"https://github.com/ddnexus/pagy"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.20","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"solid_cable","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/rails/solid_cable"},{"name":"sidekiq","old_version":"8.0.4","new_version":"8.0.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"sidekiq-cron","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ondrejbartas/sidekiq-cron"},{"name":"aws-sdk-s3","old_version":"1.190.0","new_version":"1.206.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"thruster","old_version":"0.1.14","new_version":"0.1.16","repository_url":"https://github.com/basecamp/thruster"},{"name":"grape","old_version":"2.4.0","new_version":"3.0.1","repository_url":"https://github.com/ruby-grape/grape"},{"name":"grape-swagger-entity","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/ruby-grape/grape-swagger-entity"},{"name":"graphql","old_version":"2.5.9","new_version":"2.5.14","repository_url":"https://github.com/rmosolgo/graphql-ruby"},{"name":"dotenv","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"amazing_print","old_version":"1.8.1","new_version":"2.0.0","repository_url":"https://github.com/amazing-print/amazing_print"},{"name":"rspec-rails","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"factory_bot_rails","old_version":"6.5.0","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"selenium-webdriver","old_version":"4.33.0","new_version":"4.39.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"brakeman","old_version":"7.0.2","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"rubocop-rails","old_version":"2.32.0","new_version":"2.34.2","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.8.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"vernier","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rspec-sidekiq","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/wspurgin/rspec-sidekiq"},{"name":"database_cleaner-active_record","old_version":"2.2.1","new_version":"2.2.2","repository_url":"https://github.com/DatabaseCleaner/database_cleaner-active_record"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2` | `8.0.4` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [redis](https://github.com/redis/redis-rb) | `5.4.0` | `5.4.1` |\n| [puma](https://github.com/puma/puma) | `6.6.0` | `7.1.0` |\n| [pundit](https://github.com/varvet/pundit) | `2.5.0` | `2.5.2` |\n| [aasm](https://github.com/aasm/aasm) | `5.5.1` | `5.5.2` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.1.1` |\n| [pagy](https://github.com/ddnexus/pagy) | `9.3.4` | `43.2.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.20` |\n| [solid_cable](https://github.com/rails/solid_cable) | `3.0.11` | `3.0.12` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.4` | `8.0.10` |\n| [sidekiq-cron](https://github.com/ondrejbartas/sidekiq-cron) | `2.3.0` | `2.3.1` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.190.0` | `1.206.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.19.0` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.14` | `0.1.16` |\n| [grape](https://github.com/ruby-grape/grape) | `2.4.0` | `3.0.1` |\n| [grape-swagger-entity](https://github.com/ruby-grape/grape-swagger-entity) | `0.6.2` | `0.7.0` |\n| [graphql](https://github.com/rmosolgo/graphql-ruby) | `2.5.9` | `2.5.14` |\n| [dotenv](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [amazing_print](https://github.com/amazing-print/amazing_print) | `1.8.1` | `2.0.0` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.1` | `8.0.2` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.5.0` | `6.5.1` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.33.0` | `4.39.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.0.2` | `7.1.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.32.0` | `2.34.2` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.1` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.8.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.9.0` |\n| [rspec-sidekiq](https://github.com/wspurgin/rspec-sidekiq) | `5.1.0` | `5.2.0` |\n| [database_cleaner-active_record](https://github.com/DatabaseCleaner/database_cleaner-active_record) | `2.2.1` | `2.2.2` |\n\n\nUpdates `rails` from 8.0.2 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/47a763581331ecfa56fb27beceda04bc6b5bb1f4\"\u003e\u003ccode\u003e47a7635\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d96d698c3a78510d974f186d21e9b81d15b2a955\"\u003e\u003ccode\u003ed96d698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56021\"\u003e#56021\u003c/a\u003e from harsh183/hd/getting_started_add_note_about_mai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/95a073edcda76d06037df3d1c4904759e5d58163\"\u003e\u003ccode\u003e95a073e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55966\"\u003e#55966\u003c/a\u003e from alexanderadam/doc/remove_subclasses_documentat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ac0b8f0a6187d2d626f7c8c29dae41c8ff9217d1\"\u003e\u003ccode\u003eac0b8f0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54720\"\u003e#54720\u003c/a\u003e from gregmolnar/guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/82f2c96c394b0cf2c2208a7cbf8ebb4fa591ebd6\"\u003e\u003ccode\u003e82f2c96\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/94a28440cafca5c243821490956432b30d8a4fa4\"\u003e\u003ccode\u003e94a2844\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53068\"\u003e#53068\u003c/a\u003e from zzak/rails-probot-migration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2...v8.0.4\"\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 `redis` from 5.4.0 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-rb/blob/master/CHANGELOG.md\"\u003eredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.4.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly handle NOSCRIPT errors.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/6784a3204be44d4ca7891a901295e4a4007a13a5\"\u003e\u003ccode\u003e6784a32\u003c/code\u003e\u003c/a\u003e Release 5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/c205a8c7f22a3d387cb3cf9a8816e7a32f748c5c\"\u003e\u003ccode\u003ec205a8c\u003c/code\u003e\u003c/a\u003e Require redis-client earlier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/16c78555caeb580ab6c5365f8979259faab3142d\"\u003e\u003ccode\u003e16c7855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1312\"\u003e#1312\u003c/a\u003e from redis/translate-ensure-connected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/08a3290ea65214e2af09d456dc0439082362782f\"\u003e\u003ccode\u003e08a3290\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ewithout_reconnect\u003c/code\u003e to wrap redis-client exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/8408c0365b72b4c655a95af7934d2fad50d2d33c\"\u003e\u003ccode\u003e8408c03\u003c/code\u003e\u003c/a\u003e Update redis release URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/317a0204d8361927757117845f825b42c26fac14\"\u003e\u003ccode\u003e317a020\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1311\"\u003e#1311\u003c/a\u003e from redis/specialize-evalsha-noscript-error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/d9f004fa08886309c3b4068488e057801786f836\"\u003e\u003ccode\u003ed9f004f\u003c/code\u003e\u003c/a\u003e Fix a mistake in test_hrandfield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/57c79c2b7ccbf46d6964cc5104d52f41911e70fe\"\u003e\u003ccode\u003e57c79c2\u003c/code\u003e\u003c/a\u003e Handle RedisClient::NoScriptError\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/redis-rb/compare/v5.4.0...v5.4.1\"\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.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove sleep cluster logic to its own class by \u003ca href=\"https://github.com/schneems\"\u003e\u003ccode\u003e@​schneems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3746\"\u003epuma/puma#3746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3754\"\u003epuma/puma#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of header values by \u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL_shutdown error handling by \u003ca href=\"https://github.com/marshall-lee\"\u003e\u003ccode\u003e@​marshall-lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3703\"\u003epuma/puma#3703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\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.3...v7.0.4\"\u003ehttps://github.com/puma/puma/compare/v7.0.3...v7.0.4\u003c/a\u003e\u003c/p\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v6.6.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pundit` from 2.5.0 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/varvet/pundit/blob/main/CHANGELOG.md\"\u003epundit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.2 (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003econfig/rubocop-rspec.yml\u003c/code\u003e back from accidentally being excluded \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.1 (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequiring only \u003ccode\u003epundit/rspec\u003c/code\u003e no longer raises an error in Active Support \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/857\"\u003e#857\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/varvet/pundit/commit/2d665d67a26f794987df926e49676948fe115289\"\u003e\u003ccode\u003e2d665d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/867\"\u003e#867\u003c/a\u003e from varvet/kbs/release-v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/7ff48a83790aef27bd89fa4da6a0a238599bca2d\"\u003e\u003ccode\u003e7ff48a8\u003c/code\u003e\u003c/a\u003e Bump to v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/674abac197c7ecc000fd25a4542344d38c998535\"\u003e\u003ccode\u003e674abac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e from varvet/kbs/add-rubocop-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/923eebf39ccd6f8095a5c4270953e7a19d6d16a6\"\u003e\u003ccode\u003e923eebf\u003c/code\u003e\u003c/a\u003e Point changelog to PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/47668502881e3abed7dd004ca19fa11d66b23b6f\"\u003e\u003ccode\u003e4766850\u003c/code\u003e\u003c/a\u003e Add rubocop config file back to gem release files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/27a840bedadf0ef3d66f1857edd966c2e01cc18e\"\u003e\u003ccode\u003e27a840b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/863\"\u003e#863\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/381b202dd2e11c5eb0ea1134d29f85331a01d643\"\u003e\u003ccode\u003e381b202\u003c/code\u003e\u003c/a\u003e +3.4 -3.1 (EOL)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/4bb6a67819572bd9431d30048fbab4c9685cfbf2\"\u003e\u003ccode\u003e4bb6a67\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/862\"\u003e#862\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/6ceca0d2ab84d2240e6422e7b14d208ad10e3304\"\u003e\u003ccode\u003e6ceca0d\u003c/code\u003e\u003c/a\u003e Attempt code quality upload to qlty.sh instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/82d918a4c4c4ab393f662a32e94028d6b086285d\"\u003e\u003ccode\u003e82d918a\u003c/code\u003e\u003c/a\u003e Bump to v2.5.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/varvet/pundit/compare/v2.5.0...v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aasm` from 5.5.1 to 5.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aasm/aasm/blob/master/CHANGELOG.md\"\u003eaasm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.2 (22 October 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix another issue around keyword arguments for Ruby \u0026gt;3.2, thanks \u003ca href=\"https://github.com/segiddins\"\u003e\u003ccode\u003e@​segiddins\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/873\"\u003e#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade rails tests and move concurrent to load only necessary class, thanks \u003ca href=\"https://github.com/allcentury\"\u003e\u003ccode\u003e@​allcentury\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/852\"\u003e#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd changelog-uri, thanks \u003ca href=\"https://github.com/kzkn\"\u003e\u003ccode\u003e@​kzkn\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/759\"\u003e#759\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/aasm/aasm/commit/726a578808e0f403bfd24e505f9a45319670a6b7\"\u003e\u003ccode\u003e726a578\u003c/code\u003e\u003c/a\u003e Version bump to 5.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/3c10a03a00c10ada24c076be798ca02c0c992504\"\u003e\u003ccode\u003e3c10a03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/873\"\u003e#873\u003c/a\u003e from segiddins/segiddins/proc-invoker-kwargs-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/35e060cdf8befde81e788463e690aceb2f59db1e\"\u003e\u003ccode\u003e35e060c\u003c/code\u003e\u003c/a\u003e Add keyword arguments support to ProcInvoker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/18de75fa440ae58679f2758008756566c9a9be74\"\u003e\u003ccode\u003e18de75f\u003c/code\u003e\u003c/a\u003e Correctly use the twiddle-wakka\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/7d09045708034be72623ff68fad86abb679fb911\"\u003e\u003ccode\u003e7d09045\u003c/code\u003e\u003c/a\u003e Update changelog for \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/852\"\u003eaasm/aasm#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/f63d93ede532e7f9354d03ffbdc341f7ba80d84c\"\u003e\u003ccode\u003ef63d93e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/852\"\u003e#852\u003c/a\u003e from allcentury/rails-tests-upgrades\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/0b40827204892a1ca7f409aedd3a1266d0f58b7f\"\u003e\u003ccode\u003e0b40827\u003c/code\u003e\u003c/a\u003e Update changelog for \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/759\"\u003eaasm/aasm#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/0ee1ab1b85a7fa66ce84eb6572b760305fb87b68\"\u003e\u003ccode\u003e0ee1ab1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/759\"\u003e#759\u003c/a\u003e from kzkn/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/a0cb056d3f6054bf885aa849160e20319b272687\"\u003e\u003ccode\u003ea0cb056\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/867\"\u003e#867\u003c/a\u003e from aasm/admin/add_builds_for_ruby_3_3_and_3_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/00dcee68f005ada536693338875b91b01111e0b6\"\u003e\u003ccode\u003e00dcee6\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into admin/add_builds_for_ruby_3_3_and_3_4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aasm/aasm/compare/v5.5.1...v5.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Consultport to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSebastian Nepote\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded Reinvented Hospitality to the list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTorgil Zechel\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeclare \u003ccode\u003eactionview\u003c/code\u003e as a \u003ccode\u003eview_component\u003c/code\u003e gem dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMichal Cichra\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/li\u003e\n\u003cli\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/3743d2bc34e648936fea42a762e5a3844b1f2180\"\u003e\u003ccode\u003e3743d2b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2499\"\u003e#2499\u003c/a\u003e from ViewComponent/release-4-1-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/ee56651d12d4f4af9ee0692560b093fb433d8a48\"\u003e\u003ccode\u003eee56651\u003c/code\u003e\u003c/a\u003e Bump VC in gemfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f6d0502b2ebfebeb9641a2fc28fbb1dcbeea91ee\"\u003e\u003ccode\u003ef6d0502\u003c/code\u003e\u003c/a\u003e release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/cb2240b6d55a7d4b5bb1d401844d5e07f69089bf\"\u003e\u003ccode\u003ecb2240b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2493\"\u003e#2493\u003c/a\u003e from ViewComponent/dependabot/bundler/tailwindcss-ra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/7ba75dfbeed30519a8bfb552983209838b8cc06f\"\u003e\u003ccode\u003e7ba75df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2495\"\u003e#2495\u003c/a\u003e from ViewComponent/dependabot/bundler/minitest-5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/44cdafe537ee822e5af574d1df1da9ed9e370c74\"\u003e\u003ccode\u003e44cdafe\u003c/code\u003e\u003c/a\u003e Bump minitest from 5.26.0 to 5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/417339528cce33d182d3a2f99bb04a01514ec2cd\"\u003e\u003ccode\u003e4173395\u003c/code\u003e\u003c/a\u003e Bump tailwindcss-rails from 4.3.0 to 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4dbbaa310ecfdb495e3212e881d40df1b040b83b\"\u003e\u003ccode\u003e4dbbaa3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2492\"\u003e#2492\u003c/a\u003e from snepote/feat/adds_consultport_company_using_vie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b26c936b3fbacc2432cb35508cbb3474001ca007\"\u003e\u003ccode\u003eb26c936\u003c/code\u003e\u003c/a\u003e Add Consultport to \u0026quot;Who uses ViewComponent?\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2222403d78913ff57e3cc70bd2bd860e2e81230\"\u003e\u003ccode\u003ee222240\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2488\"\u003e#2488\u003c/a\u003e from ViewComponent/dependabot/bundler/selenium-webdr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pagy` from 9.3.4 to 43.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ddnexus/pagy/releases\"\u003epagy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 43.2.0\u003c/h2\u003e\n\u003ch3\u003eChanges in 43.2.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eImplement :countish paginator\u003c/li\u003e\n\u003cli\u003eSimplify Pagy::Linkable\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eCHANGELOG\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eVersion 43\u003c/h2\u003e\n\u003cp\u003eWe needed a leap version to unequivocally signaling that it's not just a major version: it's a complete redesign of the legacy\ncode at all levels, usage and API included.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhy 43?\u003c/strong\u003e Because it's exactly one step beyond \u003cem\u003e\u0026quot;The answer to the ultimate question of life, the Universe, and everything.\u0026quot;\u003c/em\u003e 😉\u003c/p\u003e\n\u003ch4\u003eImprovements\u003c/h4\u003e\n\u003cp\u003eThis version introduces several enhancements, such as new \u003ccode\u003e:countish\u003c/code\u003e and \u003ccode\u003e:keynav_js\u003c/code\u003e paginators and improved automation and\nconfiguration processes, reducing setup requirements by 99%. The update also includes a simpler API and new interactive\ndevelopment tools, making it a comprehensive upgrade from previous versions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators/countish\"\u003e:countish\u003c/a\u003e Paginator\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eFaster than OFFSET and supporting the full UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators/keynav_js\"\u003eKeynav\u003c/a\u003e Pagination\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe pagy-exclusive technique using the fastest \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators/keyset\"\u003ekeyset\u003c/a\u003e\npagination alongside all frontend helpers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew interactive dev-tools\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/resources/stylesheets/#pagy-wand\"\u003ePagyWand\u003c/a\u003e to integrate the pagy CSS with your app themes.\u003c/li\u003e\n\u003cli\u003eNew \u003cstrong\u003ePagy AI\u003c/strong\u003e available right inside your own app.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntelligent automation\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://ddnexus.github.io/pagy/resources/initializer/\"\u003eConfiguration\u003c/a\u003e requirements reduced by 99%.\u003c/li\u003e\n\u003cli\u003eSimplified \u003ca href=\"https://ddnexus.github.io/pagy/resources/javascript\"\u003eJavaScript\u003c/a\u003e setup.\u003c/li\u003e\n\u003cli\u003eAutomatic \u003ca href=\"https://ddnexus.github.io/pagy/resources/i18n\"\u003eI18n\u003c/a\u003e loading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/ddnexus/pagy#examples\"\u003eSimpler API\u003c/a\u003e\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eYou solely need the \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators\"\u003epagy\u003c/a\u003e method and\nthe \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/helpers\"\u003e\u003ccode\u003e@​pagy\u003c/code\u003e\u003c/a\u003e instance to paginate any collection and use any navigation tag\nand helper.\u003c/li\u003e\n\u003cli\u003eMethods are autoloaded only if used, and consume no memory otherwise.\u003c/li\u003e\n\u003cli\u003eMethods have narrower scopes and can be \u003ca href=\"https://ddnexus.github.io/pagy/guides/how-to#override-pagy-methods\"\u003eoverridden\u003c/a\u003e\nwithout deep knowledge.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/guides/quick-start\"\u003edocumentation\u003c/a\u003e\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eVery concise, straightforward, and easy to navigate and understand.\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/ddnexus/pagy/blob/master/docs/CHANGELOG.md\"\u003epagy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 43.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement :countish paginator\u003c/li\u003e\n\u003cli\u003eSimplify Pagy::Linkable\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactoring of elasticsearch_rails paginator:\n\u003cul\u003e\n\u003cli\u003eFix \u0026quot;response\u0026quot; shadowing. Close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/842\"\u003e#842\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSimplify code\u003c/li\u003e\n\u003cli\u003eImprove readability: rename variables and methods in more natural\nand unambiguous language\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and improve search paginators:\n\u003cul\u003e\n\u003cli\u003eAdd support for elasticsearch_rails v8\u003c/li\u003e\n\u003cli\u003ePrioritize elasticsearch_rails response over raw_response in\ntotal_count (causing multiple query executions)\u003c/li\u003e\n\u003cli\u003eFix the ignored :search_method paginator option\u003c/li\u003e\n\u003cli\u003eClose \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/837\"\u003e#837\u003c/a\u003e, close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/838\"\u003e#838\u003c/a\u003e, close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/839\"\u003e#839\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the request GET and POST merge into a proper params Hash\u003c/li\u003e\n\u003cli\u003eSimplify code efficiency and readability\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and improve the composition of the page url. Close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full support for legacy countless params, url composition and (limited) behavior\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the page options handling for countless:\n\u003cul\u003e\n\u003cli\u003eReplace the crippled handling of legacy last-less links params\nintroduced in 43.1.2 by gracefully starting the pagination from\nthe beginning\u003c/li\u003e\n\u003cli\u003eRemove the compose_page_param method (it would need a deep refactoring\nfor compatibility with the legacy handling)\u003c/li\u003e\n\u003cli\u003eImprove testing\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove the info message for empty collection in countless paginations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport easy countless page param overriding (for legacy param and behavior). See \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/816\"\u003e#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle legacy page param for :countless paginator. Close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/832\"\u003e#832\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/ddnexus/pagy/commit/24a818e24d6027f3c8e6149e9a4822eab45c8da1\"\u003e\u003ccode\u003e24a818e\u003c/code\u003e\u003c/a\u003e Merge branch 'dev'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/be7d647d4d66846b6382a7dab9373d21da4cb244\"\u003e\u003ccode\u003ebe7d647\u003c/code\u003e\u003c/a\u003e Version 43.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/c63447cadccd83857f4372d05de5fff51d9a270b\"\u003e\u003ccode\u003ec63447c\u003c/code\u003e\u003c/a\u003e Update ruby gems and JavaScript packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/4ff3b7e5a49281769b91482db76a1ecd3d6ac052\"\u003e\u003ccode\u003e4ff3b7e\u003c/code\u003e\u003c/a\u003e Improve paginators docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/f28f0c2777ef6eae8df5d456e361e9da9d576656\"\u003e\u003ccode\u003ef28f0c2\u003c/code\u003e\u003c/a\u003e Implement :countish paginator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/74ccd6d027567596cc065e47e1bde663888374d5\"\u003e\u003ccode\u003e74ccd6d\u003c/code\u003e\u003c/a\u003e Update time zones notation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/4b6cf5225f6c8498240f7fb30b7f144e7529e4dd\"\u003e\u003ccode\u003e4b6cf52\u003c/code\u003e\u003c/a\u003e Simplify Pagy::Linkable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/96584cc95323200ce629c5fde6f6fa667c90b8c8\"\u003e\u003ccode\u003e96584cc\u003c/code\u003e\u003c/a\u003e Merge branch 'dev'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/1ca9aef2dae4c4dcbf35fa8b81f7c2b9656afb26\"\u003e\u003ccode\u003e1ca9aef\u003c/code\u003e\u003c/a\u003e Version 43.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/b070ed28f095cc75b64d806ebbe63dc612511afa\"\u003e\u003ccode\u003eb070ed2\u003c/code\u003e\u003c/a\u003e Refactoring of elasticsearch_rails paginator:\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ddnexus/pagy/compare/9.3.4...43.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.19\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/01dd6b93662e7263c472e3ab81a05137ca39318f\"\u003e\u003ccode\u003e01dd6b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e3cd1346da2b78793a27a69f410247555403b68d\"\u003e\u003ccode\u003ee3cd134\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00f986402296f6fdd6ebc85f2adc6fbb8d956dc3\"\u003e\u003ccode\u003e00f9864\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/2971ba276cb9aad094347d9540a6352fd429cb79\"\u003e\u003ccode\u003e2971ba2\u003c/code\u003e\u003c/a\u003e Bump turbo version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `solid_cable` from 3.0.11 to 3.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/solid_cable/releases\"\u003esolid_cable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.0.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDont broadcast message in compute_if_present to avoid race condition by \u003ca href=\"https://github.com/npezza93\"\u003e\u003ccode\u003e@​npezza93\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/solid_cable/pull/72\"\u003erails/solid_cable#72\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/solid_cable/compare/v3.0.11...v3.0.12\"\u003ehttps://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\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/solid_cable/commit/c6c10aa8aea136e849e9e80fc8af47e5bf39409e\"\u003e\u003ccode\u003ec6c10aa\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/solid_cable/commit/e5d73f5b1720150d2acbcd5fe69c4cf2d66d5043\"\u003e\u003ccode\u003ee5d73f5\u003c/code\u003e\u003c/a\u003e Dont broadcast message in compute_if_present to avoid race condition (\u003ca href=\"https://redirect.github.com/rails/solid_cable/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.4 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/843e8a9ab4ed37e542c2aac302b6c478f8606989\"\u003e\u003ccode\u003e843e8a9\u003c/code\u003e\u003c/a\u003e doc(changes) [ciskip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/4bf6c00e69eacf243b1d939a9d5b822e96c7934d\"\u003e\u003ccode\u003e4bf6c00\u003c/code\u003e\u003c/a\u003e Add confirm dialog for Delete All, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b42be8b804eeeec87bc4b9aa99f4fb62e81d256d\"\u003e\u003ccode\u003eb42be8b\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2319d094c8d631388cc133eafb1b593ba235ba4d\"\u003e\u003ccode\u003e2319d09\u003c/code\u003e\u003c/a\u003e fix formula to process scheduled tasks closer to average, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/9d8c221906ff17fa62f294c64f1b77799564d984\"\u003e\u003ccode\u003e9d8c221\u003c/code\u003e\u003c/a\u003e remove superfluous test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/844ebe397c6faf5cd62cda9e5cd70ec165890497\"\u003e\u003ccode\u003e844ebe3\u003c/code\u003e\u003c/a\u003e forward compat with connection_pool 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/06658367209bd55bb9d0da36c7b912e22847203e\"\u003e\u003ccode\u003e0665836\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/551c614ec1c2ee81bf11c2ab1106f54a79eb11f9\"\u003e\u003ccode\u003e551c614\u003c/code\u003e\u003c/a\u003e prevent pool 3+ because it will be backwards incompatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6e2db39f23c3215b626b560e06195d3a1482a188\"\u003e\u003ccode\u003e6e2db39\u003c/code\u003e\u003c/a\u003e Add todo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/71ce07ef595c6bfcc53ca478a4c4180081f8d233\"\u003e\u003ccode\u003e71ce07e\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6873\"\u003e#6873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.4...v8.0.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq-cron` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/releases\"\u003esidekiq-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some Ruby warnings by \u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/561\"\u003esidekiq-cron/sidekiq-cron#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web ui by \u003ca href=\"https://github.com/tonyciou\"\u003e\u003ccode\u003e@​tonyciou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.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/sidekiq-cron/sidekiq-cron/blob/master/CHANGELOG.md\"\u003esidekiq-cron's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\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/sidekiq-cron/sidekiq-cron/commit/8c25ca29f5259cdd5a29fe8f38434eff1445dbb7\"\u003e\u003ccode\u003e8c25ca2\u003c/code\u003e\u003c/a\u003e Prepare new release v2.3.1 🚀\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/d351305988e5ac990dcf698604e1f5f7cf2e2821\"\u003e\u003ccode\u003ed351305\u003c/code\u003e\u003c/a\u003e Fix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/16953cd91608fa04ef02c6b3dcdeff34c41eca4c\"\u003e\u003ccode\u003e16953cd\u003c/code\u003e\u003c/a\u003e Fix some Ruby warnings (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.190.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 `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@​Marce...\n\n_Description has been truncated_","html_url":"https://github.com/alexeyramazanov/base_app/pull/96","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyramazanov%2Fbase_app/issues/96","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/96/packages"},{"uuid":"3508380455","node_id":"PR_kwDOA4nnZM6tX97d","number":91,"state":"closed","title":"Bump the bundler group across 1 directory with 27 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-27T04:04:27.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T04:05:47.000Z","updated_at":"2025-10-27T04:04:29.000Z","time_to_close":1209520,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":27,"packages":[{"name":"rails","old_version":"8.0.2","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"redis","old_version":"5.4.0","new_version":"5.4.1","repository_url":"https://github.com/redis/redis-rb"},{"name":"puma","old_version":"6.6.0","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"pundit","old_version":"2.5.0","new_version":"2.5.2","repository_url":"https://github.com/varvet/pundit"},{"name":"view_component","old_version":"3.23.2","new_version":"4.0.2","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"pagy","old_version":"9.3.4","new_version":"9.4.0","repository_url":"https://github.com/ddnexus/pagy"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"solid_cable","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/rails/solid_cable"},{"name":"sidekiq","old_version":"8.0.4","new_version":"8.0.8","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"sidekiq-cron","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ondrejbartas/sidekiq-cron"},{"name":"aws-sdk-s3","old_version":"1.190.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"thruster","old_version":"0.1.14","new_version":"0.1.15","repository_url":"https://github.com/basecamp/thruster"},{"name":"grape-swagger-entity","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/ruby-grape/grape-swagger-entity"},{"name":"graphql","old_version":"2.5.9","new_version":"2.5.14","repository_url":"https://github.com/rmosolgo/graphql-ruby"},{"name":"amazing_print","old_version":"1.8.1","new_version":"2.0.0","repository_url":"https://github.com/amazing-print/amazing_print"},{"name":"rspec-rails","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"factory_bot_rails","old_version":"6.5.0","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"selenium-webdriver","old_version":"4.33.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"brakeman","old_version":"7.0.2","new_version":"7.1.0","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"rubocop-rails","old_version":"2.32.0","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.0","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"vernier","old_version":"1.8.0","new_version":"1.8.1","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rspec-sidekiq","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/wspurgin/rspec-sidekiq"},{"name":"database_cleaner-active_record","old_version":"2.2.1","new_version":"2.2.2","repository_url":"https://github.com/DatabaseCleaner/database_cleaner-active_record"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2` | `8.0.3` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [redis](https://github.com/redis/redis-rb) | `5.4.0` | `5.4.1` |\n| [puma](https://github.com/puma/puma) | `6.6.0` | `7.0.4` |\n| [pundit](https://github.com/varvet/pundit) | `2.5.0` | `2.5.2` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.0.2` |\n| [pagy](https://github.com/ddnexus/pagy) | `9.3.4` | `9.4.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [solid_cable](https://github.com/rails/solid_cable) | `3.0.11` | `3.0.12` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.4` | `8.0.8` |\n| [sidekiq-cron](https://github.com/ondrejbartas/sidekiq-cron) | `2.3.0` | `2.3.1` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.190.0` | `1.199.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.14` | `0.1.15` |\n| [grape-swagger-entity](https://github.com/ruby-grape/grape-swagger-entity) | `0.6.2` | `0.7.0` |\n| [graphql](https://github.com/rmosolgo/graphql-ruby) | `2.5.9` | `2.5.14` |\n| [amazing_print](https://github.com/amazing-print/amazing_print) | `1.8.1` | `2.0.0` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.1` | `8.0.2` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.5.0` | `6.5.1` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.33.0` | `4.35.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.0.2` | `7.1.0` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.32.0` | `2.33.4` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.0` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.7.0` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.8.1` |\n| [rspec-sidekiq](https://github.com/wspurgin/rspec-sidekiq) | `5.1.0` | `5.2.0` |\n| [database_cleaner-active_record](https://github.com/DatabaseCleaner/database_cleaner-active_record) | `2.2.1` | `2.2.2` |\n\n\nUpdates `rails` from 8.0.2 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...v8.0.3\"\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 `redis` from 5.4.0 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-rb/blob/master/CHANGELOG.md\"\u003eredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.4.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly handle NOSCRIPT errors.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/6784a3204be44d4ca7891a901295e4a4007a13a5\"\u003e\u003ccode\u003e6784a32\u003c/code\u003e\u003c/a\u003e Release 5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/c205a8c7f22a3d387cb3cf9a8816e7a32f748c5c\"\u003e\u003ccode\u003ec205a8c\u003c/code\u003e\u003c/a\u003e Require redis-client earlier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/16c78555caeb580ab6c5365f8979259faab3142d\"\u003e\u003ccode\u003e16c7855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1312\"\u003e#1312\u003c/a\u003e from redis/translate-ensure-connected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/08a3290ea65214e2af09d456dc0439082362782f\"\u003e\u003ccode\u003e08a3290\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ewithout_reconnect\u003c/code\u003e to wrap redis-client exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/8408c0365b72b4c655a95af7934d2fad50d2d33c\"\u003e\u003ccode\u003e8408c03\u003c/code\u003e\u003c/a\u003e Update redis release URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/317a0204d8361927757117845f825b42c26fac14\"\u003e\u003ccode\u003e317a020\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1311\"\u003e#1311\u003c/a\u003e from redis/specialize-evalsha-noscript-error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/d9f004fa08886309c3b4068488e057801786f836\"\u003e\u003ccode\u003ed9f004f\u003c/code\u003e\u003c/a\u003e Fix a mistake in test_hrandfield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/57c79c2b7ccbf46d6964cc5104d52f41911e70fe\"\u003e\u003ccode\u003e57c79c2\u003c/code\u003e\u003c/a\u003e Handle RedisClient::NoScriptError\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/redis-rb/compare/v5.4.0...v5.4.1\"\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.0 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.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove sleep cluster logic to its own class by \u003ca href=\"https://github.com/schneems\"\u003e\u003ccode\u003e@​schneems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3746\"\u003epuma/puma#3746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3754\"\u003epuma/puma#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of header values by \u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL_shutdown error handling by \u003ca href=\"https://github.com/marshall-lee\"\u003e\u003ccode\u003e@​marshall-lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3703\"\u003epuma/puma#3703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\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.3...v7.0.4\"\u003ehttps://github.com/puma/puma/compare/v7.0.3...v7.0.4\u003c/a\u003e\u003c/p\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\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/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.0...v7.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pundit` from 2.5.0 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/varvet/pundit/blob/main/CHANGELOG.md\"\u003epundit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.2 (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003econfig/rubocop-rspec.yml\u003c/code\u003e back from accidentally being excluded \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.1 (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequiring only \u003ccode\u003epundit/rspec\u003c/code\u003e no longer raises an error in Active Support \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/857\"\u003e#857\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/varvet/pundit/commit/2d665d67a26f794987df926e49676948fe115289\"\u003e\u003ccode\u003e2d665d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/867\"\u003e#867\u003c/a\u003e from varvet/kbs/release-v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/7ff48a83790aef27bd89fa4da6a0a238599bca2d\"\u003e\u003ccode\u003e7ff48a8\u003c/code\u003e\u003c/a\u003e Bump to v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/674abac197c7ecc000fd25a4542344d38c998535\"\u003e\u003ccode\u003e674abac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e from varvet/kbs/add-rubocop-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/923eebf39ccd6f8095a5c4270953e7a19d6d16a6\"\u003e\u003ccode\u003e923eebf\u003c/code\u003e\u003c/a\u003e Point changelog to PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/47668502881e3abed7dd004ca19fa11d66b23b6f\"\u003e\u003ccode\u003e4766850\u003c/code\u003e\u003c/a\u003e Add rubocop config file back to gem release files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/27a840bedadf0ef3d66f1857edd966c2e01cc18e\"\u003e\u003ccode\u003e27a840b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/863\"\u003e#863\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/381b202dd2e11c5eb0ea1134d29f85331a01d643\"\u003e\u003ccode\u003e381b202\u003c/code\u003e\u003c/a\u003e +3.4 -3.1 (EOL)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/4bb6a67819572bd9431d30048fbab4c9685cfbf2\"\u003e\u003ccode\u003e4bb6a67\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/862\"\u003e#862\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/6ceca0d2ab84d2240e6422e7b14d208ad10e3304\"\u003e\u003ccode\u003e6ceca0d\u003c/code\u003e\u003c/a\u003e Attempt code quality upload to qlty.sh instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/82d918a4c4c4ab393f662a32e94028d6b086285d\"\u003e\u003ccode\u003e82d918a\u003c/code\u003e\u003c/a\u003e Bump to v2.5.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/varvet/pundit/compare/v2.5.0...v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--inline\u003c/code\u003e generator option now generates inline template. Use \u003ccode\u003e--call\u003c/code\u003e to generate \u003ccode\u003e#call\u003c/code\u003e method.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4bbea1caaec79c15c1d98cf4f7fb31d5c22aa7b7\"\u003e\u003ccode\u003e4bbea1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2430\"\u003e#2430\u003c/a\u003e from ViewComponent/release-4-0-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b1ab0d398c15048458facf469104daebc4faa40a\"\u003e\u003ccode\u003eb1ab0d3\u003c/code\u003e\u003c/a\u003e Update lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/408e8d3572f8074644924c5c10ce1515ff4fda6a\"\u003e\u003ccode\u003e408e8d3\u003c/code\u003e\u003c/a\u003e release 4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/26c2798c52de1b9051e98ee3553aa0e97c12e7f0\"\u003e\u003ccode\u003e26c2798\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2410\"\u003e#2410\u003c/a\u003e from ViewComponent/shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/851b096eb79e28bc69d789e82339f17ed405b8e0\"\u003e\u003ccode\u003e851b096\u003c/code\u003e\u003c/a\u003e Merge branch 'shared_view_context_in_test_helpers' of github.com:ViewComponen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f3df76539705e7800b45b9776cd44ca818a11cec\"\u003e\u003ccode\u003ef3df765\u003c/code\u003e\u003c/a\u003e Fix build for ruby HEAD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/69f3fd7a094be6c3ffe0e8efa28c4dfa4801048e\"\u003e\u003ccode\u003e69f3fd7\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/a755f3ccd7b32010470c2e8e5bdb3489205478b3\"\u003e\u003ccode\u003ea755f3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2424\"\u003e#2424\u003c/a\u003e from ViewComponent/fix_partial_with_yield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/bc7f8b45080fc1d6792cd5d9d1fef58ab5c9a764\"\u003e\u003ccode\u003ebc7f8b4\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2cefa9c018ab4b2f43c47e0a84b0c12c51aa81b\"\u003e\u003ccode\u003ee2cefa9\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pagy` from 9.3.4 to 9.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ddnexus/pagy/releases\"\u003epagy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003e🚀 Try the upcoming v43! 🚀\u003c/h3\u003e\n\u003cp\u003ePagy is about to leap to the next level.\u003c/p\u003e\n\u003cp\u003eTry the new \u003ca href=\"https://ddnexus.github.io/pagy-pre\"\u003ev43.0.0.rc*\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eLeave your comments in the \u003ca href=\"https://github.com/ddnexus/pagy/discussions/categories/version-43\"\u003eVersion 43 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e✴ What's new in 9.0+ ✴\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWicked-fast \u003ca href=\"https://ddnexus.github.io/pagy/docs/api/keyset/\"\u003eKeyset Pagination\u003c/a\u003e for big data! It works with \u003ccode\u003eActiveRecord::Relation\u003c/code\u003e and \u003ccode\u003eSequel::Dataset\u003c/code\u003e sets.\u003c/li\u003e\n\u003cli\u003eMore \u003ca href=\"https://ddnexus.github.io/pagy/playground/\"\u003ePlayground Apps\u003c/a\u003e to showcase, clone and develop pagy APPs without any setup on your side\u003c/li\u003e\n\u003cli\u003eLots of refactorings and optimizations\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eChangelog\u003c/a\u003e for possible breaking changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eChanges in 9.4.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eCHANGELOG\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/ddnexus/pagy/blob/master/CHANGELOG.md\"\u003epagy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 9.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix clone command (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/770\"\u003e#770\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/ddnexus/pagy/commit/2f042985a6dc608280a4ea85b9dda28ba5e1e82d\"\u003e\u003ccode\u003e2f04298\u003c/code\u003e\u003c/a\u003e Merge dev-9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/817c03481cf7d8cd31f457e7ca0e61bbe7bfbc8f\"\u003e\u003ccode\u003e817c034\u003c/code\u003e\u003c/a\u003e Announce v43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ddf4c7d42bd3fbf98166cab7412b4e51acda8f49\"\u003e\u003ccode\u003eddf4c7d\u003c/code\u003e\u003c/a\u003e Version 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cc74dbfd8a029fa9336b08cb1f69445d15c75d38\"\u003e\u003ccode\u003ecc74dbf\u003c/code\u003e\u003c/a\u003e Update aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/72f268a46381f14049f8b1b38a2f2f67a21fb400\"\u003e\u003ccode\u003e72f268a\u003c/code\u003e\u003c/a\u003e Add v43 banner in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/6aa3774dfa1a34aacdf0abdbd4be6afe149464f4\"\u003e\u003ccode\u003e6aa3774\u003c/code\u003e\u003c/a\u003e Add Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/7f1b018822c791ba11feefd57a062e6beb0a4280\"\u003e\u003ccode\u003e7f1b018\u003c/code\u003e\u003c/a\u003e Fix CI syntax in create-release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/f746c32fd416b519d77f17b7a6512a12dcec1d35\"\u003e\u003ccode\u003ef746c32\u003c/code\u003e\u003c/a\u003e Merge branch 'dev-9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cd0033cbbd0b6213e8661bb055ccd69f38e010f3\"\u003e\u003ccode\u003ecd0033c\u003c/code\u003e\u003c/a\u003e Version 9.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ea2ad530493420d90d146bdd6bfe0710f77fd498\"\u003e\u003ccode\u003eea2ad53\u003c/code\u003e\u003c/a\u003e fix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ddnexus/pagy/compare/9.3.4...9.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.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 `solid_cable` from 3.0.11 to 3.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/solid_cable/releases\"\u003esolid_cable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.0.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDont broadcast message in compute_if_present to avoid race condition by \u003ca href=\"https://github.com/npezza93\"\u003e\u003ccode\u003e@​npezza93\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/solid_cable/pull/72\"\u003erails/solid_cable#72\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/solid_cable/compare/v3.0.11...v3.0.12\"\u003ehttps://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\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/solid_cable/commit/c6c10aa8aea136e849e9e80fc8af47e5bf39409e\"\u003e\u003ccode\u003ec6c10aa\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/solid_cable/commit/e5d73f5b1720150d2acbcd5fe69c4cf2d66d5043\"\u003e\u003ccode\u003ee5d73f5\u003c/code\u003e\u003c/a\u003e Dont broadcast message in compute_if_present to avoid race condition (\u003ca href=\"https://redirect.github.com/rails/solid_cable/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.4 to 8.0.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.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.\nCSRF code will be removed in Sidekiq 9.0. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6739\"\u003e#6739\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/sidekiq/sidekiq/commit/96f867cb58b7fa0a6a832af1a732a339aa0eb61f\"\u003e\u003ccode\u003e96f867c\u003c/code\u003e\u003c/a\u003e Use community gem server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bfc4b8d9ea03e2b5071059fdd994ba26ef6354b3\"\u003e\u003ccode\u003ebfc4b8d\u003c/code\u003e\u003c/a\u003e Adjust loader API to be thread-safe and account for errors (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6826\"\u003e#6826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/042f1eb022b789e6e50899558355b5a0d18651a8\"\u003e\u003ccode\u003e042f1eb\u003c/code\u003e\u003c/a\u003e Add ability to extend sidekiq/api when it is loaded (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6825\"\u003e#6825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0f150827ac8816dff369ff7bcc9635f95922d23f\"\u003e\u003ccode\u003e0f15082\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fa920aa0dd0c2236e4fd14283c754445e3f609fa\"\u003e\u003ccode\u003efa920aa\u003c/code\u003e\u003c/a\u003e Update restricted uses section in COMM-LICENSE.txt (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6821\"\u003e#6821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/9421c205f2b3e7e25c22bed2e218592b42e40eff\"\u003e\u003ccode\u003e9421c20\u003c/code\u003e\u003c/a\u003e Track discarded_at in job payload when job is discarded. (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6820\"\u003e#6820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/5981d1ab16a2d4f0886abc336c3a426815440242\"\u003e\u003ccode\u003e5981d1a\u003c/code\u003e\u003c/a\u003e Allow to configure max job runtime for iterable jobs (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6819\"\u003e#6819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/d6395641571eba33050d34526bf93bed92504d4d\"\u003e\u003ccode\u003ed639564\u003c/code\u003e\u003c/a\u003e doc(recent changes), bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0b0b282e878025379de89589aefe5e7e3d627700\"\u003e\u003ccode\u003e0b0b282\u003c/code\u003e\u003c/a\u003e remove outdated comment, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6806\"\u003e#6806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/61e27d20b1ed62f203eee6ae2b549f2e53db14c9\"\u003e\u003ccode\u003e61e27d2\u003c/code\u003e\u003c/a\u003e Handle ActiveSupport::Logger.broadcast deprication (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6802\"\u003e#6802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.4...v8.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq-cron` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/releases\"\u003esidekiq-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some Ruby warnings by \u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/561\"\u003esidekiq-cron/sidekiq-cron#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web ui by \u003ca href=\"https://github.com/tonyciou\"\u003e\u003ccode\u003e@​tonyciou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.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/sidekiq-cron/sidekiq-cron/blob/master/CHANGELOG.md\"\u003esidekiq-cron's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\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/sidekiq-cron/sidekiq-cron/commit/8c25ca29f5259cdd5a29fe8f38434eff1445dbb7\"\u003e\u003ccode\u003e8c25ca2\u003c/code\u003e\u003c/a\u003e Prepare new release v2.3.1 🚀\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/d351305988e5ac990dcf698604e1f5f7cf2e2821\"\u003e\u003ccode\u003ed351305\u003c/code\u003e\u003c/a\u003e Fix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/16953cd91608fa04ef02c6b3dcdeff34c41eca4c\"\u003e\u003ccode\u003e16953cd\u003c/code\u003e\u003c/a\u003e Fix some Ruby warnings (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.190.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 `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...\n\n_Description has been truncated_","html_url":"https://github.com/alexeyramazanov/base_app/pull/91","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyramazanov%2Fbase_app/issues/91","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/91/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":"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":"2888748363","node_id":"PR_kwDOA4nnZM6sLs1L","number":90,"state":"open","title":"Bump the bundler group across 1 directory with 26 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-06T04:05:19.000Z","updated_at":"2025-10-06T04:05:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":26,"packages":[{"name":"rails","old_version":"8.0.2","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"redis","old_version":"5.4.0","new_version":"5.4.1","repository_url":"https://github.com/redis/redis-rb"},{"name":"puma","old_version":"6.6.0","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"pundit","old_version":"2.5.0","new_version":"2.5.2","repository_url":"https://github.com/varvet/pundit"},{"name":"view_component","old_version":"3.23.2","new_version":"4.0.2","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"pagy","old_version":"9.3.4","new_version":"9.4.0","repository_url":"https://github.com/ddnexus/pagy"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"solid_cable","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/rails/solid_cable"},{"name":"sidekiq","old_version":"8.0.4","new_version":"8.0.7","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"sidekiq-cron","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ondrejbartas/sidekiq-cron"},{"name":"aws-sdk-s3","old_version":"1.190.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"thruster","old_version":"0.1.14","new_version":"0.1.15","repository_url":"https://github.com/basecamp/thruster"},{"name":"grape-swagger-entity","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/ruby-grape/grape-swagger-entity"},{"name":"graphql","old_version":"2.5.9","new_version":"2.5.13","repository_url":"https://github.com/rmosolgo/graphql-ruby"},{"name":"rspec-rails","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"factory_bot_rails","old_version":"6.5.0","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"selenium-webdriver","old_version":"4.33.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"brakeman","old_version":"7.0.2","new_version":"7.1.0","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"rubocop-rails","old_version":"2.32.0","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.0","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"vernier","old_version":"1.8.0","new_version":"1.8.1","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rspec-sidekiq","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/wspurgin/rspec-sidekiq"},{"name":"database_cleaner-active_record","old_version":"2.2.1","new_version":"2.2.2","repository_url":"https://github.com/DatabaseCleaner/database_cleaner-active_record"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2` | `8.0.3` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [redis](https://github.com/redis/redis-rb) | `5.4.0` | `5.4.1` |\n| [puma](https://github.com/puma/puma) | `6.6.0` | `7.0.4` |\n| [pundit](https://github.com/varvet/pundit) | `2.5.0` | `2.5.2` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.0.2` |\n| [pagy](https://github.com/ddnexus/pagy) | `9.3.4` | `9.4.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [solid_cable](https://github.com/rails/solid_cable) | `3.0.11` | `3.0.12` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.4` | `8.0.7` |\n| [sidekiq-cron](https://github.com/ondrejbartas/sidekiq-cron) | `2.3.0` | `2.3.1` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.190.0` | `1.199.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.14` | `0.1.15` |\n| [grape-swagger-entity](https://github.com/ruby-grape/grape-swagger-entity) | `0.6.2` | `0.7.0` |\n| [graphql](https://github.com/rmosolgo/graphql-ruby) | `2.5.9` | `2.5.13` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.1` | `8.0.2` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.5.0` | `6.5.1` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.33.0` | `4.35.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.0.2` | `7.1.0` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.32.0` | `2.33.4` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.0` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.7.0` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.8.1` |\n| [rspec-sidekiq](https://github.com/wspurgin/rspec-sidekiq) | `5.1.0` | `5.2.0` |\n| [database_cleaner-active_record](https://github.com/DatabaseCleaner/database_cleaner-active_record) | `2.2.1` | `2.2.2` |\n\n\nUpdates `rails` from 8.0.2 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...v8.0.3\"\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 `redis` from 5.4.0 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-rb/blob/master/CHANGELOG.md\"\u003eredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.4.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly handle NOSCRIPT errors.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/6784a3204be44d4ca7891a901295e4a4007a13a5\"\u003e\u003ccode\u003e6784a32\u003c/code\u003e\u003c/a\u003e Release 5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/c205a8c7f22a3d387cb3cf9a8816e7a32f748c5c\"\u003e\u003ccode\u003ec205a8c\u003c/code\u003e\u003c/a\u003e Require redis-client earlier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/16c78555caeb580ab6c5365f8979259faab3142d\"\u003e\u003ccode\u003e16c7855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1312\"\u003e#1312\u003c/a\u003e from redis/translate-ensure-connected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/08a3290ea65214e2af09d456dc0439082362782f\"\u003e\u003ccode\u003e08a3290\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ewithout_reconnect\u003c/code\u003e to wrap redis-client exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/8408c0365b72b4c655a95af7934d2fad50d2d33c\"\u003e\u003ccode\u003e8408c03\u003c/code\u003e\u003c/a\u003e Update redis release URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/317a0204d8361927757117845f825b42c26fac14\"\u003e\u003ccode\u003e317a020\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1311\"\u003e#1311\u003c/a\u003e from redis/specialize-evalsha-noscript-error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/d9f004fa08886309c3b4068488e057801786f836\"\u003e\u003ccode\u003ed9f004f\u003c/code\u003e\u003c/a\u003e Fix a mistake in test_hrandfield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/57c79c2b7ccbf46d6964cc5104d52f41911e70fe\"\u003e\u003ccode\u003e57c79c2\u003c/code\u003e\u003c/a\u003e Handle RedisClient::NoScriptError\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/redis-rb/compare/v5.4.0...v5.4.1\"\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.0 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.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove sleep cluster logic to its own class by \u003ca href=\"https://github.com/schneems\"\u003e\u003ccode\u003e@​schneems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3746\"\u003epuma/puma#3746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3754\"\u003epuma/puma#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of header values by \u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL_shutdown error handling by \u003ca href=\"https://github.com/marshall-lee\"\u003e\u003ccode\u003e@​marshall-lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3703\"\u003epuma/puma#3703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\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.3...v7.0.4\"\u003ehttps://github.com/puma/puma/compare/v7.0.3...v7.0.4\u003c/a\u003e\u003c/p\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\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/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.0...v7.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pundit` from 2.5.0 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/varvet/pundit/blob/main/CHANGELOG.md\"\u003epundit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.2 (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003econfig/rubocop-rspec.yml\u003c/code\u003e back from accidentally being excluded \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.1 (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequiring only \u003ccode\u003epundit/rspec\u003c/code\u003e no longer raises an error in Active Support \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/857\"\u003e#857\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/varvet/pundit/commit/2d665d67a26f794987df926e49676948fe115289\"\u003e\u003ccode\u003e2d665d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/867\"\u003e#867\u003c/a\u003e from varvet/kbs/release-v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/7ff48a83790aef27bd89fa4da6a0a238599bca2d\"\u003e\u003ccode\u003e7ff48a8\u003c/code\u003e\u003c/a\u003e Bump to v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/674abac197c7ecc000fd25a4542344d38c998535\"\u003e\u003ccode\u003e674abac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e from varvet/kbs/add-rubocop-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/923eebf39ccd6f8095a5c4270953e7a19d6d16a6\"\u003e\u003ccode\u003e923eebf\u003c/code\u003e\u003c/a\u003e Point changelog to PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/47668502881e3abed7dd004ca19fa11d66b23b6f\"\u003e\u003ccode\u003e4766850\u003c/code\u003e\u003c/a\u003e Add rubocop config file back to gem release files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/27a840bedadf0ef3d66f1857edd966c2e01cc18e\"\u003e\u003ccode\u003e27a840b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/863\"\u003e#863\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/381b202dd2e11c5eb0ea1134d29f85331a01d643\"\u003e\u003ccode\u003e381b202\u003c/code\u003e\u003c/a\u003e +3.4 -3.1 (EOL)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/4bb6a67819572bd9431d30048fbab4c9685cfbf2\"\u003e\u003ccode\u003e4bb6a67\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/862\"\u003e#862\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/6ceca0d2ab84d2240e6422e7b14d208ad10e3304\"\u003e\u003ccode\u003e6ceca0d\u003c/code\u003e\u003c/a\u003e Attempt code quality upload to qlty.sh instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/82d918a4c4c4ab393f662a32e94028d6b086285d\"\u003e\u003ccode\u003e82d918a\u003c/code\u003e\u003c/a\u003e Bump to v2.5.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/varvet/pundit/compare/v2.5.0...v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--inline\u003c/code\u003e generator option now generates inline template. Use \u003ccode\u003e--call\u003c/code\u003e to generate \u003ccode\u003e#call\u003c/code\u003e method.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4bbea1caaec79c15c1d98cf4f7fb31d5c22aa7b7\"\u003e\u003ccode\u003e4bbea1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2430\"\u003e#2430\u003c/a\u003e from ViewComponent/release-4-0-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b1ab0d398c15048458facf469104daebc4faa40a\"\u003e\u003ccode\u003eb1ab0d3\u003c/code\u003e\u003c/a\u003e Update lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/408e8d3572f8074644924c5c10ce1515ff4fda6a\"\u003e\u003ccode\u003e408e8d3\u003c/code\u003e\u003c/a\u003e release 4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/26c2798c52de1b9051e98ee3553aa0e97c12e7f0\"\u003e\u003ccode\u003e26c2798\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2410\"\u003e#2410\u003c/a\u003e from ViewComponent/shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/851b096eb79e28bc69d789e82339f17ed405b8e0\"\u003e\u003ccode\u003e851b096\u003c/code\u003e\u003c/a\u003e Merge branch 'shared_view_context_in_test_helpers' of github.com:ViewComponen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f3df76539705e7800b45b9776cd44ca818a11cec\"\u003e\u003ccode\u003ef3df765\u003c/code\u003e\u003c/a\u003e Fix build for ruby HEAD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/69f3fd7a094be6c3ffe0e8efa28c4dfa4801048e\"\u003e\u003ccode\u003e69f3fd7\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/a755f3ccd7b32010470c2e8e5bdb3489205478b3\"\u003e\u003ccode\u003ea755f3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2424\"\u003e#2424\u003c/a\u003e from ViewComponent/fix_partial_with_yield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/bc7f8b45080fc1d6792cd5d9d1fef58ab5c9a764\"\u003e\u003ccode\u003ebc7f8b4\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2cefa9c018ab4b2f43c47e0a84b0c12c51aa81b\"\u003e\u003ccode\u003ee2cefa9\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pagy` from 9.3.4 to 9.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ddnexus/pagy/releases\"\u003epagy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003e🚀 Try the upcoming v43! 🚀\u003c/h3\u003e\n\u003cp\u003ePagy is about to leap to the next level.\u003c/p\u003e\n\u003cp\u003eTry the new \u003ca href=\"https://ddnexus.github.io/pagy-pre\"\u003ev43.0.0.rc*\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eLeave your comments in the \u003ca href=\"https://github.com/ddnexus/pagy/discussions/categories/version-43\"\u003eVersion 43 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e✴ What's new in 9.0+ ✴\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWicked-fast \u003ca href=\"https://ddnexus.github.io/pagy/docs/api/keyset/\"\u003eKeyset Pagination\u003c/a\u003e for big data! It works with \u003ccode\u003eActiveRecord::Relation\u003c/code\u003e and \u003ccode\u003eSequel::Dataset\u003c/code\u003e sets.\u003c/li\u003e\n\u003cli\u003eMore \u003ca href=\"https://ddnexus.github.io/pagy/playground/\"\u003ePlayground Apps\u003c/a\u003e to showcase, clone and develop pagy APPs without any setup on your side\u003c/li\u003e\n\u003cli\u003eLots of refactorings and optimizations\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eChangelog\u003c/a\u003e for possible breaking changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eChanges in 9.4.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eCHANGELOG\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/ddnexus/pagy/blob/master/CHANGELOG.md\"\u003epagy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 9.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix clone command (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/770\"\u003e#770\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/ddnexus/pagy/commit/2f042985a6dc608280a4ea85b9dda28ba5e1e82d\"\u003e\u003ccode\u003e2f04298\u003c/code\u003e\u003c/a\u003e Merge dev-9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/817c03481cf7d8cd31f457e7ca0e61bbe7bfbc8f\"\u003e\u003ccode\u003e817c034\u003c/code\u003e\u003c/a\u003e Announce v43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ddf4c7d42bd3fbf98166cab7412b4e51acda8f49\"\u003e\u003ccode\u003eddf4c7d\u003c/code\u003e\u003c/a\u003e Version 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cc74dbfd8a029fa9336b08cb1f69445d15c75d38\"\u003e\u003ccode\u003ecc74dbf\u003c/code\u003e\u003c/a\u003e Update aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/72f268a46381f14049f8b1b38a2f2f67a21fb400\"\u003e\u003ccode\u003e72f268a\u003c/code\u003e\u003c/a\u003e Add v43 banner in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/6aa3774dfa1a34aacdf0abdbd4be6afe149464f4\"\u003e\u003ccode\u003e6aa3774\u003c/code\u003e\u003c/a\u003e Add Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/7f1b018822c791ba11feefd57a062e6beb0a4280\"\u003e\u003ccode\u003e7f1b018\u003c/code\u003e\u003c/a\u003e Fix CI syntax in create-release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/f746c32fd416b519d77f17b7a6512a12dcec1d35\"\u003e\u003ccode\u003ef746c32\u003c/code\u003e\u003c/a\u003e Merge branch 'dev-9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cd0033cbbd0b6213e8661bb055ccd69f38e010f3\"\u003e\u003ccode\u003ecd0033c\u003c/code\u003e\u003c/a\u003e Version 9.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ea2ad530493420d90d146bdd6bfe0710f77fd498\"\u003e\u003ccode\u003eea2ad53\u003c/code\u003e\u003c/a\u003e fix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ddnexus/pagy/compare/9.3.4...9.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.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 `solid_cable` from 3.0.11 to 3.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/solid_cable/releases\"\u003esolid_cable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.0.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDont broadcast message in compute_if_present to avoid race condition by \u003ca href=\"https://github.com/npezza93\"\u003e\u003ccode\u003e@​npezza93\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/solid_cable/pull/72\"\u003erails/solid_cable#72\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/solid_cable/compare/v3.0.11...v3.0.12\"\u003ehttps://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\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/solid_cable/commit/c6c10aa8aea136e849e9e80fc8af47e5bf39409e\"\u003e\u003ccode\u003ec6c10aa\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/solid_cable/commit/e5d73f5b1720150d2acbcd5fe69c4cf2d66d5043\"\u003e\u003ccode\u003ee5d73f5\u003c/code\u003e\u003c/a\u003e Dont broadcast message in compute_if_present to avoid race condition (\u003ca href=\"https://redirect.github.com/rails/solid_cable/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.4 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.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.\nCSRF code will be removed in Sidekiq 9.0. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6739\"\u003e#6739\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/sidekiq/sidekiq/commit/4ef6d726707cdaa516ddebe649684fd1b2482903\"\u003e\u003ccode\u003e4ef6d72\u003c/code\u003e\u003c/a\u003e 8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/35a6a0206952116679a4c5794cbd2ae0c313054c\"\u003e\u003ccode\u003e35a6a02\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/43c59dd85474435af23b196f20f8ff274a7ba4fd\"\u003e\u003ccode\u003e43c59dd\u003c/code\u003e\u003c/a\u003e Always run death handlers for :discard, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/573448b7e16f334fcbf4763ead081704f5d55479\"\u003e\u003ccode\u003e573448b\u003c/code\u003e\u003c/a\u003e :discard should call death handlers, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c398c2646e14944127d0094a27729720503971bd\"\u003e\u003ccode\u003ec398c26\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/73525d341ce4704627ba4e2bb89f569726b4f449\"\u003e\u003ccode\u003e73525d3\u003c/code\u003e\u003c/a\u003e Provide a Plain log formatter which disables colorized output, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6778\"\u003e#6778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/506ca55b2c7b1be3ce2f104f5df9854d8212d42e\"\u003e\u003ccode\u003e506ca55\u003c/code\u003e\u003c/a\u003e Update uk.yml to be more polite (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6776\"\u003e#6776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/54ad22363358c47b3cfc5eef56ce632914360832\"\u003e\u003ccode\u003e54ad223\u003c/code\u003e\u003c/a\u003e Add current_object to expose iterated object to around_iteration callback, fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/55cb762577c5d9b2b515f178cf8cc1816d611bf7\"\u003e\u003ccode\u003e55cb762\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3f5cb77f954e91a1bf9306499725b22733c24298\"\u003e\u003ccode\u003e3f5cb77\u003c/code\u003e\u003c/a\u003e remove executable bit, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6773\"\u003e#6773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.4...v8.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq-cron` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/releases\"\u003esidekiq-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some Ruby warnings by \u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/561\"\u003esidekiq-cron/sidekiq-cron#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web ui by \u003ca href=\"https://github.com/tonyciou\"\u003e\u003ccode\u003e@​tonyciou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.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/sidekiq-cron/sidekiq-cron/blob/master/CHANGELOG.md\"\u003esidekiq-cron's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\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/sidekiq-cron/sidekiq-cron/commit/8c25ca29f5259cdd5a29fe8f38434eff1445dbb7\"\u003e\u003ccode\u003e8c25ca2\u003c/code\u003e\u003c/a\u003e Prepare new release v2.3.1 🚀\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/d351305988e5ac990dcf698604e1f5f7cf2e2821\"\u003e\u003ccode\u003ed351305\u003c/code\u003e\u003c/a\u003e Fix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/16953cd91608fa04ef02c6b3dcdeff34c41eca4c\"\u003e\u003ccode\u003e16953cd\u003c/code\u003e\u003c/a\u003e Fix some Ruby warnings (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.190.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 `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 `thruster` from 0.1.14 to 0.1.15\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/thruster/blob/main/CHANGELOG.md\"\u003ethruster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.15 / 2025-08-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure responses are flushable (preventing issues with SSE) (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/87\"\u003e#87\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd host to cache key (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/86\"\u003e#86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd X-Request-Start header (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/85\"\u003e#85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLOG_REQUESTS\u003c/code\u003e option to control request logging (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/2f696b20de0effb8a29e4c281c38804941c884fc\"\u003e\u003ccode\u003e2f696b2\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/3ac7e5ca03b5d1a7d89adc27c71a1486fa5a22ec\"\u003e\u003ccode\u003e3ac7e5c\u003c/code\u003e\u003c/a\u003e Document \u003ccode\u003eLOG_REQUESTS\u003c/code\u003e in the \u003ccode\u003eREADME\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/92f4ff63699e9dbb2a5bcf19f27f69d6e7ef48e0\"\u003e\u003ccode\u003e92f4ff6\u003c/code\u003e\u003c/a\u003e Merge...\n\n_Description has been truncated_","html_url":"https://github.com/alexeyramazanov/base_app/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyramazanov%2Fbase_app/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"},{"uuid":"2879976797","node_id":"PR_kwDOOyhfOs6rqPVd","number":9,"state":"closed","title":"⬆️ Bump marcel from 1.0.4 to 1.1.0","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-03T11:59:19.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T23:19:26.000Z","updated_at":"2025-10-03T11:59:19.000Z","time_to_close":131993,"merged_at":"2025-10-03T11:59:19.000Z","merged_by":"Pezmc","closed_by":null,"dependency_metadata":{"prefix":"⬆️ Bump","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/fetlife/hasher_matcher_actioner_api/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fetlife%2Fhasher_matcher_actioner_api/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"2879010706","node_id":"PR_kwDOAEOBTs6rmjeS","number":377,"state":"open","title":"Bump the bundler-all group across 1 directory with 61 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-01T17:10:04.000Z","updated_at":"2025-10-01T17:10:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-all","update_count":61,"packages":[{"name":"actioncable-enhanced-postgresql-adapter","old_version":"1.0.1","new_version":"1.0.2","repository_url":"https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter"},{"name":"aws-sdk-s3","old_version":"1.184.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.18.6","repository_url":"https://github.com/Shopify/bootsnap"},{"name":"chartkick","old_version":"5.1.5","new_version":"5.2.0","repository_url":"https://github.com/ankane/chartkick"},{"name":"factory_bot_rails","old_version":"6.4.4","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"faker","old_version":"3.5.1","new_version":"3.5.2","repository_url":"https://github.com/faker-ruby/faker"},{"name":"good_job","old_version":"4.10.0","new_version":"4.12.0","repository_url":"https://github.com/bensheldon/good_job"},{"name":"groupdate","old_version":"6.5.1","new_version":"6.7.0","repository_url":"https://github.com/ankane/groupdate"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"scenic","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/scenic-views/scenic"},{"name":"sentry-rails","old_version":"5.23.0","new_version":"5.28.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"selenium-webdriver","old_version":"4.31.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"rubocop","old_version":"1.75.4","new_version":"1.81.1","repository_url":"https://github.com/rubocop/rubocop"},{"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.31.0","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"diff-lcs","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/halostatue/diff-lcs"},{"name":"hashdiff","old_version":"1.1.2","new_version":"1.2.1","repository_url":"https://github.com/liufengyun/hashdiff"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"matrix","old_version":"0.4.2","new_version":"0.4.3","repository_url":"https://github.com/ruby/matrix"},{"name":"multi_json","old_version":"1.15.0","new_version":"1.17.0","repository_url":"https://github.com/sferik/multi_json"},{"name":"net-imap","old_version":"0.5.8","new_version":"0.5.11","repository_url":"https://github.com/ruby/net-imap"},{"name":"rspec-core","old_version":"3.13.3","new_version":"3.13.5","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-expectations","old_version":"3.13.4","new_version":"3.13.5","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-mocks","old_version":"3.13.3","new_version":"3.13.5","repository_url":"https://github.com/rspec/rspec"},{"name":"temple","old_version":"0.10.3","new_version":"0.10.4","repository_url":"https://github.com/judofyr/temple"},{"name":"tilt","old_version":"2.6.0","new_version":"2.6.1","repository_url":"https://github.com/jeremyevans/tilt"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-all group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actioncable-enhanced-postgresql-adapter](https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter) | `1.0.1` | `1.0.2` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.184.0` | `1.199.1` |\n| [bootsnap](https://github.com/Shopify/bootsnap) | `1.18.4` | `1.18.6` |\n| [chartkick](https://github.com/ankane/chartkick) | `5.1.5` | `5.2.0` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.4.4` | `6.5.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.1` | `3.5.2` |\n| [good_job](https://github.com/bensheldon/good_job) | `4.10.0` | `4.12.0` |\n| [groupdate](https://github.com/ankane/groupdate) | `6.5.1` | `6.7.0` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [scenic](https://github.com/scenic-views/scenic) | `1.8.0` | `1.9.0` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.23.0` | `5.28.0` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.31.0` | `4.35.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.75.4` | `1.81.1` |\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.31.0` | `2.33.4` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.7.0` |\n| [diff-lcs](https://github.com/halostatue/diff-lcs) | `1.6.1` | `1.6.2` |\n| [hashdiff](https://github.com/liufengyun/hashdiff) | `1.1.2` | `1.2.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [matrix](https://github.com/ruby/matrix) | `0.4.2` | `0.4.3` |\n| [multi_json](https://github.com/sferik/multi_json) | `1.15.0` | `1.17.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.8` | `0.5.11` |\n| [rspec-core](https://github.com/rspec/rspec) | `3.13.3` | `3.13.5` |\n| [rspec-expectations](https://github.com/rspec/rspec) | `3.13.4` | `3.13.5` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.3` | `3.13.5` |\n| [temple](https://github.com/judofyr/temple) | `0.10.3` | `0.10.4` |\n| [tilt](https://github.com/jeremyevans/tilt) | `2.6.0` | `2.6.1` |\n\n\nUpdates `actioncable-enhanced-postgresql-adapter` from 1.0.1 to 1.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/blob/master/CHANGELOG.md\"\u003eactioncable-enhanced-postgresql-adapter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e1.0.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of large payloads (\u003ca href=\"https://redirect.github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/pull/5\"\u003ereclaim-the-stack/actioncable-enhanced-postgresql-adapter#5\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/pull/6\"\u003ereclaim-the-stack/actioncable-enhanced-postgresql-adapter#6\u003c/a\u003e), thanks \u003ca href=\"https://github.com/chriscz\"\u003e\u003ccode\u003e@​chriscz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\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\u003eSee full diff in \u003ca href=\"https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/commits/v1.0.2\"\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.184.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 `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 `chartkick` from 5.1.5 to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ankane/chartkick/blob/master/CHANGELOG.md\"\u003echartkick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.2.0 (2025-06-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Chart.js to 4.5.0\u003c/li\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt; 3.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/chartkick/commit/3dd112f67f8cef0138a43939268fff46762521b4\"\u003e\u003ccode\u003e3dd112f\u003c/code\u003e\u003c/a\u003e Version bump to 5.2.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/chartkick/commit/ec1b2b1de618725a40ad68c872f12a7c8a7aea45\"\u003e\u003ccode\u003eec1b2b1\u003c/code\u003e\u003c/a\u003e Dropped support for Ruby \u0026lt; 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/chartkick/commit/1f565790518e6c176d4d74c92881831ca7e8a564\"\u003e\u003ccode\u003e1f56579\u003c/code\u003e\u003c/a\u003e Updated Chart.js to 4.5.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ankane/chartkick/compare/v5.1.5...v5.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `factory_bot_rails` from 6.4.4 to 6.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/releases\"\u003efactory_bot_rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.5.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Cucumber tests by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/536\"\u003ethoughtbot/factory_bot_rails#536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003erequired_ruby_version\u003c/code\u003e to require \u0026gt;= Ruby 3.1 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/thoughtbot/factory_bot_rails/pull/538\"\u003ethoughtbot/factory_bot_rails#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd vburzynski as codeowner by \u003ca href=\"https://github.com/DoodlingDev\"\u003e\u003ccode\u003e@​DoodlingDev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/539\"\u003ethoughtbot/factory_bot_rails#539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd AuthenticationGenerator for users factory creation by \u003ca href=\"https://github.com/rodrigotoledo\"\u003e\u003ccode\u003e@​rodrigotoledo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/542\"\u003ethoughtbot/factory_bot_rails#542\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rodrigotoledo\"\u003e\u003ccode\u003e@​rodrigotoledo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/542\"\u003ethoughtbot/factory_bot_rails#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DoodlingDev\"\u003e\u003ccode\u003e@​DoodlingDev\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/539\"\u003ethoughtbot/factory_bot_rails#539\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/compare/v6.5.0...v6.5.1\"\u003ehttps://github.com/thoughtbot/factory_bot_rails/compare/v6.5.0...v6.5.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Ruby 3.0 by \u003ca href=\"https://github.com/FerPerales\"\u003e\u003ccode\u003e@​FerPerales\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/507\"\u003ethoughtbot/factory_bot_rails#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead gem version from code file by \u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/506\"\u003ethoughtbot/factory_bot_rails#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing required Ruby version to gemspec by \u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/510\"\u003ethoughtbot/factory_bot_rails#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Bundler to v2.5.23 by \u003ca href=\"https://github.com/smaboshe\"\u003e\u003ccode\u003e@​smaboshe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/515\"\u003ethoughtbot/factory_bot_rails#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix standardrb violations by \u003ca href=\"https://github.com/sarahraqueld\"\u003e\u003ccode\u003e@​sarahraqueld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/482\"\u003ethoughtbot/factory_bot_rails#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActivate linter in CI by \u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/508\"\u003ethoughtbot/factory_bot_rails#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003efile_fixture\u003c/code\u003e in Factory definitions by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/427\"\u003ethoughtbot/factory_bot_rails#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix development dependencies by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/526\"\u003ethoughtbot/factory_bot_rails#526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Rails 7.2 by \u003ca href=\"https://github.com/RajRoR\"\u003e\u003ccode\u003e@​RajRoR\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/495\"\u003ethoughtbot/factory_bot_rails#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLimit \u003ccode\u003epush\u003c/code\u003e builds to the \u003ccode\u003emain\u003c/code\u003e branch by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/527\"\u003ethoughtbot/factory_bot_rails#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for rails v8 by \u003ca href=\"https://github.com/jamesoneill997\"\u003e\u003ccode\u003e@​jamesoneill997\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/521\"\u003ethoughtbot/factory_bot_rails#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd latest Ruby and Rails versions to the build by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/529\"\u003ethoughtbot/factory_bot_rails#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate gemspec with supported Rails version by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/531\"\u003ethoughtbot/factory_bot_rails#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun Cucumber feature tests on CI by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/530\"\u003ethoughtbot/factory_bot_rails#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FerPerales\"\u003e\u003ccode\u003e@​FerPerales\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/507\"\u003ethoughtbot/factory_bot_rails#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/506\"\u003ethoughtbot/factory_bot_rails#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RajRoR\"\u003e\u003ccode\u003e@​RajRoR\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/495\"\u003ethoughtbot/factory_bot_rails#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jamesoneill997\"\u003e\u003ccode\u003e@​jamesoneill997\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/521\"\u003ethoughtbot/factory_bot_rails#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.0\"\u003ehttps://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md\"\u003efactory_bot_rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.5.1 (September 5, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: Add AuthenticationGenerator for users factory creation (Rodrigo Toledo)\u003c/li\u003e\n\u003cli\u003eChanged: Update required_ruby_version to require \u0026gt;= Ruby 3.1 (y-yagi)\u003c/li\u003e\n\u003cli\u003eInternal: Fix Cucumber tests (Neil Carvalho)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.5.0 (June 13, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: First-party support for \u003ca href=\"https://api.rubyonrails.org/classes/ActiveSupport/Testing/FileFixtures.html#method-i-file_fixture\"\u003e\u003ccode\u003efile_fixture\u003c/code\u003e\u003c/a\u003e within factory blocks (Sean Doyle)\u003c/li\u003e\n\u003cli\u003eChanged: Drop support for Ruby 3.0 (Fernando Perales)\u003c/li\u003e\n\u003cli\u003eChanged: Add required Ruby version to the gemspec (Christoph Lipautz)\u003c/li\u003e\n\u003cli\u003eInternal: Add Rails 7.2 to the test matrix (Raj Kumar)\u003c/li\u003e\n\u003cli\u003eInternal: Add Rails 8.0 to the test matrix (James O'Neill)\u003c/li\u003e\n\u003cli\u003eInternal: Run \u003ccode\u003estandardrb\u003c/code\u003e on CI runs (Christoph Lipautz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/dfdef4c70a76d36058cf77fc1ccd9904a2bf0beb\"\u003e\u003ccode\u003edfdef4c\u003c/code\u003e\u003c/a\u003e Bump to 6.5.1 (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/b6c4e8d1fc495806f3ee353e79a5470d3f2638a6\"\u003e\u003ccode\u003eb6c4e8d\u003c/code\u003e\u003c/a\u003e Add AuthenticationGenerator for users factory creation (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/364bd890bfcfb538fa31318759c93d7e5c4e11a1\"\u003e\u003ccode\u003e364bd89\u003c/code\u003e\u003c/a\u003e add vburzynski as codeowner (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/8e45bc342682b610952935354fa478bbe616390f\"\u003e\u003ccode\u003e8e45bc3\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003erequired_ruby_version\u003c/code\u003e to require \u0026gt;= Ruby 3.1 (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/538\"\u003e#538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/6b757ebab3c9420b014fe69812f8ed0c5a77873f\"\u003e\u003ccode\u003e6b757eb\u003c/code\u003e\u003c/a\u003e Fix Cucumber tests (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/44acf670588ab5a24bddfd75415011c5c2373e2f\"\u003e\u003ccode\u003e44acf67\u003c/code\u003e\u003c/a\u003e Bump to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/83109a5ff2a0601df21547a56797635616e0d8eb\"\u003e\u003ccode\u003e83109a5\u003c/code\u003e\u003c/a\u003e Run Cucumber feature tests on CI (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/b2047c108c90341c351aeaa5cfe5fc9af715bcdb\"\u003e\u003ccode\u003eb2047c1\u003c/code\u003e\u003c/a\u003e Update gemspec with supported Rails version (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/c17c161b2370c7bce0b95d54f72337f8dd62c213\"\u003e\u003ccode\u003ec17c161\u003c/code\u003e\u003c/a\u003e Add latest Ruby and Rails versions to the build (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/2e30e1737977ad1e07dd0f46306def09712f56fb\"\u003e\u003ccode\u003e2e30e17\u003c/code\u003e\u003c/a\u003e Add Rails 8 to the build matrix (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.1 to 3.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.2\u003c/h2\u003e\n\u003cp\u003eHappy Canada Day! 🍁\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales and fixes some bugs.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect \u003ccode\u003eFaker::Address.city\u003c/code\u003e and \u003ccode\u003eFaker::Address.street_address\u003c/code\u003e for \u003ccode\u003e:fr\u003c/code\u003e locale by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix condominium_fiscal_code generator length from 9 to 11 characters by \u003ca href=\"https://github.com/FiloSpaTeam\"\u003e\u003ccode\u003e@​FiloSpaTeam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3037\"\u003efaker-ruby/faker#3037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cell Phone, Default Time Zone and State Abbreviation translation for en-PAK locale by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3024\"\u003efaker-ruby/faker#3024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix usage docs header indentation by \u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nl phone format by \u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003eja/book\u003c/code\u003e locale by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3062\"\u003efaker-ruby/faker#3062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a typo by \u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003erestaurant.yml\u003c/code\u003e by \u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix city address with number in \u003ccode\u003elocales/fr/address.yml\u003c/code\u003e by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3071\"\u003efaker-ruby/faker#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix unclosed quote in \u003ccode\u003elocales/en/cosmere.yml\u003c/code\u003e by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3075\"\u003efaker-ruby/faker#3075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove inappropriate word from ja lorem by \u003ca href=\"https://github.com/se4weed\"\u003e\u003ccode\u003e@​se4weed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3095\"\u003efaker-ruby/faker#3095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd mountains to de-CH locale by \u003ca href=\"https://github.com/codez\"\u003e\u003ccode\u003e@​codez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3066\"\u003efaker-ruby/faker#3066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump i18n from 1.14.6 to 1.14.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3042\"\u003efaker-ruby/faker#3042\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: run against Ruby 3.4 by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3079\"\u003efaker-ruby/faker#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Broken CI by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3073\"\u003efaker-ruby/faker#3073\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubocop from 1.67.0 to 1.68.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3020\"\u003efaker-ruby/faker#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop from 1.68.0 to 1.69.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3035\"\u003efaker-ruby/faker#3035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop version + offenses fixes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3053\"\u003efaker-ruby/faker#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dev dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3078\"\u003efaker-ruby/faker#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest and fix rubocop's offense by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3052\"\u003efaker-ruby/faker#3052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.0 to 0.38.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3088\"\u003efaker-ruby/faker#3088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-rake from 0.6.0 to 0.7.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3059\"\u003efaker-ruby/faker#3059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump \u003ccode\u003erubocop-minitest\u003c/code\u003e from \u003ccode\u003e0.37.1\u003c/code\u003e to \u003ccode\u003e0.38.0\u003c/code\u003e. by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3080\"\u003efaker-ruby/faker#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump minitest from 5.25.1 to 5.25.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/faker-ruby/faker/pull/3031\"\u003efaker-ruby/faker#3031\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.2 to 3.6.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3038\"\u003efaker-ruby/faker#3038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.3.0 to 0.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3021\"\u003efaker-ruby/faker#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.4.0 to 0.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3087\"\u003efaker-ruby/faker#3087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pry from 0.14.2 to 0.15.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3039\"\u003efaker-ruby/faker#3039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.2.1 to 13.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3086\"\u003efaker-ruby/faker#3086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.8 to 3.6.9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3096\"\u003efaker-ruby/faker#3096\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/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\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/faker-ruby/faker/pull/3075\"\u003efaker-ruby/faker#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.2\"\u003ev3.5.2\u003c/a\u003e (2025-07-01)\u003c/h2\u003e\n\u003cp\u003eHappy Canada Day! 🍁\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales and fixes some bugs.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect \u003ccode\u003eFaker::Address.city\u003c/code\u003e and \u003ccode\u003eFaker::Address.street_address\u003c/code\u003e for \u003ccode\u003e:fr\u003c/code\u003e locale by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix condominium_fiscal_code generator length from 9 to 11 characters by \u003ca href=\"https://github.com/FiloSpaTeam\"\u003e\u003ccode\u003e@​FiloSpaTeam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3037\"\u003efaker-ruby/faker#3037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cell Phone, Default Time Zone and State Abbreviation translation for en-PAK locale by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3024\"\u003efaker-ruby/faker#3024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix usage docs header indentation by \u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nl phone format by \u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003eja/book\u003c/code\u003e locale by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3062\"\u003efaker-ruby/faker#3062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a typo by \u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003erestaurant.yml\u003c/code\u003e by \u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix city address with number in \u003ccode\u003elocales/fr/address.yml\u003c/code\u003e by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3071\"\u003efaker-ruby/faker#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix unclosed quote in \u003ccode\u003elocales/en/cosmere.yml\u003c/code\u003e by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3075\"\u003efaker-ruby/faker#3075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove inappropriate word from ja lorem by \u003ca href=\"https://github.com/se4weed\"\u003e\u003ccode\u003e@​se4weed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3095\"\u003efaker-ruby/faker#3095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd mountains to de-CH locale by \u003ca href=\"https://github.com/codez\"\u003e\u003ccode\u003e@​codez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3066\"\u003efaker-ruby/faker#3066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump i18n from 1.14.6 to 1.14.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3042\"\u003efaker-ruby/faker#3042\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: run against Ruby 3.4 by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3079\"\u003efaker-ruby/faker#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Broken CI by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3073\"\u003efaker-ruby/faker#3073\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubocop from 1.67.0 to 1.68.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3020\"\u003efaker-ruby/faker#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop from 1.68.0 to 1.69.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3035\"\u003efaker-ruby/faker#3035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop version + offenses fixes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3053\"\u003efaker-ruby/faker#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dev dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3078\"\u003efaker-ruby/faker#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest and fix rubocop's offense by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3052\"\u003efaker-ruby/faker#3052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.0 to 0.38.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3088\"\u003efaker-ruby/faker#3088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-rake from 0.6.0 to 0.7.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3059\"\u003efaker-ruby/faker#3059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump \u003ccode\u003erubocop-minitest\u003c/code\u003e from \u003ccode\u003e0.37.1\u003c/code\u003e to \u003ccode\u003e0.38.0\u003c/code\u003e. by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3080\"\u003efaker-ruby/faker#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump minitest from 5.25.1 to 5.25.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/faker-ruby/faker/pull/3031\"\u003efaker-ruby/faker#3031\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.2 to 3.6.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3038\"\u003efaker-ruby/faker#3038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.3.0 to 0.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3021\"\u003efaker-ruby/faker#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.4.0 to 0.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3087\"\u003efaker-ruby/faker#3087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pry from 0.14.2 to 0.15.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3039\"\u003efaker-ruby/faker#3039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.2.1 to 13.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3086\"\u003efaker-ruby/faker#3086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.8 to 3.6.9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3096\"\u003efaker-ruby/faker#3096\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/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/232c561fbab14b5e06b760c0076faac57eb0827d\"\u003e\u003ccode\u003e232c561\u003c/code\u003e\u003c/a\u003e Bump faker to v3.5.2 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/d85fa7ebf2f54512d99202c17242b4fa997692b8\"\u003e\u003ccode\u003ed85fa7e\u003c/code\u003e\u003c/a\u003e Bump test-unit from 3.6.8 to 3.6.9 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/a6f01b838a8b00ea0efd1ae601aa6bc33a2b3d2b\"\u003e\u003ccode\u003ea6f01b8\u003c/code\u003e\u003c/a\u003e Bump rubocop-minitest from 0.38.0 to 0.38.1 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/83ef092fe6ab6061f47f3c619f1bf840f221c745\"\u003e\u003ccode\u003e83ef092\u003c/code\u003e\u003c/a\u003e Bump benchmark from 0.4.0 to 0.4.1 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/a67f573bb71fb8b46c58ab7cc4298cac5b060315\"\u003e\u003ccode\u003ea67f573\u003c/code\u003e\u003c/a\u003e Bump rake from 13.2.1 to 13.3.0 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3086\"\u003e#3086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/2bebcf9decc6e96e6504b6a24f831ab0eb75bbe5\"\u003e\u003ccode\u003e2bebcf9\u003c/code\u003e\u003c/a\u003e Add mountains to de-CH locale (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3066\"\u003e#3066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/0a975ae550a901ab016848e22cb1f3a1f35b981a\"\u003e\u003ccode\u003e0a975ae\u003c/code\u003e\u003c/a\u003e remove inappropriate words from \u003ccode\u003elocales/ja/lorem\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3095\"\u003e#3095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/898dbd8e5378eae8333887192d096acbdeb8bd11\"\u003e\u003ccode\u003e898dbd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3080\"\u003e#3080\u003c/a\u003e from faker-ruby/ta/deps/bump-rubocop-minitests-38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c2b01564581caea91e3c577d880138b197317861\"\u003e\u003ccode\u003ec2b0156\u003c/code\u003e\u003c/a\u003e deps: bump rubocop-minitest from 0.37.1 to 0.38.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c61ae9237d7987d2c48a7a26d3b8270674333fc7\"\u003e\u003ccode\u003ec61ae92\u003c/code\u003e\u003c/a\u003e ci: run against Ruby 3.4 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/faker-ruby/faker/compare/v3.5.1...v3.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `good_job` from 4.10.0 to 4.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bensheldon/good_job/releases\"\u003egood_job's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4120-2025-09-22\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize job_class scope performance by using column instead of JSON extraction by \u003ca href=\"https://github.com/ScotterC\"\u003e\u003ccode\u003e@​ScotterC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1672\"\u003ebensheldon/good_job#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eGoodJob::Cli.log_to_stdout =\u003c/code\u003e to be set by the parent application by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1680\"\u003ebensheldon/good_job#1680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd state column to cron entries table by \u003ca href=\"https://github.com/gregplumbly\"\u003e\u003ccode\u003e@​gregplumbly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1652\"\u003ebensheldon/good_job#1652\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDIL\"\u003e\u003ccode\u003e@​RDIL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1676\"\u003ebensheldon/good_job#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ScotterC\"\u003e\u003ccode\u003e@​ScotterC\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1672\"\u003ebensheldon/good_job#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gregplumbly\"\u003e\u003ccode\u003e@​gregplumbly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1652\"\u003ebensheldon/good_job#1652\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.2...v4.12.0\"\u003ehttps://github.com/bensheldon/good_job/compare/v4.11.2...v4.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4112-2025-08-06\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove circular dependency of requiring good_job in engine by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1655\"\u003ebensheldon/good_job#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRender the current time according to the Rails application's time zone setting. by \u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1650\"\u003ebensheldon/good_job#1650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake the processes page more responsive by extracting queues and max_threads by \u003ca href=\"https://github.com/luizkowalski\"\u003e\u003ccode\u003e@​luizkowalski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1647\"\u003ebensheldon/good_job#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix duplicate parameters by \u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1648\"\u003ebensheldon/good_job#1648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUI: Add \u003ccode\u003e.text-wrap\u003c/code\u003e to the Cron Entry key by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1667\"\u003ebensheldon/good_job#1667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a favicon by \u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1664\"\u003ebensheldon/good_job#1664\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1650\"\u003ebensheldon/good_job#1650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amo13\"\u003e\u003ccode\u003e@​amo13\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1663\"\u003ebensheldon/good_job#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1667\"\u003ebensheldon/good_job#1667\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.1...v4.11.2\"\u003ehttps://github.com/bensheldon/good_job/compare/v4.11.1...v4.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4111-2025-06-30\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003erequire rails\u003c/code\u003e to good_job/engine.rb to allow \u003ccode\u003ebundle console\u003c/code\u003e usage by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1653\"\u003ebensheldon/good_job#1653\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.0...v4.11.1\"\u003ehttps://github.com/bensheldon/good_job/compare/v4.11.0...v4.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4110-2025-06-30\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Probe Server handling server shutdown on SIGINT when daemonized by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1644\"\u003ebensheldon/good_job#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd GoodJob::Adapter#stopping to support Active Job continuations feature by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1646\"\u003ebensheldon/good_job#1646\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/bensheldon/good_job/blob/main/CHANGELOG.md\"\u003egood_job's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bensheldon/good_job/tree/v4.12.0\"\u003ev4.12.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.2...v4.12.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eImplemented enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003eGoodJob::Cli.log_to_stdout =\u003c/code\u003e to be set by the parent application \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1680\"\u003e#1680\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize job_class scope performance by using column instead of JSON extraction \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1672\"\u003e#1672\u003c/a\u003e (\u003ca href=\"https://github.com/ScotterC\"\u003eScotterC\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd state column to cron entries table \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1652\"\u003e#1652\u003c/a\u003e (\u003ca href=\"https://github.com/gregplumbly\"\u003egregplumbly\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed bugs:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eReorganize Dashboard header, ensure favicon svg is encoded; fix double mt-auto \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1668\"\u003e#1668\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eClosed issues:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGoodJob Cron unique index \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1678\"\u003e#1678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eparams_job_class JSON extraction causing performance issues - why not use job_class column? \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1671\"\u003e#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGood Job process stalling and CPU at 100% \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1669\"\u003e#1669\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate sorbet/tapioca \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1681\"\u003e#1681\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove obsolete property from tests \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1676\"\u003e#1676\u003c/a\u003e (\u003ca href=\"https://github.com/RDIL\"\u003eRDIL\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1673\"\u003e#1673\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bensheldon/good_job/tree/v4.11.2\"\u003ev4.11.2\u003c/a\u003e (2025-08-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.1...v4.11.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eImplemented enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a favicon \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1664\"\u003e#1664\u003c/a\u003e (\u003ca href=\"https://github.com/itsalongstory\"\u003eitsalongstory\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed bugs:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUI: Add \u003ccode\u003e.text-wrap\u003c/code\u003e to the Cron Entry key \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1667\"\u003e#1667\u003c/a\u003e (\u003ca href=\"https://github.com/seanpdoyle\"\u003eseanpdoyle\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix duplicate parameters \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1648\"\u003e#1648\u003c/a\u003e (\u003ca href=\"https://github.com/itsalongstory\"\u003eitsalongstory\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eClosed issues:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eпроблема с вб \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1665\"\u003e#1665\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDocufix: correct connects_to statement for multiple databases setup \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1663\"\u003e#1663\u003c/a\u003e (\u003ca href=\"https://github.com/amo13\"\u003eamo13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies and Rubocop \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1662\"\u003e#1662\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove circular dependency of requiring good_job in engine \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1655\"\u003e#1655\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender the current time according to the Rails application's time zone setting. \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1650\"\u003e#1650\u003c/a\u003e (\u003ca href=\"https://github.com/itsalongstory\"\u003eitsalongstory\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the processes page more responsive by extracting queues and max_threads \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1647\"\u003e#1647\u003c/a\u003e (\u003ca href=\"https://github.com/luizkowalski\"\u003eluizkowalski\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/bensheldon/good_job/commit/e8afc5dfb94eeeecd1b1222cf354b5e7bc9c6234\"\u003e\u003ccode\u003ee8afc5d\u003c/code\u003e\u003c/a\u003e Release good_job v4.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/b68c868c0af118ab0ddc470c2980544e1f241fff\"\u003e\u003ccode\u003eb68c868\u003c/code\u003e\u003c/a\u003e Update sorbet/tapioca (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1681\"\u003e#1681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/b5fced72756dbe30d12b091c7c466dbeb7e67819\"\u003e\u003ccode\u003eb5fced7\u003c/code\u003e\u003c/a\u003e Add state column to cron entries table (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1652\"\u003e#1652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/9025fab8d95df5ef4342a807f46519fcc7554958\"\u003e\u003ccode\u003e9025fab\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003eGoodJob::Cli.log_to_stdout =\u003c/code\u003e to be set by the parent application (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/5ed7827fb71817b74b89f17d4e1f05c9b7e0f8cb\"\u003e\u003ccode\u003e5ed7827\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1673\"\u003e#1673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/6eab944660025a936c68e3a08f44ef8e9d70731e\"\u003e\u003ccode\u003e6eab944\u003c/code\u003e\u003c/a\u003e Optimize job_class scope performance by using column instead of JSON extracti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/1830699fd918c8255cef3866e04b35e5c102569a\"\u003e\u003ccode\u003e1830699\u003c/code\u003e\u003c/a\u003e Remove obsolete property from tests (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1676\"\u003e#1676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/79b218746bf6e2d1a3a7451c128551fbaaa3269a\"\u003e\u003ccode\u003e79b2187\u003c/code\u003e\u003c/a\u003e Reorganize header, ensure favicon svg is encoded; fix double mt-auto (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1668\"\u003e#1668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/d907bd0200df57fdf3cb1c16336a066187085ebb\"\u003e\u003ccode\u003ed907bd0\u003c/code\u003e\u003c/a\u003e Release good_job v4.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/61345e697a134740d14c3fff3562dd4923415e86\"\u003e\u003ccode\u003e61345e6\u003c/code\u003e\u003c/a\u003e Add a favicon (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1664\"\u003e#1664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.10.0...v4.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `groupdate` from 6.5.1 to 6.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ankane/groupdate/blob/master/CHANGELOG.md\"\u003egroupdate's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.7.0 (2025-06-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded time zone support for SQLite\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eday_start\u003c/code\u003e support for SQLite\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003egroup_by_quarter\u003c/code\u003e support for SQLite\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.6.0 (2025-05-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt; 3.2 and Active Record \u0026lt; 7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/dc9979eb9dfa3a5b3d3585d3c1a7f31d378a98a6\"\u003e\u003ccode\u003edc9979e\u003c/code\u003e\u003c/a\u003e Version bump to 6.7.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/137c27f3b107c7bc29c096c818467a0cd7684f22\"\u003e\u003ccode\u003e137c27f\u003c/code\u003e\u003c/a\u003e Fixed test and added todos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/a48a6fa5a7755f5b198eda84f3e9871271f44399\"\u003e\u003ccode\u003ea48a6fa\u003c/code\u003e\u003c/a\u003e Improved tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/b1203dbf54ffc2524283891d3c88a66983979442\"\u003e\u003ccode\u003eb1203db\u003c/code\u003e\u003c/a\u003e Enabled test for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/bc28b7f9eb62b61b1df042453a7cdd0b6b5da7b8\"\u003e\u003ccode\u003ebc28b7f\u003c/code\u003e\u003c/a\u003e Enabled test for SQLite [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/39d511829793a0a9e1d6215934932bbc617443d6\"\u003e\u003ccode\u003e39d5118\u003c/code\u003e\u003c/a\u003e Enabled tests for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/5499c01003b6d4589ff385e69db1109ce4b0bc26\"\u003e\u003ccode\u003e5499c01\u003c/code\u003e\u003c/a\u003e Enabled test for SQLite [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/5019644e879cede1715f536e72d3fd60041182ae\"\u003e\u003ccode\u003e5019644\u003c/code\u003e\u003c/a\u003e Improved logic for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/511c051236e92bd081e495bcd027ea3e16a4a764\"\u003e\u003ccode\u003e511c051\u003c/code\u003e\u003c/a\u003e Improved logic for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/6d1c8136dd9f19be861e77fa4cf83b3548073c84\"\u003e\u003ccode\u003e6d1c813\u003c/code\u003e\u003c/a\u003e Improved time zone check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ankane/groupdate/compare/v6.5.1...v6.7.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 `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 espec...\n\n_Description has been truncated_","html_url":"https://github.com/bensheldon/open311status/pull/377","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bensheldon%2Fopen311status/issues/377","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/377/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":"2877616564","node_id":"PR_kwDOAA5Z-s6rhPG0","number":7685,"state":"open","title":"build(deps): bump marcel from 1.0.4 to 1.1.0","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-01T10:01:56.000Z","updated_at":"2025-10-03T19:18:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/MarkUsProject/Markus/pull/7685","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkUsProject%2FMarkus/issues/7685","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7685/packages"},{"uuid":"3471711432","node_id":"PR_kwDOAe8r3c6rdUBs","number":8952,"state":"open","title":"Bump marcel from 1.0.4 to 1.1.0","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-01T02:03:20.000Z","updated_at":"2025-10-01T10:35:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/Claim-for-Crown-Court-Defence/pull/8952","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2FClaim-for-Crown-Court-Defence/issues/8952","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8952/packages"}],"issue_packages":[{"old_version":"1.1.0","new_version":"1.2.1","update_type":"minor","path":null,"pr_created_at":"2026-05-28T02:22:18.000Z","version_change":"1.1.0 → 1.2.1","issue":{"uuid":"4537188249","node_id":"PR_kwDOJAseVs7gETmQ","number":1781,"state":"open","title":"Chore(deps): Bump the bundler group with 9 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-28T02:22:18.000Z","updated_at":"2026-05-28T02:22:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps): Bump","group_name":"bundler","update_count":9,"packages":[{"name":"aws-sdk-s3","old_version":"1.222.0","new_version":"1.223.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"oauth2","old_version":"2.0.18","new_version":"2.0.20","repository_url":"https://github.com/ruby-oauth/oauth2"},{"name":"aws-partitions","old_version":"1.1252.0","new_version":"1.1253.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-core","old_version":"3.247.0","new_version":"3.249.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"aws-sdk-kms","old_version":"1.127.0","new_version":"1.128.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"faraday-net_http","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/lostisland/faraday-net_http"},{"name":"marcel","old_version":"1.1.0","new_version":"1.2.1","repository_url":"https://github.com/rails/marcel"},{"name":"openid_connect","old_version":"2.3.1","new_version":"2.4.0","repository_url":"https://github.com/nov/openid_connect"},{"name":"snaky_hash","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/ruby-oauth/snaky_hash"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.222.0` | `1.223.0` |\n| [oauth2](https://github.com/ruby-oauth/oauth2) | `2.0.18` | `2.0.20` |\n| [aws-partitions](https://github.com/aws/aws-sdk-ruby) | `1.1252.0` | `1.1253.0` |\n| [aws-sdk-core](https://github.com/aws/aws-sdk-ruby) | `3.247.0` | `3.249.0` |\n| [aws-sdk-kms](https://github.com/aws/aws-sdk-ruby) | `1.127.0` | `1.128.0` |\n| [faraday-net_http](https://github.com/lostisland/faraday-net_http) | `3.4.2` | `3.4.3` |\n| [marcel](https://github.com/rails/marcel) | `1.1.0` | `1.2.1` |\n| [openid_connect](https://github.com/nov/openid_connect) | `2.3.1` | `2.4.0` |\n| [snaky_hash](https://github.com/ruby-oauth/snaky_hash) | `2.0.3` | `2.0.4` |\n\nUpdates `aws-sdk-s3` from 1.222.0 to 1.223.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md\"\u003eaws-sdk-s3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.223.0 (2026-05-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oauth2` from 2.0.18 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases\"\u003eoauth2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.19...v2.0.20\"\u003e2.0.20\u003c/a\u003e - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/oauth2/releases/tag/v2.0.20\"\u003ev2.0.20\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cp\u003eOfficial Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]\u003c/p\u003e\n\u003cp\u003eMany paths lead to being a sponsor or a backer of this project. Are you on such a path?\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://opencollective.com/ruby-oauth#backer\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/backers/badge.svg?style=flat\" alt=\"OpenCollective Backers\" /\u003e\u003c/a\u003e \u003ca href=\"https://opencollective.com/ruby-oauth#sponsor\"\u003e\u003cimg src=\"https://opencollective.com/ruby-oauth/sponsors/badge.svg?style=flat\" alt=\"OpenCollective Sponsors\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sponsors/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social\u0026amp;logo=github\" alt=\"Sponsor Me on Github\" /\u003e\u003c/a\u003e \u003ca href=\"https://liberapay.com/pboling/donate\"\u003e\u003cimg src=\"https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay\u0026amp;color=a51611\u0026amp;style=flat\" alt=\"Liberapay Goal Progress\" /\u003e\u003c/a\u003e [![Donate on PayPal][🖇paypal-img]][🖇paypal]\u003c/p\u003e\n\u003cp\u003e[\u003cimg src=\"https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat\" alt=\"Buy me a coffee\" /\u003e][🖇buyme] \u003ca href=\"https://polar.sh/pboling\"\u003e\u003cimg src=\"https://img.shields.io/badge/polar-donate-a51611.svg?style=flat\" alt=\"Donate on Polar\" /\u003e\u003c/a\u003e \u003ca href=\"https://ko-fi.com/O5O86SNP4\"\u003e\u003cimg src=\"https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts at ko-fi.com\" /\u003e\u003c/a\u003e \u003ca href=\"https://patreon.com/galtzo\"\u003e\u003cimg src=\"https://img.shields.io/badge/patreon-donate-a51611.svg?style=flat\" alt=\"Donate to my FLOSS efforts using Patreon\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/oauth2/blob/main/CHANGELOG.md\"\u003eoauth2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.20] - 2026-05-20\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.20][2.0.20t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 99.62% -- 525/527 lines in 15 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 98.88% -- 176/178 branches in 15 files\u003c/li\u003e\n\u003cli\u003e88.35% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOAuth2::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eauth-sanitizer v0.1.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/721\"\u003egh!721\u003c/a\u003e Load \u003ccode\u003eauth-sanitizer\u003c/code\u003e through an internal isolated loader so requiring \u003ccode\u003eoauth2\u003c/code\u003e does not add top-level \u003ccode\u003eAuth\u003c/code\u003e or \u003ccode\u003eAuthSanitizer\u003c/code\u003e constants that may collide with downstream applications by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003ch2\u003e[2.0.19] - 2026-05-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.19][2.0.19t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 515/515 lines in 14 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 174/174 branches in 14 files\u003c/li\u003e\n\u003cli\u003e89.11% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_label]\u003c/code\u003e to configure the placeholder used for filtered sensitive values in inspected objects and debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Add \u003ccode\u003eOAuth2.config[:filtered_debug_keys]\u003c/code\u003e to configure which key names have their values redacted from debug logging output by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Make inspect-time and debug-log filters snapshot their configuration at initialization time rather than tracking later config changes by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[gh!714][gh!714]Refactor sensitive-value filtering to use \u003ccode\u003eauth-sanitizer\u003c/code\u003e while preserving \u003ccode\u003eOAuth2::FilteredAttributes\u003c/code\u003e as a permanent API alias by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the internal \u003ccode\u003eOAuth2::ThingFilter\u003c/code\u003e and \u003ccode\u003eOAuth2::SanitizedLogger\u003c/code\u003e implementations now provided by \u003ccode\u003eauth-sanitizer\u003c/code\u003e by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/pull/707\"\u003egh!707\u003c/a\u003e Redact sensitive values from debug logging output, including Authorization headers and common token/secret fields in headers, query strings, form bodies, and JSON payloads by \u003ca href=\"https://github.com/pboling\"\u003e\u003ccode\u003e@​pboling\u003c/code\u003e\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eNOTE: debug logging has always been, and remains, opt-in. It is turned off by default.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/e2d509705db6091c8d5f27c31e29c58e39e51c7c\"\u003e\u003ccode\u003ee2d5097\u003c/code\u003e\u003c/a\u003e 🔧 :nocov: for unreachable error states\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/30650b2e1cb743e3263181e8b8a32c57ef33b9fb\"\u003e\u003ccode\u003e30650b2\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/23f2855f1b0053a38b6b5df00c870d83db761c31\"\u003e\u003ccode\u003e23f2855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/721\"\u003e#721\u003c/a\u003e from ruby-oauth/fix/top-level-namespace-pollution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/5e4c98831ecb68ec446fcc99be0af40e6e68490c\"\u003e\u003ccode\u003e5e4c988\u003c/code\u003e\u003c/a\u003e Fix RuboCop Gradual offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/89397f699bd6903c5ac3a9927d1743984a946dc5\"\u003e\u003ccode\u003e89397f6\u003c/code\u003e\u003c/a\u003e Constrain auth-sanitizer loader lookup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/8e71e19890fe486d7d260eb29ec67eb5ac1e75d0\"\u003e\u003ccode\u003e8e71e19\u003c/code\u003e\u003c/a\u003e 📝 CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/6082a21c5628b270953dc9edb0af57dafb36e194\"\u003e\u003ccode\u003e6082a21\u003c/code\u003e\u003c/a\u003e ⬆️ snaky_hash, faraday-net_http, zeitwerk, bundler-audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/350da4214e9285fd88e21a9859d049dc8e954a25\"\u003e\u003ccode\u003e350da42\u003c/code\u003e\u003c/a\u003e Avoid auth-sanitizer top-level namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/0bc19030c2226ab16fc237b547e95d90ed8fa2e9\"\u003e\u003ccode\u003e0bc1903\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/oauth2/issues/719\"\u003e#719\u003c/a\u003e from step-security-bot/chore/GHA-182236-stepsecurity-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/oauth2/commit/148d716337a530494895091fe3b4359a410212a5\"\u003e\u003ccode\u003e148d716\u003c/code\u003e\u003c/a\u003e Switch pre-commit hook to rubocop_gradual\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/oauth2/compare/v2.0.18...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-partitions` from 1.1252.0 to 1.1253.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-partitions/CHANGELOG.md\"\u003eaws-partitions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.1253.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Updated the partitions source data that determines the AWS service regions and endpoints.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-core` from 3.247.0 to 3.249.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-core/CHANGELOG.md\"\u003eaws-sdk-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.249.0 (2026-05-22)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Adding new BDD representation of endpoint ruleset\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.248.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::STS::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSOOIDC::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::SSO::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Updated Aws::Signin::Client with the latest API changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFeature - Add \u003ccode\u003eAWS_NEW_RETRIES_2026\u003c/code\u003e environment variable to opt-in to updated \u003ccode\u003estandard\u003c/code\u003e retry mode with reduced backoff intervals.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-kms` from 1.127.0 to 1.128.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-kms/CHANGELOG.md\"\u003eaws-sdk-kms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.128.0 (2026-05-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFeature - Code Generated Changes, see \u003ccode\u003e./build_tools\u003c/code\u003e or \u003ccode\u003eaws-sdk-core\u003c/code\u003e's CHANGELOG.md for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-sdk-ruby/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faraday-net_http` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lostisland/faraday-net_http/releases\"\u003efaraday-net_http's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.4.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/54\"\u003elostisland/faraday-net_http#54\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlways dup body before mutating it by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/pull/56\"\u003elostisland/faraday-net_http#56\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ehttps://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/1a6f2505c876de3c7d4f0e420951664d26958196\"\u003e\u003ccode\u003e1a6f250\u003c/code\u003e\u003c/a\u003e Version bump to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/4bcd6262dd0d902b15b4b6285932eda517d7586a\"\u003e\u003ccode\u003e4bcd626\u003c/code\u003e\u003c/a\u003e Always dup body before mutating it (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/56\"\u003e#56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday-net_http/commit/5ee17ed98e41ad038c9b16ccf8ecf08bd1735568\"\u003e\u003ccode\u003e5ee17ed\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday-net_http/issues/54\"\u003e#54\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lostisland/faraday-net_http/compare/v3.4.2...v3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `marcel` from 1.1.0 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/marcel/releases\"\u003emarcel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert BMP images type to just \u003ccode\u003eimage/bmp\u003c/code\u003e instead of \u003ccode\u003eimage/bmp;format=compressed\u003c/code\u003e.\nThe later is more precise, but cause backward compatibility issues with Active Storage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/rails/marcel/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStop mutating source IO state during magic-byte detection by \u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove SVG detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove HTML detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/130\"\u003erails/marcel#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd fixture for BOM CSV by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/134\"\u003erails/marcel#134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd unicode string support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/138\"\u003erails/marcel#138\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Sony RAW image format magic detection by \u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for .gpx files by \u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003etika.xml\u003c/code\u003e regex support by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/132\"\u003erails/marcel#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd pkcs8 detection by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/133\"\u003erails/marcel#133\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd hprof fixture and fix trailing space bug by \u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/136\"\u003erails/marcel#136\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andreaslillebo\"\u003e\u003ccode\u003e@​andreaslillebo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/143\"\u003erails/marcel#143\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alexanderadam\"\u003e\u003ccode\u003e@​alexanderadam\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/129\"\u003erails/marcel#129\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bogdan\"\u003e\u003ccode\u003e@​bogdan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/142\"\u003erails/marcel#142\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/trekdemo\"\u003e\u003ccode\u003e@​trekdemo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/113\"\u003erails/marcel#113\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/rails/marcel/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Ruby 3.4 frozen string literal warnings with StringIO by \u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/andynu\"\u003e\u003ccode\u003e@​andynu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/rails/marcel/pull/140\"\u003erails/marcel#140\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/rails/marcel/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/b0625d3f0358deb3fb2cba20b26a1c39f09f62ea\"\u003e\u003ccode\u003eb0625d3\u003c/code\u003e\u003c/a\u003e Release 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/65a6a56de6f4b19e641ca35e8f8d792de5f52445\"\u003e\u003ccode\u003e65a6a56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/148\"\u003e#148\u003c/a\u003e from rails/bmp-raw-type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f065e38c5b633c4a1dcbad5d957d5602d6a25387\"\u003e\u003ccode\u003ef065e38\u003c/code\u003e\u003c/a\u003e Release 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/8bf7690671bf41c634ac0233e3d8f40ed689a611\"\u003e\u003ccode\u003e8bf7690\u003c/code\u003e\u003c/a\u003e Prefer audio/ogg instead of audio/opus\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5d740354c292b9d91460b5b3bde92080a96164cd\"\u003e\u003ccode\u003e5d74035\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/136\"\u003e#136\u003c/a\u003e from alexanderadam/fix/remove_trailing_mime_type_spac...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/17549db6c960674cccbe1bf697729d0d0a40daab\"\u003e\u003ccode\u003e17549db\u003c/code\u003e\u003c/a\u003e Add hprof to allowed regexp types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5cab19b633b5665b78d12db43cbe44601fac72a3\"\u003e\u003ccode\u003e5cab19b\u003c/code\u003e\u003c/a\u003e Always run generate_tables.rb\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f9833c32014c7a39f9434074bde5248ee805003\"\u003e\u003ccode\u003e9f9833c\u003c/code\u003e\u003c/a\u003e Remove trailign type name in all tables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/5a3fbac116d9d8cc7b1b0eb9200328ba882addeb\"\u003e\u003ccode\u003e5a3fbac\u003c/code\u003e\u003c/a\u003e remove trailing mime type spaces \u0026amp; hprof fixture\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/9f11bea9c73cf0f9039da7c3ae4dc9d4c3dd6be4\"\u003e\u003ccode\u003e9f11bea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/marcel/issues/133\"\u003e#133\u003c/a\u003e from alexanderadam/fix/p8_detection_issue_90\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `openid_connect` from 2.3.1 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nov/openid_connect/releases\"\u003eopenid_connect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadded link to documentation in the README by \u003ca href=\"https://github.com/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd POST support and custom headers to userinfo! by \u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/guarenty\"\u003e\u003ccode\u003e@​guarenty\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/101\"\u003enov/openid_connect#101\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arianf\"\u003e\u003ccode\u003e@​arianf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nov/openid_connect/pull/111\"\u003enov/openid_connect#111\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ehttps://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/e5936a18c69771d359310f067028f0fd811a8892\"\u003e\u003ccode\u003ee5936a1\u003c/code\u003e\u003c/a\u003e v2.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/ea20e9c7e7ad40bcf5d4cea48d8ef497832756b6\"\u003e\u003ccode\u003eea20e9c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/111\"\u003e#111\u003c/a\u003e from arianf/post-userinfo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fe320ff56189da36f7246d07ddbaaccd40bf0417\"\u003e\u003ccode\u003efe320ff\u003c/code\u003e\u003c/a\u003e add POST support and custom headers to userinfo!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/18afb4a35a9cc48c0a912bb54331f77c6b22d20e\"\u003e\u003ccode\u003e18afb4a\u003c/code\u003e\u003c/a\u003e CI against 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/10a2deb21c086dd730526b1e097d3c3d19743500\"\u003e\u003ccode\u003e10a2deb\u003c/code\u003e\u003c/a\u003e update test targets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fce82228d174bc92f6de94a67eac78077a1d250a\"\u003e\u003ccode\u003efce8222\u003c/code\u003e\u003c/a\u003e fix broken spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/fc3c7eed9bd450e5675e65d62ecb3973ccdeeb0d\"\u003e\u003ccode\u003efc3c7ee\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/nov/openid_connect/issues/101\"\u003e#101\u003c/a\u003e from guarenty/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/17d90bcd2c7a67677d9a387ced695c90de2e367f\"\u003e\u003ccode\u003e17d90bc\u003c/code\u003e\u003c/a\u003e Update README.rdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nov/openid_connect/commit/a0f6d1a55fbe4f300b9a53debfbb359c096c2069\"\u003e\u003ccode\u003ea0f6d1a\u003c/code\u003e\u003c/a\u003e add link to documentation in README.rdoc\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nov/openid_connect/compare/v2.3.1...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `snaky_hash` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases\"\u003esnaky_hash's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\u003e2.0.4\u003c/a\u003e - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/releases/tag/v2.0.4\"\u003ev2.0.4\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/blob/main/CHANGELOG.md\"\u003esnaky_hash's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[2.0.4] - 2026-05-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTAG: [v2.0.4][2.0.4t]\u003c/li\u003e\n\u003cli\u003eCOVERAGE: 100.00% -- 133/133 lines in 7 files\u003c/li\u003e\n\u003cli\u003eBRANCH COVERAGE: 100.00% -- 38/38 branches in 7 files\u003c/li\u003e\n\u003cli\u003e100.00% documented\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIncident Response Plan in IRP.md\u003c/li\u003e\n\u003cli\u003eSnakyHash::VERSION (Traditional Constant Location)\u003c/li\u003e\n\u003cli\u003ekettle-dev \u0026amp; kettle-test dev harnesses\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eContributor Conenant updated to version 2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/7b4250885ccd27bf3d91f481d446f33322686058\"\u003e\u003ccode\u003e7b42508\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/8\"\u003e#8\u003c/a\u003e from ruby-oauth/dependabot/github_actions/marocchino/st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/a97d4c53568e253bc563f50c524e5ff49a59da2e\"\u003e\u003ccode\u003ea97d4c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/9\"\u003e#9\u003c/a\u003e from ruby-oauth/dependabot/github_actions/codecov/codec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/2214e9801469a4bd8f004e9b1acb0082e5d1e0f8\"\u003e\u003ccode\u003e2214e98\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby-oauth/snaky_hash/issues/10\"\u003e#10\u003c/a\u003e from ruby-oauth/dependabot/github_actions/actions/depe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/b0a09d8158df7878aa5c3c9c51da023e63fb9b50\"\u003e\u003ccode\u003eb0a09d8\u003c/code\u003e\u003c/a\u003e 🔖 Prepare release v2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/d8aaf97016cd32498ae74b17e4063896d2448dcb\"\u003e\u003ccode\u003ed8aaf97\u003c/code\u003e\u003c/a\u003e ✅ Update specs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/88be176962625905b5234ec8f42f09023f0f2619\"\u003e\u003ccode\u003e88be176\u003c/code\u003e\u003c/a\u003e ➖ addressable (dev)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/69dd5a1bd23643acc8920a796ee6a64e7d739b7c\"\u003e\u003ccode\u003e69dd5a1\u003c/code\u003e\u003c/a\u003e 🔥 bin/bundle is dead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/bb44430185e563fb348e266efd17d81c697f4278\"\u003e\u003ccode\u003ebb44430\u003c/code\u003e\u003c/a\u003e 🔧 Modernize gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/5a170abcf03ca2bd9546d2d26e02bc8377e13914\"\u003e\u003ccode\u003e5a170ab\u003c/code\u003e\u003c/a\u003e ➕ appraisal2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-oauth/snaky_hash/commit/eaa5304f7338d35509688fa4c543635daa4cd677\"\u003e\u003ccode\u003eeaa5304\u003c/code\u003e\u003c/a\u003e ⬆️ yard-junk v0.1.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-oauth/snaky_hash/compare/v2.0.3...v2.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/laa-assure-hmrc-data/pull/1781","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-assure-hmrc-data/issues/1781","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1781/packages"}},{"old_version":"1.1.0","new_version":"1.1.1","update_type":"patch","path":null,"pr_created_at":"2026-05-20T05:19:48.000Z","version_change":"1.1.0 → 1.1.1","issue":{"uuid":"4483389363","node_id":"PR_kwDOR-g9jc7dXpFR","number":61,"state":"open","title":"Bump marcel from 1.1.0 to 1.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-20T05:19:48.000Z","updated_at":"2026-05-20T05:20:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"marcel","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/marcel) from 1.1.0 to 1.1.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.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/0a70010a2cf69b8a0d91cdcae9e93eb913a20285\"\u003e\u003ccode\u003e0a70010\u003c/code\u003e\u003c/a\u003e Release 1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f798c466a77427fba31c93243b8b1c71333be8a1\"\u003e\u003ccode\u003ef798c46\u003c/code\u003e\u003c/a\u003e Fix Ruby 3.4 frozen string literal warnings with StringIO (\u003ca href=\"https://redirect.github.com/rails/marcel/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.1.0\u0026new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ruby-benchmark/errbit/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-benchmark%2Ferrbit/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"}},{"old_version":"1.1.0","new_version":"1.1.1","update_type":"patch","path":null,"pr_created_at":"2026-05-20T03:13:09.000Z","version_change":"1.1.0 → 1.1.1","issue":{"uuid":"4482798651","node_id":"PR_kwDOCRCuO87dVuJu","number":2960,"state":"closed","title":"chore(deps): bump marcel from 1.1.0 to 1.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T23:08:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-20T03:13:09.000Z","updated_at":"2026-05-20T23:08:31.000Z","time_to_close":71720,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"marcel","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/marcel) from 1.1.0 to 1.1.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.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/0a70010a2cf69b8a0d91cdcae9e93eb913a20285\"\u003e\u003ccode\u003e0a70010\u003c/code\u003e\u003c/a\u003e Release 1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f798c466a77427fba31c93243b8b1c71333be8a1\"\u003e\u003ccode\u003ef798c46\u003c/code\u003e\u003c/a\u003e Fix Ruby 3.4 frozen string literal warnings with StringIO (\u003ca href=\"https://redirect.github.com/rails/marcel/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.1.0\u0026new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mishina2228/youtube-api-trial/pull/2960","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mishina2228%2Fyoutube-api-trial/issues/2960","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2960/packages"}},{"old_version":"1.1.0","new_version":"1.1.1","update_type":"patch","path":null,"pr_created_at":"2026-05-19T22:07:54.000Z","version_change":"1.1.0 → 1.1.1","issue":{"uuid":"4481409919","node_id":"PR_kwDOFAzcJM7dRaCG","number":6190,"state":"open","title":"Bump marcel from 1.1.0 to 1.1.1","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T22:07:54.000Z","updated_at":"2026-05-19T22:08:50.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"marcel","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/marcel) from 1.1.0 to 1.1.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.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/0a70010a2cf69b8a0d91cdcae9e93eb913a20285\"\u003e\u003ccode\u003e0a70010\u003c/code\u003e\u003c/a\u003e Release 1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/marcel/commit/f798c466a77427fba31c93243b8b1c71333be8a1\"\u003e\u003ccode\u003ef798c46\u003c/code\u003e\u003c/a\u003e Fix Ruby 3.4 frozen string literal warnings with StringIO (\u003ca href=\"https://redirect.github.com/rails/marcel/issues/140\"\u003e#140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/marcel/compare/v1.1.0...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.1.0\u0026new-version=1.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/manyfold3d/manyfold/pull/6190","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/manyfold3d%2Fmanyfold/issues/6190","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6190/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":"/sdks/ruby/examples","pr_created_at":"2026-04-02T14:23:24.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"4194958406","node_id":"PR_kwDOK6NWss7Pk_Ib","number":3467,"state":"open","title":"chore(deps): bump marcel from 1.0.4 to 1.1.0 in /sdks/ruby/examples","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T14:23:24.000Z","updated_at":"2026-04-02T14:27:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":"/sdks/ruby/examples","ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/hatchet-dev/hatchet/pull/3467","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatchet-dev%2Fhatchet/issues/3467","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3467/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-12-22T09:26:53.000Z","version_change":"1.0.4 → 1.1.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.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-12-08T04:06:50.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"3704555669","node_id":"PR_kwDOA4nnZM63lTba","number":96,"state":"closed","title":"Bump the bundler group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-12-22T04:05:50.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-08T04:06:50.000Z","updated_at":"2025-12-22T04:05:51.000Z","time_to_close":1209540,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":34,"packages":[{"name":"rails","old_version":"8.0.2","new_version":"8.0.4","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"redis","old_version":"5.4.0","new_version":"5.4.1","repository_url":"https://github.com/redis/redis-rb"},{"name":"puma","old_version":"6.6.0","new_version":"7.1.0","repository_url":"https://github.com/puma/puma"},{"name":"pundit","old_version":"2.5.0","new_version":"2.5.2","repository_url":"https://github.com/varvet/pundit"},{"name":"aasm","old_version":"5.5.1","new_version":"5.5.2","repository_url":"https://github.com/aasm/aasm"},{"name":"view_component","old_version":"3.23.2","new_version":"4.1.1","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"pagy","old_version":"9.3.4","new_version":"43.2.0","repository_url":"https://github.com/ddnexus/pagy"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.20","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"solid_cable","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/rails/solid_cable"},{"name":"sidekiq","old_version":"8.0.4","new_version":"8.0.10","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"sidekiq-cron","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ondrejbartas/sidekiq-cron"},{"name":"aws-sdk-s3","old_version":"1.190.0","new_version":"1.206.0","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"bootsnap","old_version":"1.18.6","new_version":"1.19.0","repository_url":"https://github.com/rails/bootsnap"},{"name":"thruster","old_version":"0.1.14","new_version":"0.1.16","repository_url":"https://github.com/basecamp/thruster"},{"name":"grape","old_version":"2.4.0","new_version":"3.0.1","repository_url":"https://github.com/ruby-grape/grape"},{"name":"grape-swagger-entity","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/ruby-grape/grape-swagger-entity"},{"name":"graphql","old_version":"2.5.9","new_version":"2.5.14","repository_url":"https://github.com/rmosolgo/graphql-ruby"},{"name":"dotenv","old_version":"3.1.8","new_version":"3.2.0","repository_url":"https://github.com/bkeepers/dotenv"},{"name":"amazing_print","old_version":"1.8.1","new_version":"2.0.0","repository_url":"https://github.com/amazing-print/amazing_print"},{"name":"rspec-rails","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"factory_bot_rails","old_version":"6.5.0","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"selenium-webdriver","old_version":"4.33.0","new_version":"4.39.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"brakeman","old_version":"7.0.2","new_version":"7.1.1","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"rubocop-rails","old_version":"2.32.0","new_version":"2.34.2","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.1","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.8.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-rspec_rails","old_version":"2.31.0","new_version":"2.32.0","repository_url":"https://github.com/rubocop/rubocop-rspec_rails"},{"name":"rubocop-factory_bot","old_version":"2.27.1","new_version":"2.28.0","repository_url":"https://github.com/rubocop/rubocop-factory_bot"},{"name":"vernier","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rspec-sidekiq","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/wspurgin/rspec-sidekiq"},{"name":"database_cleaner-active_record","old_version":"2.2.1","new_version":"2.2.2","repository_url":"https://github.com/DatabaseCleaner/database_cleaner-active_record"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2` | `8.0.4` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [redis](https://github.com/redis/redis-rb) | `5.4.0` | `5.4.1` |\n| [puma](https://github.com/puma/puma) | `6.6.0` | `7.1.0` |\n| [pundit](https://github.com/varvet/pundit) | `2.5.0` | `2.5.2` |\n| [aasm](https://github.com/aasm/aasm) | `5.5.1` | `5.5.2` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.1.1` |\n| [pagy](https://github.com/ddnexus/pagy) | `9.3.4` | `43.2.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.20` |\n| [solid_cable](https://github.com/rails/solid_cable) | `3.0.11` | `3.0.12` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.4` | `8.0.10` |\n| [sidekiq-cron](https://github.com/ondrejbartas/sidekiq-cron) | `2.3.0` | `2.3.1` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.190.0` | `1.206.0` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [bootsnap](https://github.com/rails/bootsnap) | `1.18.6` | `1.19.0` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.14` | `0.1.16` |\n| [grape](https://github.com/ruby-grape/grape) | `2.4.0` | `3.0.1` |\n| [grape-swagger-entity](https://github.com/ruby-grape/grape-swagger-entity) | `0.6.2` | `0.7.0` |\n| [graphql](https://github.com/rmosolgo/graphql-ruby) | `2.5.9` | `2.5.14` |\n| [dotenv](https://github.com/bkeepers/dotenv) | `3.1.8` | `3.2.0` |\n| [amazing_print](https://github.com/amazing-print/amazing_print) | `1.8.1` | `2.0.0` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.1` | `8.0.2` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.5.0` | `6.5.1` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.33.0` | `4.39.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.0.2` | `7.1.1` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.32.0` | `2.34.2` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.1` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.8.0` |\n| [rubocop-rspec_rails](https://github.com/rubocop/rubocop-rspec_rails) | `2.31.0` | `2.32.0` |\n| [rubocop-factory_bot](https://github.com/rubocop/rubocop-factory_bot) | `2.27.1` | `2.28.0` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.9.0` |\n| [rspec-sidekiq](https://github.com/wspurgin/rspec-sidekiq) | `5.1.0` | `5.2.0` |\n| [database_cleaner-active_record](https://github.com/DatabaseCleaner/database_cleaner-active_record) | `2.2.1` | `2.2.2` |\n\n\nUpdates `rails` from 8.0.2 to 8.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.4\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eEnumerable#sole\u003c/code\u003e to return the full tuple instead of just the first element of the tuple.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOlivier Bellone\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix parallel tests hanging when worker processes die abruptly.\u003c/p\u003e\n\u003cp\u003ePreviously, if a worker process was killed (e.g., OOM killed, \u003ccode\u003ekill -9\u003c/code\u003e) during parallel\ntest execution, the test suite would hang forever waiting for the dead worker.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNameError\u003c/code\u003e when \u003ccode\u003eclass_attribute\u003c/code\u003e is defined on instance singleton classes.\u003c/p\u003e\n\u003cp\u003ePreviously, calling \u003ccode\u003eclass_attribute\u003c/code\u003e on an instance's singleton class would raise\na \u003ccode\u003eNameError\u003c/code\u003e when accessing the attribute through the instance.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eobject = MyClass.new\nobject.singleton_class.class_attribute :foo, default: \u0026quot;bar\u0026quot;\nobject.foo # previously raised NameError, now returns \u0026quot;bar\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cem\u003eJoshua Young\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Record\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix SQLite3 data loss during table alterations with CASCADE foreign keys.\u003c/p\u003e\n\u003cp\u003eWhen altering a table in SQLite3 that is referenced by child tables with\n\u003ccode\u003eON DELETE CASCADE\u003c/code\u003e foreign keys, ActiveRecord would silently delete all\ndata from the child tables. This occurred because SQLite requires table\nrecreation for schema changes, and during this process the original table\nis temporarily dropped, triggering CASCADE deletes on child tables.\u003c/p\u003e\n\u003cp\u003eThe root cause was incorrect ordering of operations. The original code\nwrapped \u003ccode\u003edisable_referential_integrity\u003c/code\u003e inside a transaction, but\n\u003ccode\u003ePRAGMA foreign_keys\u003c/code\u003e cannot be modified inside a transaction in SQLite -\nattempting to do so simply has no effect. This meant foreign keys remained\nenabled during table recreation, causing CASCADE deletes to fire.\u003c/p\u003e\n\u003cp\u003eThe fix reverses the order to follow the official SQLite 12-step ALTER TABLE\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/624fe3cdb9ab774ff598af29f408425178da6677\"\u003e\u003ccode\u003e624fe3c\u003c/code\u003e\u003c/a\u003e Preparing for 8.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/47a763581331ecfa56fb27beceda04bc6b5bb1f4\"\u003e\u003ccode\u003e47a7635\u003c/code\u003e\u003c/a\u003e Upgrade sigstore gem to 0.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/2f3eb21bd6da9a4935314d4a0663c473c4d33700\"\u003e\u003ccode\u003e2f3eb21\u003c/code\u003e\u003c/a\u003e Sync CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/d96d698c3a78510d974f186d21e9b81d15b2a955\"\u003e\u003ccode\u003ed96d698\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56021\"\u003e#56021\u003c/a\u003e from harsh183/hd/getting_started_add_note_about_mai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0ddf2c97b27d25aa1e450545d59ff867df31253f\"\u003e\u003ccode\u003e0ddf2c9\u003c/code\u003e\u003c/a\u003e Delete test that now fails with new version of benchmark gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6981fd2fbeadc8bc7db6547604cf2df13cb18a40\"\u003e\u003ccode\u003e6981fd2\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55969\"\u003e#55969\u003c/a\u003e from rails/fix-explain-tests-mysql-9.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/95a073edcda76d06037df3d1c4904759e5d58163\"\u003e\u003ccode\u003e95a073e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/55966\"\u003e#55966\u003c/a\u003e from alexanderadam/doc/remove_subclasses_documentat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ac0b8f0a6187d2d626f7c8c29dae41c8ff9217d1\"\u003e\u003ccode\u003eac0b8f0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/54720\"\u003e#54720\u003c/a\u003e from gregmolnar/guides\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/82f2c96c394b0cf2c2208a7cbf8ebb4fa591ebd6\"\u003e\u003ccode\u003e82f2c96\u003c/code\u003e\u003c/a\u003e Disable GCS tests in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/94a28440cafca5c243821490956432b30d8a4fa4\"\u003e\u003ccode\u003e94a2844\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53068\"\u003e#53068\u003c/a\u003e from zzak/rails-probot-migration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.0.2...v8.0.4\"\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 `redis` from 5.4.0 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-rb/blob/master/CHANGELOG.md\"\u003eredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.4.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly handle NOSCRIPT errors.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/6784a3204be44d4ca7891a901295e4a4007a13a5\"\u003e\u003ccode\u003e6784a32\u003c/code\u003e\u003c/a\u003e Release 5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/c205a8c7f22a3d387cb3cf9a8816e7a32f748c5c\"\u003e\u003ccode\u003ec205a8c\u003c/code\u003e\u003c/a\u003e Require redis-client earlier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/16c78555caeb580ab6c5365f8979259faab3142d\"\u003e\u003ccode\u003e16c7855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1312\"\u003e#1312\u003c/a\u003e from redis/translate-ensure-connected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/08a3290ea65214e2af09d456dc0439082362782f\"\u003e\u003ccode\u003e08a3290\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ewithout_reconnect\u003c/code\u003e to wrap redis-client exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/8408c0365b72b4c655a95af7934d2fad50d2d33c\"\u003e\u003ccode\u003e8408c03\u003c/code\u003e\u003c/a\u003e Update redis release URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/317a0204d8361927757117845f825b42c26fac14\"\u003e\u003ccode\u003e317a020\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1311\"\u003e#1311\u003c/a\u003e from redis/specialize-evalsha-noscript-error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/d9f004fa08886309c3b4068488e057801786f836\"\u003e\u003ccode\u003ed9f004f\u003c/code\u003e\u003c/a\u003e Fix a mistake in test_hrandfield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/57c79c2b7ccbf46d6964cc5104d52f41911e70fe\"\u003e\u003ccode\u003e57c79c2\u003c/code\u003e\u003c/a\u003e Handle RedisClient::NoScriptError\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/redis-rb/compare/v5.4.0...v5.4.1\"\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.0 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16 - Neon Witch\u003c/h2\u003e\n\u003cp\u003e\u003cimg src=\"https://github.com/user-attachments/assets/6f013211-35fb-46ce-84d8-00794e020294\" alt=\"neon_witch\" /\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nerdrew\"\u003e\u003ccode\u003e@​nerdrew\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3707\"\u003epuma/puma#3707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mopp\"\u003e\u003ccode\u003e@​mopp\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3783\"\u003epuma/puma#3783\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marksmith\"\u003e\u003ccode\u003e@​marksmith\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3657\"\u003epuma/puma#3657\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Nymuxyzo\"\u003e\u003ccode\u003e@​Nymuxyzo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3762\"\u003epuma/puma#3762\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/puma/puma/compare/v7.0.4...v7.1.0\"\u003ehttps://github.com/puma/puma/compare/v7.0.4...v7.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove sleep cluster logic to its own class by \u003ca href=\"https://github.com/schneems\"\u003e\u003ccode\u003e@​schneems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3746\"\u003epuma/puma#3746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3754\"\u003epuma/puma#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of header values by \u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL_shutdown error handling by \u003ca href=\"https://github.com/marshall-lee\"\u003e\u003ccode\u003e@​marshall-lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3703\"\u003epuma/puma#3703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\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.3...v7.0.4\"\u003ehttps://github.com/puma/puma/compare/v7.0.3...v7.0.4\u003c/a\u003e\u003c/p\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.0 / 2025-10-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eafter_worker_shutdown\u003c/code\u003e hook (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3707\"\u003e#3707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReintroduce keepalive \u0026quot;fast inline\u0026quot; behavior. Provides faster (8x on JRuby \u0026amp; 1.4x on Ruby) pipeline processing  (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3794\"\u003e#3794\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e logging twice with prune_bundler enabled (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3778\"\u003e#3778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix prune_bundler not showing in \u003ccode\u003ePUMA_LOG_CONFIG=1\u003c/code\u003e output (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard ThreadPool method call, which may be nil during shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3791\"\u003e#3791\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3790\"\u003e#3790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix race condition while deleting pidfile (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3657\"\u003e#3657\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/fb2a0733e938c8786e033f22dc5bf66727dddb3a\"\u003e\u003ccode\u003efb2a073\u003c/code\u003e\u003c/a\u003e v7.1.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3797\"\u003e#3797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/4edb9e9b16835aa24bd037a88dad4d34a76952e4\"\u003e\u003ccode\u003e4edb9e9\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eclient.rb\u003c/code\u003e - \u003ccode\u003eread_body\u003c/code\u003e - cleanup last lines of method (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3798\"\u003e#3798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/84a568ab1c4d0c5cd0d29a167f5facba9699a35c\"\u003e\u003ccode\u003e84a568a\u003c/code\u003e\u003c/a\u003e Update wait_for_less_busy_worker docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3757\"\u003e#3757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e59a6049c3fc08ac2bd906a10d199bdf3949eb04\"\u003e\u003ccode\u003ee59a604\u003c/code\u003e\u003c/a\u003e Initialize only essential \u003ccode\u003eLauncher\u003c/code\u003e state before \u003ccode\u003eprune_bundler\u003c/code\u003e restart (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6844de7c4f2503751bad5e9c141de2bdb067f452\"\u003e\u003ccode\u003e6844de7\u003c/code\u003e\u003c/a\u003e client.rb - Skip reading zero bytes when request body is buffered (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3795\"\u003e#3795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/1d3d6b792cdc870171d27cafbd0b7ceaf5e2dfb7\"\u003e\u003ccode\u003e1d3d6b7\u003c/code\u003e\u003c/a\u003e Set \u003ccode\u003eThread.current.puma_server\u003c/code\u003e in Thread init code, not every request (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3774\"\u003e#3774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/9b34cde2c5ddf7fd65bfd5f8aea811659226662e\"\u003e\u003ccode\u003e9b34cde\u003c/code\u003e\u003c/a\u003e Adding syntax highlighting in k8s docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3782\"\u003e#3782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/a2bd2f63476a719faa02eacac94b274d0cee1f6d\"\u003e\u003ccode\u003ea2bd2f6\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eprune_bundler\u003c/code\u003e to \u003ccode\u003eConfiguration::DEFAULTS\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3779\"\u003e#3779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/d7a0854a39bbb3f06f12c4a180e42ee6d36f7985\"\u003e\u003ccode\u003ed7a0854\u003c/code\u003e\u003c/a\u003e ci: Update hey benchmark files, minor fixes and formatting (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/ff08099b1fc702093261a90e92da09feb577c683\"\u003e\u003ccode\u003eff08099\u003c/code\u003e\u003c/a\u003e ci: Update Update test/rackup/sleep_fibonacci.ru, add test script (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3793\"\u003e#3793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v6.6.0...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pundit` from 2.5.0 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/varvet/pundit/blob/main/CHANGELOG.md\"\u003epundit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.2 (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003econfig/rubocop-rspec.yml\u003c/code\u003e back from accidentally being excluded \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.1 (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequiring only \u003ccode\u003epundit/rspec\u003c/code\u003e no longer raises an error in Active Support \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/857\"\u003e#857\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/varvet/pundit/commit/2d665d67a26f794987df926e49676948fe115289\"\u003e\u003ccode\u003e2d665d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/867\"\u003e#867\u003c/a\u003e from varvet/kbs/release-v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/7ff48a83790aef27bd89fa4da6a0a238599bca2d\"\u003e\u003ccode\u003e7ff48a8\u003c/code\u003e\u003c/a\u003e Bump to v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/674abac197c7ecc000fd25a4542344d38c998535\"\u003e\u003ccode\u003e674abac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e from varvet/kbs/add-rubocop-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/923eebf39ccd6f8095a5c4270953e7a19d6d16a6\"\u003e\u003ccode\u003e923eebf\u003c/code\u003e\u003c/a\u003e Point changelog to PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/47668502881e3abed7dd004ca19fa11d66b23b6f\"\u003e\u003ccode\u003e4766850\u003c/code\u003e\u003c/a\u003e Add rubocop config file back to gem release files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/27a840bedadf0ef3d66f1857edd966c2e01cc18e\"\u003e\u003ccode\u003e27a840b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/863\"\u003e#863\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/381b202dd2e11c5eb0ea1134d29f85331a01d643\"\u003e\u003ccode\u003e381b202\u003c/code\u003e\u003c/a\u003e +3.4 -3.1 (EOL)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/4bb6a67819572bd9431d30048fbab4c9685cfbf2\"\u003e\u003ccode\u003e4bb6a67\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/862\"\u003e#862\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/6ceca0d2ab84d2240e6422e7b14d208ad10e3304\"\u003e\u003ccode\u003e6ceca0d\u003c/code\u003e\u003c/a\u003e Attempt code quality upload to qlty.sh instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/82d918a4c4c4ab393f662a32e94028d6b086285d\"\u003e\u003ccode\u003e82d918a\u003c/code\u003e\u003c/a\u003e Bump to v2.5.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/varvet/pundit/compare/v2.5.0...v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aasm` from 5.5.1 to 5.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aasm/aasm/blob/master/CHANGELOG.md\"\u003eaasm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.5.2 (22 October 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix another issue around keyword arguments for Ruby \u0026gt;3.2, thanks \u003ca href=\"https://github.com/segiddins\"\u003e\u003ccode\u003e@​segiddins\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/873\"\u003e#873\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade rails tests and move concurrent to load only necessary class, thanks \u003ca href=\"https://github.com/allcentury\"\u003e\u003ccode\u003e@​allcentury\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/852\"\u003e#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd changelog-uri, thanks \u003ca href=\"https://github.com/kzkn\"\u003e\u003ccode\u003e@​kzkn\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/759\"\u003e#759\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/aasm/aasm/commit/726a578808e0f403bfd24e505f9a45319670a6b7\"\u003e\u003ccode\u003e726a578\u003c/code\u003e\u003c/a\u003e Version bump to 5.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/3c10a03a00c10ada24c076be798ca02c0c992504\"\u003e\u003ccode\u003e3c10a03\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/873\"\u003e#873\u003c/a\u003e from segiddins/segiddins/proc-invoker-kwargs-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/35e060cdf8befde81e788463e690aceb2f59db1e\"\u003e\u003ccode\u003e35e060c\u003c/code\u003e\u003c/a\u003e Add keyword arguments support to ProcInvoker\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/18de75fa440ae58679f2758008756566c9a9be74\"\u003e\u003ccode\u003e18de75f\u003c/code\u003e\u003c/a\u003e Correctly use the twiddle-wakka\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/7d09045708034be72623ff68fad86abb679fb911\"\u003e\u003ccode\u003e7d09045\u003c/code\u003e\u003c/a\u003e Update changelog for \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/852\"\u003eaasm/aasm#852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/f63d93ede532e7f9354d03ffbdc341f7ba80d84c\"\u003e\u003ccode\u003ef63d93e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/852\"\u003e#852\u003c/a\u003e from allcentury/rails-tests-upgrades\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/0b40827204892a1ca7f409aedd3a1266d0f58b7f\"\u003e\u003ccode\u003e0b40827\u003c/code\u003e\u003c/a\u003e Update changelog for \u003ca href=\"https://redirect.github.com/aasm/aasm/pull/759\"\u003eaasm/aasm#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/0ee1ab1b85a7fa66ce84eb6572b760305fb87b68\"\u003e\u003ccode\u003e0ee1ab1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/759\"\u003e#759\u003c/a\u003e from kzkn/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/a0cb056d3f6054bf885aa849160e20319b272687\"\u003e\u003ccode\u003ea0cb056\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/aasm/aasm/issues/867\"\u003e#867\u003c/a\u003e from aasm/admin/add_builds_for_ruby_3_3_and_3_4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aasm/aasm/commit/00dcee68f005ada536693338875b91b01111e0b6\"\u003e\u003ccode\u003e00dcee6\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into admin/add_builds_for_ruby_3_3_and_3_4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aasm/aasm/compare/v5.5.1...v5.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Consultport to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSebastian Nepote\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded Reinvented Hospitality to the list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTorgil Zechel\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Carwow to list of companies using ViewComponent.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eTom Lord\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.2...v4.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eResolve deprecation warning for \u003ccode\u003eActiveSupport::Configurable\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSimon Fish\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMake \u003ccode\u003eViewComponent::VERSION\u003c/code\u003e accessible to other gems by default.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rails 8.1 support.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeclare \u003ccode\u003eactionview\u003c/code\u003e as a \u003ccode\u003eview_component\u003c/code\u003e gem dependency.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMichal Cichra\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/li\u003e\n\u003cli\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/3743d2bc34e648936fea42a762e5a3844b1f2180\"\u003e\u003ccode\u003e3743d2b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2499\"\u003e#2499\u003c/a\u003e from ViewComponent/release-4-1-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/ee56651d12d4f4af9ee0692560b093fb433d8a48\"\u003e\u003ccode\u003eee56651\u003c/code\u003e\u003c/a\u003e Bump VC in gemfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f6d0502b2ebfebeb9641a2fc28fbb1dcbeea91ee\"\u003e\u003ccode\u003ef6d0502\u003c/code\u003e\u003c/a\u003e release 4.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/cb2240b6d55a7d4b5bb1d401844d5e07f69089bf\"\u003e\u003ccode\u003ecb2240b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2493\"\u003e#2493\u003c/a\u003e from ViewComponent/dependabot/bundler/tailwindcss-ra...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/7ba75dfbeed30519a8bfb552983209838b8cc06f\"\u003e\u003ccode\u003e7ba75df\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2495\"\u003e#2495\u003c/a\u003e from ViewComponent/dependabot/bundler/minitest-5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/44cdafe537ee822e5af574d1df1da9ed9e370c74\"\u003e\u003ccode\u003e44cdafe\u003c/code\u003e\u003c/a\u003e Bump minitest from 5.26.0 to 5.26.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/417339528cce33d182d3a2f99bb04a01514ec2cd\"\u003e\u003ccode\u003e4173395\u003c/code\u003e\u003c/a\u003e Bump tailwindcss-rails from 4.3.0 to 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4dbbaa310ecfdb495e3212e881d40df1b040b83b\"\u003e\u003ccode\u003e4dbbaa3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2492\"\u003e#2492\u003c/a\u003e from snepote/feat/adds_consultport_company_using_vie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b26c936b3fbacc2432cb35508cbb3474001ca007\"\u003e\u003ccode\u003eb26c936\u003c/code\u003e\u003c/a\u003e Add Consultport to \u0026quot;Who uses ViewComponent?\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2222403d78913ff57e3cc70bd2bd860e2e81230\"\u003e\u003ccode\u003ee222240\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2488\"\u003e#2488\u003c/a\u003e from ViewComponent/dependabot/bundler/selenium-webdr...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pagy` from 9.3.4 to 43.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ddnexus/pagy/releases\"\u003epagy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 43.2.0\u003c/h2\u003e\n\u003ch3\u003eChanges in 43.2.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eImplement :countish paginator\u003c/li\u003e\n\u003cli\u003eSimplify Pagy::Linkable\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eCHANGELOG\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eVersion 43\u003c/h2\u003e\n\u003cp\u003eWe needed a leap version to unequivocally signaling that it's not just a major version: it's a complete redesign of the legacy\ncode at all levels, usage and API included.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhy 43?\u003c/strong\u003e Because it's exactly one step beyond \u003cem\u003e\u0026quot;The answer to the ultimate question of life, the Universe, and everything.\u0026quot;\u003c/em\u003e 😉\u003c/p\u003e\n\u003ch4\u003eImprovements\u003c/h4\u003e\n\u003cp\u003eThis version introduces several enhancements, such as new \u003ccode\u003e:countish\u003c/code\u003e and \u003ccode\u003e:keynav_js\u003c/code\u003e paginators and improved automation and\nconfiguration processes, reducing setup requirements by 99%. The update also includes a simpler API and new interactive\ndevelopment tools, making it a comprehensive upgrade from previous versions.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators/countish\"\u003e:countish\u003c/a\u003e Paginator\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eFaster than OFFSET and supporting the full UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators/keynav_js\"\u003eKeynav\u003c/a\u003e Pagination\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eThe pagy-exclusive technique using the fastest \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators/keyset\"\u003ekeyset\u003c/a\u003e\npagination alongside all frontend helpers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew interactive dev-tools\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/resources/stylesheets/#pagy-wand\"\u003ePagyWand\u003c/a\u003e to integrate the pagy CSS with your app themes.\u003c/li\u003e\n\u003cli\u003eNew \u003cstrong\u003ePagy AI\u003c/strong\u003e available right inside your own app.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIntelligent automation\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://ddnexus.github.io/pagy/resources/initializer/\"\u003eConfiguration\u003c/a\u003e requirements reduced by 99%.\u003c/li\u003e\n\u003cli\u003eSimplified \u003ca href=\"https://ddnexus.github.io/pagy/resources/javascript\"\u003eJavaScript\u003c/a\u003e setup.\u003c/li\u003e\n\u003cli\u003eAutomatic \u003ca href=\"https://ddnexus.github.io/pagy/resources/i18n\"\u003eI18n\u003c/a\u003e loading.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/ddnexus/pagy#examples\"\u003eSimpler API\u003c/a\u003e\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eYou solely need the \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/paginators\"\u003epagy\u003c/a\u003e method and\nthe \u003ca href=\"https://ddnexus.github.io/pagy/toolbox/helpers\"\u003e\u003ccode\u003e@​pagy\u003c/code\u003e\u003c/a\u003e instance to paginate any collection and use any navigation tag\nand helper.\u003c/li\u003e\n\u003cli\u003eMethods are autoloaded only if used, and consume no memory otherwise.\u003c/li\u003e\n\u003cli\u003eMethods have narrower scopes and can be \u003ca href=\"https://ddnexus.github.io/pagy/guides/how-to#override-pagy-methods\"\u003eoverridden\u003c/a\u003e\nwithout deep knowledge.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew \u003ca href=\"https://ddnexus.github.io/pagy/guides/quick-start\"\u003edocumentation\u003c/a\u003e\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eVery concise, straightforward, and easy to navigate and understand.\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/ddnexus/pagy/blob/master/docs/CHANGELOG.md\"\u003epagy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 43.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement :countish paginator\u003c/li\u003e\n\u003cli\u003eSimplify Pagy::Linkable\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactoring of elasticsearch_rails paginator:\n\u003cul\u003e\n\u003cli\u003eFix \u0026quot;response\u0026quot; shadowing. Close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/842\"\u003e#842\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSimplify code\u003c/li\u003e\n\u003cli\u003eImprove readability: rename variables and methods in more natural\nand unambiguous language\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and improve search paginators:\n\u003cul\u003e\n\u003cli\u003eAdd support for elasticsearch_rails v8\u003c/li\u003e\n\u003cli\u003ePrioritize elasticsearch_rails response over raw_response in\ntotal_count (causing multiple query executions)\u003c/li\u003e\n\u003cli\u003eFix the ignored :search_method paginator option\u003c/li\u003e\n\u003cli\u003eClose \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/837\"\u003e#837\u003c/a\u003e, close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/838\"\u003e#838\u003c/a\u003e, close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/839\"\u003e#839\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure the request GET and POST merge into a proper params Hash\u003c/li\u003e\n\u003cli\u003eSimplify code efficiency and readability\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix and improve the composition of the page url. Close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd full support for legacy countless params, url composition and (limited) behavior\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove the page options handling for countless:\n\u003cul\u003e\n\u003cli\u003eReplace the crippled handling of legacy last-less links params\nintroduced in 43.1.2 by gracefully starting the pagination from\nthe beginning\u003c/li\u003e\n\u003cli\u003eRemove the compose_page_param method (it would need a deep refactoring\nfor compatibility with the legacy handling)\u003c/li\u003e\n\u003cli\u003eImprove testing\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImprove the info message for empty collection in countless paginations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 43.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport easy countless page param overriding (for legacy param and behavior). See \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/816\"\u003e#816\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandle legacy page param for :countless paginator. Close \u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/832\"\u003e#832\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/ddnexus/pagy/commit/24a818e24d6027f3c8e6149e9a4822eab45c8da1\"\u003e\u003ccode\u003e24a818e\u003c/code\u003e\u003c/a\u003e Merge branch 'dev'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/be7d647d4d66846b6382a7dab9373d21da4cb244\"\u003e\u003ccode\u003ebe7d647\u003c/code\u003e\u003c/a\u003e Version 43.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/c63447cadccd83857f4372d05de5fff51d9a270b\"\u003e\u003ccode\u003ec63447c\u003c/code\u003e\u003c/a\u003e Update ruby gems and JavaScript packages\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/4ff3b7e5a49281769b91482db76a1ecd3d6ac052\"\u003e\u003ccode\u003e4ff3b7e\u003c/code\u003e\u003c/a\u003e Improve paginators docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/f28f0c2777ef6eae8df5d456e361e9da9d576656\"\u003e\u003ccode\u003ef28f0c2\u003c/code\u003e\u003c/a\u003e Implement :countish paginator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/74ccd6d027567596cc065e47e1bde663888374d5\"\u003e\u003ccode\u003e74ccd6d\u003c/code\u003e\u003c/a\u003e Update time zones notation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/4b6cf5225f6c8498240f7fb30b7f144e7529e4dd\"\u003e\u003ccode\u003e4b6cf52\u003c/code\u003e\u003c/a\u003e Simplify Pagy::Linkable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/96584cc95323200ce629c5fde6f6fa667c90b8c8\"\u003e\u003ccode\u003e96584cc\u003c/code\u003e\u003c/a\u003e Merge branch 'dev'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/1ca9aef2dae4c4dcbf35fa8b81f7c2b9656afb26\"\u003e\u003ccode\u003e1ca9aef\u003c/code\u003e\u003c/a\u003e Version 43.1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/b070ed28f095cc75b64d806ebbe63dc612511afa\"\u003e\u003ccode\u003eb070ed2\u003c/code\u003e\u003c/a\u003e Refactoring of elasticsearch_rails paginator:\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ddnexus/pagy/compare/9.3.4...43.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hotwired/turbo-rails/releases\"\u003eturbo-rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.20\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.19...v2.0.20\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.19\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\"\u003ehttps://github.com/hotwired/turbo-rails/compare/v2.0.17...v2.0.19\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.17\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typo in README.md by \u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove compact call on locals in broadcast_rendering_with_defaults by \u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/hotwired/turbo/releases/tag/v8.0.18\"\u003ehttps://github.com/hotwired/turbo/releases/tag/v8.0.18\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brunocalmels\"\u003e\u003ccode\u003e@​brunocalmels\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/746\"\u003ehotwired/turbo-rails#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mathias234\"\u003e\u003ccode\u003e@​mathias234\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/pull/720\"\u003ehotwired/turbo-rails#720\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/01dd6b93662e7263c472e3ab81a05137ca39318f\"\u003e\u003ccode\u003e01dd6b9\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/e3cd1346da2b78793a27a69f410247555403b68d\"\u003e\u003ccode\u003ee3cd134\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00f986402296f6fdd6ebc85f2adc6fbb8d956dc3\"\u003e\u003ccode\u003e00f9864\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/2971ba276cb9aad094347d9540a6352fd429cb79\"\u003e\u003ccode\u003e2971ba2\u003c/code\u003e\u003c/a\u003e Bump turbo version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/aeea473b651703da32e3db430c4728fae5a52bb3\"\u003e\u003ccode\u003eaeea473\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​hotwired/turbo-rails\u003c/code\u003e v8.0.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/00e6cba77b1edd47205e3393c4c9d2237608a995\"\u003e\u003ccode\u003e00e6cba\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/30cd8fcc6f82c1ad4edd1ed6069ba878f21f02b3\"\u003e\u003ccode\u003e30cd8fc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/720\"\u003e#720\u003c/a\u003e from mathias234/remove-compact\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/4bf3c0b64fd48afca60c33e90205025f743e123f\"\u003e\u003ccode\u003e4bf3c0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hotwired/turbo-rails/issues/746\"\u003e#746\u003c/a\u003e from brunocalmels/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/fe2b8626c9b47d90ff1cd8285980db94fa8d1105\"\u003e\u003ccode\u003efe2b862\u003c/code\u003e\u003c/a\u003e Fix typo in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hotwired/turbo-rails/commit/65afc97406a62ae25d99dedd13791826578ce55a\"\u003e\u003ccode\u003e65afc97\u003c/code\u003e\u003c/a\u003e Remove compact on locals\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hotwired/turbo-rails/compare/v2.0.16...v2.0.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `solid_cable` from 3.0.11 to 3.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/solid_cable/releases\"\u003esolid_cable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.0.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDont broadcast message in compute_if_present to avoid race condition by \u003ca href=\"https://github.com/npezza93\"\u003e\u003ccode\u003e@​npezza93\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/solid_cable/pull/72\"\u003erails/solid_cable#72\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/solid_cable/compare/v3.0.11...v3.0.12\"\u003ehttps://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\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/solid_cable/commit/c6c10aa8aea136e849e9e80fc8af47e5bf39409e\"\u003e\u003ccode\u003ec6c10aa\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/solid_cable/commit/e5d73f5b1720150d2acbcd5fe69c4cf2d66d5043\"\u003e\u003ccode\u003ee5d73f5\u003c/code\u003e\u003c/a\u003e Dont broadcast message in compute_if_present to avoid race condition (\u003ca href=\"https://redirect.github.com/rails/solid_cable/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.4 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd confirm dialog for Delete All buttons in Web UI \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust scheduler to run closer to poll average \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward compatibility changes for connection_pool 3.0.0\u003c/li\u003e\n\u003cli\u003eBackwards compatibility fix for \u0026lt;8.0.9 process data in Redis \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6870\"\u003e#6870\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBacktrace dump can now be triggered with the INFO signal, since Puma uses the\nsame signal \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6857\"\u003e#6857\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.0.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImplement idle Redis connection reaping, will be activated in 8.1 \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6663\"\u003e#6663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eSidekiq::Process\u003c/code\u003e API to provide capsule data. The \u003ccode\u003equeues\u003c/code\u003e and \u003ccode\u003eweights\u003c/code\u003e\ndata will be removed from Redis in Sidekiq 8.1, as this data can now be found in the\n\u003ccode\u003ecapsules\u003c/code\u003e element. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6295\"\u003e#6295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore bulk action buttons on Scheduled, Retry and Dead tabs [#6833, deve1212]\u003c/li\u003e\n\u003cli\u003eSupport logging additional job attributes [#6846, bschrag620]\u003c/li\u003e\n\u003cli\u003eFix display of long job args \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6836\"\u003e#6836\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreate development lifecycle (\u003ccode\u003edocs/sdlc.md\u003c/code\u003e) and security (\u003ccode\u003edocs/SECURITY.md\u003c/code\u003e) policy\ndocumentation for Sidekiq's current workflows\u003c/li\u003e\n\u003c/ul\u003e\n\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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/843e8a9ab4ed37e542c2aac302b6c478f8606989\"\u003e\u003ccode\u003e843e8a9\u003c/code\u003e\u003c/a\u003e doc(changes) [ciskip]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/4bf6c00e69eacf243b1d939a9d5b822e96c7934d\"\u003e\u003ccode\u003e4bf6c00\u003c/code\u003e\u003c/a\u003e Add confirm dialog for Delete All, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6853\"\u003e#6853\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/b42be8b804eeeec87bc4b9aa99f4fb62e81d256d\"\u003e\u003ccode\u003eb42be8b\u003c/code\u003e\u003c/a\u003e fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/2319d094c8d631388cc133eafb1b593ba235ba4d\"\u003e\u003ccode\u003e2319d09\u003c/code\u003e\u003c/a\u003e fix formula to process scheduled tasks closer to average, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6866\"\u003e#6866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/9d8c221906ff17fa62f294c64f1b77799564d984\"\u003e\u003ccode\u003e9d8c221\u003c/code\u003e\u003c/a\u003e remove superfluous test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/844ebe397c6faf5cd62cda9e5cd70ec165890497\"\u003e\u003ccode\u003e844ebe3\u003c/code\u003e\u003c/a\u003e forward compat with connection_pool 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/06658367209bd55bb9d0da36c7b912e22847203e\"\u003e\u003ccode\u003e0665836\u003c/code\u003e\u003c/a\u003e changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/551c614ec1c2ee81bf11c2ab1106f54a79eb11f9\"\u003e\u003ccode\u003e551c614\u003c/code\u003e\u003c/a\u003e prevent pool 3+ because it will be backwards incompatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/6e2db39f23c3215b626b560e06195d3a1482a188\"\u003e\u003ccode\u003e6e2db39\u003c/code\u003e\u003c/a\u003e Add todo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/71ce07ef595c6bfcc53ca478a4c4180081f8d233\"\u003e\u003ccode\u003e71ce07e\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6873\"\u003e#6873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.4...v8.0.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq-cron` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/releases\"\u003esidekiq-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some Ruby warnings by \u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/561\"\u003esidekiq-cron/sidekiq-cron#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web ui by \u003ca href=\"https://github.com/tonyciou\"\u003e\u003ccode\u003e@​tonyciou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.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/sidekiq-cron/sidekiq-cron/blob/master/CHANGELOG.md\"\u003esidekiq-cron's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\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/sidekiq-cron/sidekiq-cron/commit/8c25ca29f5259cdd5a29fe8f38434eff1445dbb7\"\u003e\u003ccode\u003e8c25ca2\u003c/code\u003e\u003c/a\u003e Prepare new release v2.3.1 🚀\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/d351305988e5ac990dcf698604e1f5f7cf2e2821\"\u003e\u003ccode\u003ed351305\u003c/code\u003e\u003c/a\u003e Fix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/16953cd91608fa04ef02c6b3dcdeff34c41eca4c\"\u003e\u003ccode\u003e16953cd\u003c/code\u003e\u003c/a\u003e Fix some Ruby warnings (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.190.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 `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@​Marce...\n\n_Description has been truncated_","html_url":"https://github.com/alexeyramazanov/base_app/pull/96","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyramazanov%2Fbase_app/issues/96","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/96/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-13T04:05:47.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"3508380455","node_id":"PR_kwDOA4nnZM6tX97d","number":91,"state":"closed","title":"Bump the bundler group across 1 directory with 27 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-27T04:04:27.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T04:05:47.000Z","updated_at":"2025-10-27T04:04:29.000Z","time_to_close":1209520,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":27,"packages":[{"name":"rails","old_version":"8.0.2","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"redis","old_version":"5.4.0","new_version":"5.4.1","repository_url":"https://github.com/redis/redis-rb"},{"name":"puma","old_version":"6.6.0","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"pundit","old_version":"2.5.0","new_version":"2.5.2","repository_url":"https://github.com/varvet/pundit"},{"name":"view_component","old_version":"3.23.2","new_version":"4.0.2","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"pagy","old_version":"9.3.4","new_version":"9.4.0","repository_url":"https://github.com/ddnexus/pagy"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"solid_cable","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/rails/solid_cable"},{"name":"sidekiq","old_version":"8.0.4","new_version":"8.0.8","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"sidekiq-cron","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ondrejbartas/sidekiq-cron"},{"name":"aws-sdk-s3","old_version":"1.190.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"thruster","old_version":"0.1.14","new_version":"0.1.15","repository_url":"https://github.com/basecamp/thruster"},{"name":"grape-swagger-entity","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/ruby-grape/grape-swagger-entity"},{"name":"graphql","old_version":"2.5.9","new_version":"2.5.14","repository_url":"https://github.com/rmosolgo/graphql-ruby"},{"name":"amazing_print","old_version":"1.8.1","new_version":"2.0.0","repository_url":"https://github.com/amazing-print/amazing_print"},{"name":"rspec-rails","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"factory_bot_rails","old_version":"6.5.0","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"selenium-webdriver","old_version":"4.33.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"brakeman","old_version":"7.0.2","new_version":"7.1.0","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"rubocop-rails","old_version":"2.32.0","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.0","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"vernier","old_version":"1.8.0","new_version":"1.8.1","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rspec-sidekiq","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/wspurgin/rspec-sidekiq"},{"name":"database_cleaner-active_record","old_version":"2.2.1","new_version":"2.2.2","repository_url":"https://github.com/DatabaseCleaner/database_cleaner-active_record"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 27 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2` | `8.0.3` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [redis](https://github.com/redis/redis-rb) | `5.4.0` | `5.4.1` |\n| [puma](https://github.com/puma/puma) | `6.6.0` | `7.0.4` |\n| [pundit](https://github.com/varvet/pundit) | `2.5.0` | `2.5.2` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.0.2` |\n| [pagy](https://github.com/ddnexus/pagy) | `9.3.4` | `9.4.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [solid_cable](https://github.com/rails/solid_cable) | `3.0.11` | `3.0.12` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.4` | `8.0.8` |\n| [sidekiq-cron](https://github.com/ondrejbartas/sidekiq-cron) | `2.3.0` | `2.3.1` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.190.0` | `1.199.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.14` | `0.1.15` |\n| [grape-swagger-entity](https://github.com/ruby-grape/grape-swagger-entity) | `0.6.2` | `0.7.0` |\n| [graphql](https://github.com/rmosolgo/graphql-ruby) | `2.5.9` | `2.5.14` |\n| [amazing_print](https://github.com/amazing-print/amazing_print) | `1.8.1` | `2.0.0` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.1` | `8.0.2` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.5.0` | `6.5.1` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.33.0` | `4.35.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.0.2` | `7.1.0` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.32.0` | `2.33.4` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.0` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.7.0` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.8.1` |\n| [rspec-sidekiq](https://github.com/wspurgin/rspec-sidekiq) | `5.1.0` | `5.2.0` |\n| [database_cleaner-active_record](https://github.com/DatabaseCleaner/database_cleaner-active_record) | `2.2.1` | `2.2.2` |\n\n\nUpdates `rails` from 8.0.2 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...v8.0.3\"\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 `redis` from 5.4.0 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-rb/blob/master/CHANGELOG.md\"\u003eredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.4.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly handle NOSCRIPT errors.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/6784a3204be44d4ca7891a901295e4a4007a13a5\"\u003e\u003ccode\u003e6784a32\u003c/code\u003e\u003c/a\u003e Release 5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/c205a8c7f22a3d387cb3cf9a8816e7a32f748c5c\"\u003e\u003ccode\u003ec205a8c\u003c/code\u003e\u003c/a\u003e Require redis-client earlier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/16c78555caeb580ab6c5365f8979259faab3142d\"\u003e\u003ccode\u003e16c7855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1312\"\u003e#1312\u003c/a\u003e from redis/translate-ensure-connected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/08a3290ea65214e2af09d456dc0439082362782f\"\u003e\u003ccode\u003e08a3290\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ewithout_reconnect\u003c/code\u003e to wrap redis-client exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/8408c0365b72b4c655a95af7934d2fad50d2d33c\"\u003e\u003ccode\u003e8408c03\u003c/code\u003e\u003c/a\u003e Update redis release URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/317a0204d8361927757117845f825b42c26fac14\"\u003e\u003ccode\u003e317a020\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1311\"\u003e#1311\u003c/a\u003e from redis/specialize-evalsha-noscript-error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/d9f004fa08886309c3b4068488e057801786f836\"\u003e\u003ccode\u003ed9f004f\u003c/code\u003e\u003c/a\u003e Fix a mistake in test_hrandfield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/57c79c2b7ccbf46d6964cc5104d52f41911e70fe\"\u003e\u003ccode\u003e57c79c2\u003c/code\u003e\u003c/a\u003e Handle RedisClient::NoScriptError\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/redis-rb/compare/v5.4.0...v5.4.1\"\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.0 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.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove sleep cluster logic to its own class by \u003ca href=\"https://github.com/schneems\"\u003e\u003ccode\u003e@​schneems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3746\"\u003epuma/puma#3746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3754\"\u003epuma/puma#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of header values by \u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL_shutdown error handling by \u003ca href=\"https://github.com/marshall-lee\"\u003e\u003ccode\u003e@​marshall-lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3703\"\u003epuma/puma#3703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\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.3...v7.0.4\"\u003ehttps://github.com/puma/puma/compare/v7.0.3...v7.0.4\u003c/a\u003e\u003c/p\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\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/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.0...v7.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pundit` from 2.5.0 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/varvet/pundit/blob/main/CHANGELOG.md\"\u003epundit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.2 (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003econfig/rubocop-rspec.yml\u003c/code\u003e back from accidentally being excluded \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.1 (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequiring only \u003ccode\u003epundit/rspec\u003c/code\u003e no longer raises an error in Active Support \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/857\"\u003e#857\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/varvet/pundit/commit/2d665d67a26f794987df926e49676948fe115289\"\u003e\u003ccode\u003e2d665d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/867\"\u003e#867\u003c/a\u003e from varvet/kbs/release-v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/7ff48a83790aef27bd89fa4da6a0a238599bca2d\"\u003e\u003ccode\u003e7ff48a8\u003c/code\u003e\u003c/a\u003e Bump to v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/674abac197c7ecc000fd25a4542344d38c998535\"\u003e\u003ccode\u003e674abac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e from varvet/kbs/add-rubocop-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/923eebf39ccd6f8095a5c4270953e7a19d6d16a6\"\u003e\u003ccode\u003e923eebf\u003c/code\u003e\u003c/a\u003e Point changelog to PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/47668502881e3abed7dd004ca19fa11d66b23b6f\"\u003e\u003ccode\u003e4766850\u003c/code\u003e\u003c/a\u003e Add rubocop config file back to gem release files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/27a840bedadf0ef3d66f1857edd966c2e01cc18e\"\u003e\u003ccode\u003e27a840b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/863\"\u003e#863\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/381b202dd2e11c5eb0ea1134d29f85331a01d643\"\u003e\u003ccode\u003e381b202\u003c/code\u003e\u003c/a\u003e +3.4 -3.1 (EOL)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/4bb6a67819572bd9431d30048fbab4c9685cfbf2\"\u003e\u003ccode\u003e4bb6a67\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/862\"\u003e#862\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/6ceca0d2ab84d2240e6422e7b14d208ad10e3304\"\u003e\u003ccode\u003e6ceca0d\u003c/code\u003e\u003c/a\u003e Attempt code quality upload to qlty.sh instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/82d918a4c4c4ab393f662a32e94028d6b086285d\"\u003e\u003ccode\u003e82d918a\u003c/code\u003e\u003c/a\u003e Bump to v2.5.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/varvet/pundit/compare/v2.5.0...v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--inline\u003c/code\u003e generator option now generates inline template. Use \u003ccode\u003e--call\u003c/code\u003e to generate \u003ccode\u003e#call\u003c/code\u003e method.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4bbea1caaec79c15c1d98cf4f7fb31d5c22aa7b7\"\u003e\u003ccode\u003e4bbea1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2430\"\u003e#2430\u003c/a\u003e from ViewComponent/release-4-0-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b1ab0d398c15048458facf469104daebc4faa40a\"\u003e\u003ccode\u003eb1ab0d3\u003c/code\u003e\u003c/a\u003e Update lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/408e8d3572f8074644924c5c10ce1515ff4fda6a\"\u003e\u003ccode\u003e408e8d3\u003c/code\u003e\u003c/a\u003e release 4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/26c2798c52de1b9051e98ee3553aa0e97c12e7f0\"\u003e\u003ccode\u003e26c2798\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2410\"\u003e#2410\u003c/a\u003e from ViewComponent/shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/851b096eb79e28bc69d789e82339f17ed405b8e0\"\u003e\u003ccode\u003e851b096\u003c/code\u003e\u003c/a\u003e Merge branch 'shared_view_context_in_test_helpers' of github.com:ViewComponen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f3df76539705e7800b45b9776cd44ca818a11cec\"\u003e\u003ccode\u003ef3df765\u003c/code\u003e\u003c/a\u003e Fix build for ruby HEAD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/69f3fd7a094be6c3ffe0e8efa28c4dfa4801048e\"\u003e\u003ccode\u003e69f3fd7\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/a755f3ccd7b32010470c2e8e5bdb3489205478b3\"\u003e\u003ccode\u003ea755f3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2424\"\u003e#2424\u003c/a\u003e from ViewComponent/fix_partial_with_yield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/bc7f8b45080fc1d6792cd5d9d1fef58ab5c9a764\"\u003e\u003ccode\u003ebc7f8b4\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2cefa9c018ab4b2f43c47e0a84b0c12c51aa81b\"\u003e\u003ccode\u003ee2cefa9\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pagy` from 9.3.4 to 9.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ddnexus/pagy/releases\"\u003epagy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003e🚀 Try the upcoming v43! 🚀\u003c/h3\u003e\n\u003cp\u003ePagy is about to leap to the next level.\u003c/p\u003e\n\u003cp\u003eTry the new \u003ca href=\"https://ddnexus.github.io/pagy-pre\"\u003ev43.0.0.rc*\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eLeave your comments in the \u003ca href=\"https://github.com/ddnexus/pagy/discussions/categories/version-43\"\u003eVersion 43 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e✴ What's new in 9.0+ ✴\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWicked-fast \u003ca href=\"https://ddnexus.github.io/pagy/docs/api/keyset/\"\u003eKeyset Pagination\u003c/a\u003e for big data! It works with \u003ccode\u003eActiveRecord::Relation\u003c/code\u003e and \u003ccode\u003eSequel::Dataset\u003c/code\u003e sets.\u003c/li\u003e\n\u003cli\u003eMore \u003ca href=\"https://ddnexus.github.io/pagy/playground/\"\u003ePlayground Apps\u003c/a\u003e to showcase, clone and develop pagy APPs without any setup on your side\u003c/li\u003e\n\u003cli\u003eLots of refactorings and optimizations\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eChangelog\u003c/a\u003e for possible breaking changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eChanges in 9.4.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eCHANGELOG\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/ddnexus/pagy/blob/master/CHANGELOG.md\"\u003epagy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 9.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix clone command (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/770\"\u003e#770\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/ddnexus/pagy/commit/2f042985a6dc608280a4ea85b9dda28ba5e1e82d\"\u003e\u003ccode\u003e2f04298\u003c/code\u003e\u003c/a\u003e Merge dev-9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/817c03481cf7d8cd31f457e7ca0e61bbe7bfbc8f\"\u003e\u003ccode\u003e817c034\u003c/code\u003e\u003c/a\u003e Announce v43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ddf4c7d42bd3fbf98166cab7412b4e51acda8f49\"\u003e\u003ccode\u003eddf4c7d\u003c/code\u003e\u003c/a\u003e Version 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cc74dbfd8a029fa9336b08cb1f69445d15c75d38\"\u003e\u003ccode\u003ecc74dbf\u003c/code\u003e\u003c/a\u003e Update aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/72f268a46381f14049f8b1b38a2f2f67a21fb400\"\u003e\u003ccode\u003e72f268a\u003c/code\u003e\u003c/a\u003e Add v43 banner in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/6aa3774dfa1a34aacdf0abdbd4be6afe149464f4\"\u003e\u003ccode\u003e6aa3774\u003c/code\u003e\u003c/a\u003e Add Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/7f1b018822c791ba11feefd57a062e6beb0a4280\"\u003e\u003ccode\u003e7f1b018\u003c/code\u003e\u003c/a\u003e Fix CI syntax in create-release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/f746c32fd416b519d77f17b7a6512a12dcec1d35\"\u003e\u003ccode\u003ef746c32\u003c/code\u003e\u003c/a\u003e Merge branch 'dev-9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cd0033cbbd0b6213e8661bb055ccd69f38e010f3\"\u003e\u003ccode\u003ecd0033c\u003c/code\u003e\u003c/a\u003e Version 9.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ea2ad530493420d90d146bdd6bfe0710f77fd498\"\u003e\u003ccode\u003eea2ad53\u003c/code\u003e\u003c/a\u003e fix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ddnexus/pagy/compare/9.3.4...9.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.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 `solid_cable` from 3.0.11 to 3.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/solid_cable/releases\"\u003esolid_cable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.0.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDont broadcast message in compute_if_present to avoid race condition by \u003ca href=\"https://github.com/npezza93\"\u003e\u003ccode\u003e@​npezza93\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/solid_cable/pull/72\"\u003erails/solid_cable#72\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/solid_cable/compare/v3.0.11...v3.0.12\"\u003ehttps://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\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/solid_cable/commit/c6c10aa8aea136e849e9e80fc8af47e5bf39409e\"\u003e\u003ccode\u003ec6c10aa\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/solid_cable/commit/e5d73f5b1720150d2acbcd5fe69c4cf2d66d5043\"\u003e\u003ccode\u003ee5d73f5\u003c/code\u003e\u003c/a\u003e Dont broadcast message in compute_if_present to avoid race condition (\u003ca href=\"https://redirect.github.com/rails/solid_cable/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.4 to 8.0.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.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.\nCSRF code will be removed in Sidekiq 9.0. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6739\"\u003e#6739\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/sidekiq/sidekiq/commit/96f867cb58b7fa0a6a832af1a732a339aa0eb61f\"\u003e\u003ccode\u003e96f867c\u003c/code\u003e\u003c/a\u003e Use community gem server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/bfc4b8d9ea03e2b5071059fdd994ba26ef6354b3\"\u003e\u003ccode\u003ebfc4b8d\u003c/code\u003e\u003c/a\u003e Adjust loader API to be thread-safe and account for errors (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6826\"\u003e#6826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/042f1eb022b789e6e50899558355b5a0d18651a8\"\u003e\u003ccode\u003e042f1eb\u003c/code\u003e\u003c/a\u003e Add ability to extend sidekiq/api when it is loaded (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6825\"\u003e#6825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0f150827ac8816dff369ff7bcc9635f95922d23f\"\u003e\u003ccode\u003e0f15082\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/fa920aa0dd0c2236e4fd14283c754445e3f609fa\"\u003e\u003ccode\u003efa920aa\u003c/code\u003e\u003c/a\u003e Update restricted uses section in COMM-LICENSE.txt (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6821\"\u003e#6821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/9421c205f2b3e7e25c22bed2e218592b42e40eff\"\u003e\u003ccode\u003e9421c20\u003c/code\u003e\u003c/a\u003e Track discarded_at in job payload when job is discarded. (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6820\"\u003e#6820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/5981d1ab16a2d4f0886abc336c3a426815440242\"\u003e\u003ccode\u003e5981d1a\u003c/code\u003e\u003c/a\u003e Allow to configure max job runtime for iterable jobs (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6819\"\u003e#6819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/d6395641571eba33050d34526bf93bed92504d4d\"\u003e\u003ccode\u003ed639564\u003c/code\u003e\u003c/a\u003e doc(recent changes), bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/0b0b282e878025379de89589aefe5e7e3d627700\"\u003e\u003ccode\u003e0b0b282\u003c/code\u003e\u003c/a\u003e remove outdated comment, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6806\"\u003e#6806\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/61e27d20b1ed62f203eee6ae2b549f2e53db14c9\"\u003e\u003ccode\u003e61e27d2\u003c/code\u003e\u003c/a\u003e Handle ActiveSupport::Logger.broadcast deprication (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6802\"\u003e#6802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.4...v8.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq-cron` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/releases\"\u003esidekiq-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some Ruby warnings by \u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/561\"\u003esidekiq-cron/sidekiq-cron#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web ui by \u003ca href=\"https://github.com/tonyciou\"\u003e\u003ccode\u003e@​tonyciou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.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/sidekiq-cron/sidekiq-cron/blob/master/CHANGELOG.md\"\u003esidekiq-cron's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\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/sidekiq-cron/sidekiq-cron/commit/8c25ca29f5259cdd5a29fe8f38434eff1445dbb7\"\u003e\u003ccode\u003e8c25ca2\u003c/code\u003e\u003c/a\u003e Prepare new release v2.3.1 🚀\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/d351305988e5ac990dcf698604e1f5f7cf2e2821\"\u003e\u003ccode\u003ed351305\u003c/code\u003e\u003c/a\u003e Fix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/16953cd91608fa04ef02c6b3dcdeff34c41eca4c\"\u003e\u003ccode\u003e16953cd\u003c/code\u003e\u003c/a\u003e Fix some Ruby warnings (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.190.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 `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...\n\n_Description has been truncated_","html_url":"https://github.com/alexeyramazanov/base_app/pull/91","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyramazanov%2Fbase_app/issues/91","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/91/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:57:05.000Z","version_change":"1.0.4 → 1.1.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.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:56:46.000Z","version_change":"1.0.4 → 1.1.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.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:49:39.000Z","version_change":"1.0.4 → 1.1.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.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:10:36.000Z","version_change":"1.0.4 → 1.1.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.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T15:10:31.000Z","version_change":"1.0.4 → 1.1.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.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-07T14:58:21.000Z","version_change":"1.0.4 → 1.1.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.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-06T04:05:19.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"2888748363","node_id":"PR_kwDOA4nnZM6sLs1L","number":90,"state":"open","title":"Bump the bundler group across 1 directory with 26 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-06T04:05:19.000Z","updated_at":"2025-10-06T04:05:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":26,"packages":[{"name":"rails","old_version":"8.0.2","new_version":"8.0.3","repository_url":"https://github.com/rails/rails"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"redis","old_version":"5.4.0","new_version":"5.4.1","repository_url":"https://github.com/redis/redis-rb"},{"name":"puma","old_version":"6.6.0","new_version":"7.0.4","repository_url":"https://github.com/puma/puma"},{"name":"pundit","old_version":"2.5.0","new_version":"2.5.2","repository_url":"https://github.com/varvet/pundit"},{"name":"view_component","old_version":"3.23.2","new_version":"4.0.2","repository_url":"https://github.com/viewcomponent/view_component"},{"name":"pagy","old_version":"9.3.4","new_version":"9.4.0","repository_url":"https://github.com/ddnexus/pagy"},{"name":"turbo-rails","old_version":"2.0.16","new_version":"2.0.17","repository_url":"https://github.com/hotwired/turbo-rails"},{"name":"solid_cable","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/rails/solid_cable"},{"name":"sidekiq","old_version":"8.0.4","new_version":"8.0.7","repository_url":"https://github.com/sidekiq/sidekiq"},{"name":"sidekiq-cron","old_version":"2.3.0","new_version":"2.3.1","repository_url":"https://github.com/ondrejbartas/sidekiq-cron"},{"name":"aws-sdk-s3","old_version":"1.190.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"thruster","old_version":"0.1.14","new_version":"0.1.15","repository_url":"https://github.com/basecamp/thruster"},{"name":"grape-swagger-entity","old_version":"0.6.2","new_version":"0.7.0","repository_url":"https://github.com/ruby-grape/grape-swagger-entity"},{"name":"graphql","old_version":"2.5.9","new_version":"2.5.13","repository_url":"https://github.com/rmosolgo/graphql-ruby"},{"name":"rspec-rails","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/rspec/rspec-rails"},{"name":"factory_bot_rails","old_version":"6.5.0","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"selenium-webdriver","old_version":"4.33.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"brakeman","old_version":"7.0.2","new_version":"7.1.0","repository_url":"https://github.com/presidentbeef/brakeman"},{"name":"rubocop-rails","old_version":"2.32.0","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-performance","old_version":"1.25.0","new_version":"1.26.0","repository_url":"https://github.com/rubocop/rubocop-performance"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"vernier","old_version":"1.8.0","new_version":"1.8.1","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"rspec-sidekiq","old_version":"5.1.0","new_version":"5.2.0","repository_url":"https://github.com/wspurgin/rspec-sidekiq"},{"name":"database_cleaner-active_record","old_version":"2.2.1","new_version":"2.2.2","repository_url":"https://github.com/DatabaseCleaner/database_cleaner-active_record"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rails](https://github.com/rails/rails) | `8.0.2` | `8.0.3` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [redis](https://github.com/redis/redis-rb) | `5.4.0` | `5.4.1` |\n| [puma](https://github.com/puma/puma) | `6.6.0` | `7.0.4` |\n| [pundit](https://github.com/varvet/pundit) | `2.5.0` | `2.5.2` |\n| [view_component](https://github.com/viewcomponent/view_component) | `3.23.2` | `4.0.2` |\n| [pagy](https://github.com/ddnexus/pagy) | `9.3.4` | `9.4.0` |\n| [turbo-rails](https://github.com/hotwired/turbo-rails) | `2.0.16` | `2.0.17` |\n| [solid_cable](https://github.com/rails/solid_cable) | `3.0.11` | `3.0.12` |\n| [sidekiq](https://github.com/sidekiq/sidekiq) | `8.0.4` | `8.0.7` |\n| [sidekiq-cron](https://github.com/ondrejbartas/sidekiq-cron) | `2.3.0` | `2.3.1` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.190.0` | `1.199.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [thruster](https://github.com/basecamp/thruster) | `0.1.14` | `0.1.15` |\n| [grape-swagger-entity](https://github.com/ruby-grape/grape-swagger-entity) | `0.6.2` | `0.7.0` |\n| [graphql](https://github.com/rmosolgo/graphql-ruby) | `2.5.9` | `2.5.13` |\n| [rspec-rails](https://github.com/rspec/rspec-rails) | `8.0.1` | `8.0.2` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.5.0` | `6.5.1` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.33.0` | `4.35.0` |\n| [brakeman](https://github.com/presidentbeef/brakeman) | `7.0.2` | `7.1.0` |\n| [rubocop-rails](https://github.com/rubocop/rubocop-rails) | `2.32.0` | `2.33.4` |\n| [rubocop-performance](https://github.com/rubocop/rubocop-performance) | `1.25.0` | `1.26.0` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.7.0` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.8.0` | `1.8.1` |\n| [rspec-sidekiq](https://github.com/wspurgin/rspec-sidekiq) | `5.1.0` | `5.2.0` |\n| [database_cleaner-active_record](https://github.com/DatabaseCleaner/database_cleaner-active_record) | `2.2.1` | `2.2.2` |\n\n\nUpdates `rails` from 8.0.2 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...v8.0.3\"\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 `redis` from 5.4.0 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/redis/redis-rb/blob/master/CHANGELOG.md\"\u003eredis's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.4.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eProperly handle NOSCRIPT errors.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/6784a3204be44d4ca7891a901295e4a4007a13a5\"\u003e\u003ccode\u003e6784a32\u003c/code\u003e\u003c/a\u003e Release 5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/c205a8c7f22a3d387cb3cf9a8816e7a32f748c5c\"\u003e\u003ccode\u003ec205a8c\u003c/code\u003e\u003c/a\u003e Require redis-client earlier\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/16c78555caeb580ab6c5365f8979259faab3142d\"\u003e\u003ccode\u003e16c7855\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1312\"\u003e#1312\u003c/a\u003e from redis/translate-ensure-connected\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/08a3290ea65214e2af09d456dc0439082362782f\"\u003e\u003ccode\u003e08a3290\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ewithout_reconnect\u003c/code\u003e to wrap redis-client exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/8408c0365b72b4c655a95af7934d2fad50d2d33c\"\u003e\u003ccode\u003e8408c03\u003c/code\u003e\u003c/a\u003e Update redis release URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/317a0204d8361927757117845f825b42c26fac14\"\u003e\u003ccode\u003e317a020\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/redis/redis-rb/issues/1311\"\u003e#1311\u003c/a\u003e from redis/specialize-evalsha-noscript-error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/d9f004fa08886309c3b4068488e057801786f836\"\u003e\u003ccode\u003ed9f004f\u003c/code\u003e\u003c/a\u003e Fix a mistake in test_hrandfield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/redis/redis-rb/commit/57c79c2b7ccbf46d6964cc5104d52f41911e70fe\"\u003e\u003ccode\u003e57c79c2\u003c/code\u003e\u003c/a\u003e Handle RedisClient::NoScriptError\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/redis/redis-rb/compare/v5.4.0...v5.4.1\"\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.0 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.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove sleep cluster logic to its own class by \u003ca href=\"https://github.com/schneems\"\u003e\u003ccode\u003e@​schneems\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3746\"\u003epuma/puma#3746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epuma_http11.c: Use interned UTF-8 strings for hash keys by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3754\"\u003epuma/puma#3754\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStrip whitespace from the beginnings of header values by \u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSL_shutdown error handling by \u003ca href=\"https://github.com/marshall-lee\"\u003e\u003ccode\u003e@​marshall-lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3703\"\u003epuma/puma#3703\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kenballus\"\u003e\u003ccode\u003e@​kenballus\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/puma/puma/pull/3742\"\u003epuma/puma#3742\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.3...v7.0.4\"\u003ehttps://github.com/puma/puma/compare/v7.0.3...v7.0.4\u003c/a\u003e\u003c/p\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\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/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.0...v7.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pundit` from 2.5.0 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/varvet/pundit/blob/main/CHANGELOG.md\"\u003epundit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.5.2 (2025-09-24)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003econfig/rubocop-rspec.yml\u003c/code\u003e back from accidentally being excluded \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.5.1 (2025-09-12)\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequiring only \u003ccode\u003epundit/rspec\u003c/code\u003e no longer raises an error in Active Support \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/857\"\u003e#857\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/varvet/pundit/commit/2d665d67a26f794987df926e49676948fe115289\"\u003e\u003ccode\u003e2d665d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/867\"\u003e#867\u003c/a\u003e from varvet/kbs/release-v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/7ff48a83790aef27bd89fa4da6a0a238599bca2d\"\u003e\u003ccode\u003e7ff48a8\u003c/code\u003e\u003c/a\u003e Bump to v2.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/674abac197c7ecc000fd25a4542344d38c998535\"\u003e\u003ccode\u003e674abac\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/866\"\u003e#866\u003c/a\u003e from varvet/kbs/add-rubocop-back\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/923eebf39ccd6f8095a5c4270953e7a19d6d16a6\"\u003e\u003ccode\u003e923eebf\u003c/code\u003e\u003c/a\u003e Point changelog to PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/47668502881e3abed7dd004ca19fa11d66b23b6f\"\u003e\u003ccode\u003e4766850\u003c/code\u003e\u003c/a\u003e Add rubocop config file back to gem release files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/27a840bedadf0ef3d66f1857edd966c2e01cc18e\"\u003e\u003ccode\u003e27a840b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/863\"\u003e#863\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/381b202dd2e11c5eb0ea1134d29f85331a01d643\"\u003e\u003ccode\u003e381b202\u003c/code\u003e\u003c/a\u003e +3.4 -3.1 (EOL)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/4bb6a67819572bd9431d30048fbab4c9685cfbf2\"\u003e\u003ccode\u003e4bb6a67\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/varvet/pundit/issues/862\"\u003e#862\u003c/a\u003e from varvet/kbs/fix-build-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/6ceca0d2ab84d2240e6422e7b14d208ad10e3304\"\u003e\u003ccode\u003e6ceca0d\u003c/code\u003e\u003c/a\u003e Attempt code quality upload to qlty.sh instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/varvet/pundit/commit/82d918a4c4c4ab393f662a32e94028d6b086285d\"\u003e\u003ccode\u003e82d918a\u003c/code\u003e\u003c/a\u003e Bump to v2.5.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/varvet/pundit/compare/v2.5.0...v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `view_component` from 3.23.2 to 4.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viewcomponent/view_component/releases\"\u003eview_component's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix double rendering issue for partials that yield by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2424\"\u003eViewComponent/view_component#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShare the view context in tests by \u003ca href=\"https://github.com/camertron\"\u003e\u003ccode\u003e@​camertron\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ViewComponent/view_component/pull/2410\"\u003eViewComponent/view_component#2410\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\"\u003ehttps://github.com/ViewComponent/view_component/compare/v4.0.1...v4.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--inline\u003c/code\u003e generator option now generates inline template. Use \u003ccode\u003e--call\u003c/code\u003e to generate \u003ccode\u003e#call\u003c/code\u003e method.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ViewComponent/view_component/blob/main/docs/CHANGELOG.md\"\u003eview_component's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eShare the view context in tests to prevent out-of-order rendering issues for certain advanced use-cases, eg. testing instances of Rails' \u003ccode\u003eFormBuilder\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix double rendering issue for partials that yield.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSetup Trusted Publishing to RubyGems to improve software supply chain safety.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Lemuet\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConditionally add the \u003ccode\u003eViewComponent::Base#format\u003c/code\u003e method back for Rails 7.1 only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCompute and check lockfiles into source control.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eConstrain Rails versions in gemfiles to only allow the patch version to vary, eg. \u003ccode\u003e~\u0026gt; 7.1.0\u003c/code\u003e instead of \u003ccode\u003e~\u0026gt; 7.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eCameron Dutro\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0.0\u003c/h2\u003e\n\u003cp\u003eTwo years after releasing \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v3.0.0\"\u003e3.0.0\u003c/a\u003e and almost six years since \u003ca href=\"https://github.com/ViewComponent/view_component/releases/tag/v1.0.0\"\u003e1.0.0\u003c/a\u003e, we're proud to ship ViewComponent 4. This release marks a shift towards a Long Term Support model for the project, having reached significant feature maturity. While contributions are always welcome, we're unlikely to accept further breaking changes or major feature additions.\u003c/p\u003e\n\u003cp\u003ePlease report any issues at \u003ca href=\"https://github.com/ViewComponent/view_component/issues\"\u003ehttps://github.com/ViewComponent/view_component/issues\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eBreaking changes (production)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemove dependency on \u003ccode\u003eActionView::Base\u003c/code\u003e, eliminating the need for capture compatibility patch. In some edge cases, this change may require switching to use the \u003ccode\u003ehelpers.\u003c/code\u003e proxy.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRequire \u003ca href=\"https://endoflife.date/rails\"\u003enon-EOL\u003c/a\u003e Rails (\u003ccode\u003e\u0026gt;= 7.1.0\u003c/code\u003e) and Ruby (\u003ccode\u003e\u0026gt;= 3.2.0\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003erender_component\u003c/code\u003e and \u003ccode\u003erender\u003c/code\u003e monkey patch configured with \u003ccode\u003erender_monkey_patch_enabled\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove deprecated \u003ccode\u003euse_helper(s)\u003c/code\u003e. Use \u003ccode\u003einclude MyHelper\u003c/code\u003e or \u003ccode\u003ehelpers.\u003c/code\u003e proxy instead.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSupport compatibility with \u003ccode\u003eDry::Initializer\u003c/code\u003e. As a result, \u003ccode\u003eEmptyOrInvalidInitializerError\u003c/code\u003e will no longer be raised.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove default initializer from \u003ccode\u003eViewComponent::Base\u003c/code\u003e. Previously, \u003ccode\u003eViewComponent::Base\u003c/code\u003e defined a catch-all initializer that allowed components without an initializer defined to be passed arbitrary arguments.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove \u003ccode\u003euse_deprecated_instrumentation_name\u003c/code\u003e configuration option. Events will always use \u003ccode\u003erender.view_component\u003c/code\u003e name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove unnecessary \u003ccode\u003e#format\u003c/code\u003e methods that returned \u003ccode\u003enil\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove support for variant names containing \u003ccode\u003e.\u003c/code\u003e to be consistent with Rails.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRename internal methods to have \u003ccode\u003e__vc_\u003c/code\u003e prefix if they shouldn't be used by consumers. Make internal constants private. Make \u003ccode\u003eCollection#components\u003c/code\u003e, \u003ccode\u003eSlotable#register_polymorphic_slot\u003c/code\u003e private. Remove unused \u003ccode\u003eComponentError\u003c/code\u003e class.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse ActionView's \u003ccode\u003elookup_context\u003c/code\u003e for picking templates instead of the request format.\u003c/p\u003e\n\u003cp\u003e3.15 added support for using templates that match the request format, that is if \u003ccode\u003e/resource.csv\u003c/code\u003e is requested then\nViewComponents would pick \u003ccode\u003e_component.csv.erb\u003c/code\u003e over \u003ccode\u003e_component.html.erb\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eWith this release, the request format is no longer considered and instead ViewComponent will use the Rails logic for picking the most appropriate template type, that is the csv template will be used if it matches the \u003ccode\u003eAccept\u003c/code\u003e header or because the controller uses a \u003ccode\u003erespond_to\u003c/code\u003e block to pick the response format.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes (dev/test)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003econfig.view_component.test_controller\u003c/code\u003e in favor of \u003ccode\u003evc_test_controller_class\u003c/code\u003e test helper method.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.component_parent_class\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.parent_class\u003c/code\u003e, moving the generator-specific option to the generator configuration namespace.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econfig.view_component.view_component_path\u003c/code\u003e is now \u003ccode\u003econfig.view_component.generate.path\u003c/code\u003e, as components have long since been able to exist in any directory.\u003c/li\u003e\n\u003cli\u003eMove previews-related configuration (\u003ccode\u003eenabled\u003c/code\u003e, \u003ccode\u003eroute\u003c/code\u003e, \u003ccode\u003epaths\u003c/code\u003e, \u003ccode\u003edefault_layout\u003c/code\u003e, \u003ccode\u003econtroller\u003c/code\u003e) to under \u003ccode\u003epreviews\u003c/code\u003e namespace.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/4bbea1caaec79c15c1d98cf4f7fb31d5c22aa7b7\"\u003e\u003ccode\u003e4bbea1c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2430\"\u003e#2430\u003c/a\u003e from ViewComponent/release-4-0-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/b1ab0d398c15048458facf469104daebc4faa40a\"\u003e\u003ccode\u003eb1ab0d3\u003c/code\u003e\u003c/a\u003e Update lockfiles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/408e8d3572f8074644924c5c10ce1515ff4fda6a\"\u003e\u003ccode\u003e408e8d3\u003c/code\u003e\u003c/a\u003e release 4.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/26c2798c52de1b9051e98ee3553aa0e97c12e7f0\"\u003e\u003ccode\u003e26c2798\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2410\"\u003e#2410\u003c/a\u003e from ViewComponent/shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/851b096eb79e28bc69d789e82339f17ed405b8e0\"\u003e\u003ccode\u003e851b096\u003c/code\u003e\u003c/a\u003e Merge branch 'shared_view_context_in_test_helpers' of github.com:ViewComponen...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/f3df76539705e7800b45b9776cd44ca818a11cec\"\u003e\u003ccode\u003ef3df765\u003c/code\u003e\u003c/a\u003e Fix build for ruby HEAD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/69f3fd7a094be6c3ffe0e8efa28c4dfa4801048e\"\u003e\u003ccode\u003e69f3fd7\u003c/code\u003e\u003c/a\u003e Merge branch 'main' into shared_view_context_in_test_helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/a755f3ccd7b32010470c2e8e5bdb3489205478b3\"\u003e\u003ccode\u003ea755f3c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viewcomponent/view_component/issues/2424\"\u003e#2424\u003c/a\u003e from ViewComponent/fix_partial_with_yield\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/bc7f8b45080fc1d6792cd5d9d1fef58ab5c9a764\"\u003e\u003ccode\u003ebc7f8b4\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ViewComponent/view_component/commit/e2cefa9c018ab4b2f43c47e0a84b0c12c51aa81b\"\u003e\u003ccode\u003ee2cefa9\u003c/code\u003e\u003c/a\u003e Woops, fix changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viewcomponent/view_component/compare/v3.23.2...v4.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pagy` from 9.3.4 to 9.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ddnexus/pagy/releases\"\u003epagy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003e🚀 Try the upcoming v43! 🚀\u003c/h3\u003e\n\u003cp\u003ePagy is about to leap to the next level.\u003c/p\u003e\n\u003cp\u003eTry the new \u003ca href=\"https://ddnexus.github.io/pagy-pre\"\u003ev43.0.0.rc*\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eLeave your comments in the \u003ca href=\"https://github.com/ddnexus/pagy/discussions/categories/version-43\"\u003eVersion 43 discussion\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e✴ What's new in 9.0+ ✴\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWicked-fast \u003ca href=\"https://ddnexus.github.io/pagy/docs/api/keyset/\"\u003eKeyset Pagination\u003c/a\u003e for big data! It works with \u003ccode\u003eActiveRecord::Relation\u003c/code\u003e and \u003ccode\u003eSequel::Dataset\u003c/code\u003e sets.\u003c/li\u003e\n\u003cli\u003eMore \u003ca href=\"https://ddnexus.github.io/pagy/playground/\"\u003ePlayground Apps\u003c/a\u003e to showcase, clone and develop pagy APPs without any setup on your side\u003c/li\u003e\n\u003cli\u003eLots of refactorings and optimizations\u003c/li\u003e\n\u003cli\u003eSee the \u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eChangelog\u003c/a\u003e for possible breaking changes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch3\u003eChanges in 9.4.0\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003ca href=\"https://ddnexus.github.io/pagy/changelog\"\u003eCHANGELOG\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/ddnexus/pagy/blob/master/CHANGELOG.md\"\u003epagy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 9.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 9.3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix clone command (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/770\"\u003e#770\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/ddnexus/pagy/commit/2f042985a6dc608280a4ea85b9dda28ba5e1e82d\"\u003e\u003ccode\u003e2f04298\u003c/code\u003e\u003c/a\u003e Merge dev-9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/817c03481cf7d8cd31f457e7ca0e61bbe7bfbc8f\"\u003e\u003ccode\u003e817c034\u003c/code\u003e\u003c/a\u003e Announce v43\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ddf4c7d42bd3fbf98166cab7412b4e51acda8f49\"\u003e\u003ccode\u003eddf4c7d\u003c/code\u003e\u003c/a\u003e Version 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cc74dbfd8a029fa9336b08cb1f69445d15c75d38\"\u003e\u003ccode\u003ecc74dbf\u003c/code\u003e\u003c/a\u003e Update aria translation for Tamil (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/72f268a46381f14049f8b1b38a2f2f67a21fb400\"\u003e\u003ccode\u003e72f268a\u003c/code\u003e\u003c/a\u003e Add v43 banner in README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/6aa3774dfa1a34aacdf0abdbd4be6afe149464f4\"\u003e\u003ccode\u003e6aa3774\u003c/code\u003e\u003c/a\u003e Add Slovak localization with west_slavic pluralization rules (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/787\"\u003e#787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/7f1b018822c791ba11feefd57a062e6beb0a4280\"\u003e\u003ccode\u003e7f1b018\u003c/code\u003e\u003c/a\u003e Fix CI syntax in create-release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/f746c32fd416b519d77f17b7a6512a12dcec1d35\"\u003e\u003ccode\u003ef746c32\u003c/code\u003e\u003c/a\u003e Merge branch 'dev-9'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/cd0033cbbd0b6213e8661bb055ccd69f38e010f3\"\u003e\u003ccode\u003ecd0033c\u003c/code\u003e\u003c/a\u003e Version 9.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ddnexus/pagy/commit/ea2ad530493420d90d146bdd6bfe0710f77fd498\"\u003e\u003ccode\u003eea2ad53\u003c/code\u003e\u003c/a\u003e fix quoted identifiers in keyset (\u003ca href=\"https://redirect.github.com/ddnexus/pagy/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ddnexus/pagy/compare/9.3.4...9.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo-rails` from 2.0.16 to 2.0.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 `solid_cable` from 3.0.11 to 3.0.12\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/solid_cable/releases\"\u003esolid_cable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.0.12\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDont broadcast message in compute_if_present to avoid race condition by \u003ca href=\"https://github.com/npezza93\"\u003e\u003ccode\u003e@​npezza93\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/rails/solid_cable/pull/72\"\u003erails/solid_cable#72\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/solid_cable/compare/v3.0.11...v3.0.12\"\u003ehttps://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\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/solid_cable/commit/c6c10aa8aea136e849e9e80fc8af47e5bf39409e\"\u003e\u003ccode\u003ec6c10aa\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/solid_cable/commit/e5d73f5b1720150d2acbcd5fe69c4cf2d66d5043\"\u003e\u003ccode\u003ee5d73f5\u003c/code\u003e\u003c/a\u003e Dont broadcast message in compute_if_present to avoid race condition (\u003ca href=\"https://redirect.github.com/rails/solid_cable/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/solid_cable/compare/v3.0.11...v3.0.12\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq` from 8.0.4 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sidekiq/sidekiq/blob/main/Changes.md\"\u003esidekiq's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.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.\nCSRF code will be removed in Sidekiq 9.0. \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6739\"\u003e#6739\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/sidekiq/sidekiq/commit/4ef6d726707cdaa516ddebe649684fd1b2482903\"\u003e\u003ccode\u003e4ef6d72\u003c/code\u003e\u003c/a\u003e 8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/35a6a0206952116679a4c5794cbd2ae0c313054c\"\u003e\u003ccode\u003e35a6a02\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/43c59dd85474435af23b196f20f8ff274a7ba4fd\"\u003e\u003ccode\u003e43c59dd\u003c/code\u003e\u003c/a\u003e Always run death handlers for :discard, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/573448b7e16f334fcbf4763ead081704f5d55479\"\u003e\u003ccode\u003e573448b\u003c/code\u003e\u003c/a\u003e :discard should call death handlers, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6741\"\u003e#6741\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/c398c2646e14944127d0094a27729720503971bd\"\u003e\u003ccode\u003ec398c26\u003c/code\u003e\u003c/a\u003e bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/73525d341ce4704627ba4e2bb89f569726b4f449\"\u003e\u003ccode\u003e73525d3\u003c/code\u003e\u003c/a\u003e Provide a Plain log formatter which disables colorized output, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6778\"\u003e#6778\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/506ca55b2c7b1be3ce2f104f5df9854d8212d42e\"\u003e\u003ccode\u003e506ca55\u003c/code\u003e\u003c/a\u003e Update uk.yml to be more polite (\u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6776\"\u003e#6776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/54ad22363358c47b3cfc5eef56ce632914360832\"\u003e\u003ccode\u003e54ad223\u003c/code\u003e\u003c/a\u003e Add current_object to expose iterated object to around_iteration callback, fi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/55cb762577c5d9b2b515f178cf8cc1816d611bf7\"\u003e\u003ccode\u003e55cb762\u003c/code\u003e\u003c/a\u003e doc(changes)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq/sidekiq/commit/3f5cb77f954e91a1bf9306499725b22733c24298\"\u003e\u003ccode\u003e3f5cb77\u003c/code\u003e\u003c/a\u003e remove executable bit, fixes \u003ca href=\"https://redirect.github.com/sidekiq/sidekiq/issues/6773\"\u003e#6773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sidekiq/sidekiq/compare/v8.0.4...v8.0.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sidekiq-cron` from 2.3.0 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/releases\"\u003esidekiq-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix some Ruby warnings by \u003ca href=\"https://github.com/viralpraxis\"\u003e\u003ccode\u003e@​viralpraxis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/561\"\u003esidekiq-cron/sidekiq-cron#561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web ui by \u003ca href=\"https://github.com/tonyciou\"\u003e\u003ccode\u003e@​tonyciou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ehttps://github.com/sidekiq-cron/sidekiq-cron/compare/v2.3.0...v2.3.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/sidekiq-cron/sidekiq-cron/blob/master/CHANGELOG.md\"\u003esidekiq-cron's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/sidekiq-cron/sidekiq-cron/pull/564\"\u003esidekiq-cron/sidekiq-cron#564\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/sidekiq-cron/sidekiq-cron/commit/8c25ca29f5259cdd5a29fe8f38434eff1445dbb7\"\u003e\u003ccode\u003e8c25ca2\u003c/code\u003e\u003c/a\u003e Prepare new release v2.3.1 🚀\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/d351305988e5ac990dcf698604e1f5f7cf2e2821\"\u003e\u003ccode\u003ed351305\u003c/code\u003e\u003c/a\u003e Fix manually launch enqueue job not working from web UI (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidekiq-cron/sidekiq-cron/commit/16953cd91608fa04ef02c6b3dcdeff34c41eca4c\"\u003e\u003ccode\u003e16953cd\u003c/code\u003e\u003c/a\u003e Fix some Ruby warnings (\u003ca href=\"https://redirect.github.com/ondrejbartas/sidekiq-cron/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ondrejbartas/sidekiq-cron/compare/v2.3.0...v2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `aws-sdk-s3` from 1.190.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 `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 `thruster` from 0.1.14 to 0.1.15\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/thruster/blob/main/CHANGELOG.md\"\u003ethruster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.15 / 2025-08-05\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure responses are flushable (preventing issues with SSE) (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/87\"\u003e#87\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd host to cache key (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/86\"\u003e#86\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd X-Request-Start header (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/85\"\u003e#85\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLOG_REQUESTS\u003c/code\u003e option to control request logging (\u003ca href=\"https://redirect.github.com/basecamp/thruster/issues/50\"\u003e#50\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/2f696b20de0effb8a29e4c281c38804941c884fc\"\u003e\u003ccode\u003e2f696b2\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/3ac7e5ca03b5d1a7d89adc27c71a1486fa5a22ec\"\u003e\u003ccode\u003e3ac7e5c\u003c/code\u003e\u003c/a\u003e Document \u003ccode\u003eLOG_REQUESTS\u003c/code\u003e in the \u003ccode\u003eREADME\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/thruster/commit/92f4ff63699e9dbb2a5bcf19f27f69d6e7ef48e0\"\u003e\u003ccode\u003e92f4ff6\u003c/code\u003e\u003c/a\u003e Merge...\n\n_Description has been truncated_","html_url":"https://github.com/alexeyramazanov/base_app/pull/90","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyramazanov%2Fbase_app/issues/90","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/90/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-01T23:19:26.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"2879976797","node_id":"PR_kwDOOyhfOs6rqPVd","number":9,"state":"closed","title":"⬆️ Bump marcel from 1.0.4 to 1.1.0","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-03T11:59:19.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T23:19:26.000Z","updated_at":"2025-10-03T11:59:19.000Z","time_to_close":131993,"merged_at":"2025-10-03T11:59:19.000Z","merged_by":"Pezmc","closed_by":null,"dependency_metadata":{"prefix":"⬆️ Bump","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/fetlife/hasher_matcher_actioner_api/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fetlife%2Fhasher_matcher_actioner_api/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-01T17:10:04.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"2879010706","node_id":"PR_kwDOAEOBTs6rmjeS","number":377,"state":"open","title":"Bump the bundler-all group across 1 directory with 61 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-01T17:10:04.000Z","updated_at":"2025-10-01T17:10:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-all","update_count":61,"packages":[{"name":"actioncable-enhanced-postgresql-adapter","old_version":"1.0.1","new_version":"1.0.2","repository_url":"https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter"},{"name":"aws-sdk-s3","old_version":"1.184.0","new_version":"1.199.1","repository_url":"https://github.com/aws/aws-sdk-ruby"},{"name":"bootsnap","old_version":"1.18.4","new_version":"1.18.6","repository_url":"https://github.com/Shopify/bootsnap"},{"name":"chartkick","old_version":"5.1.5","new_version":"5.2.0","repository_url":"https://github.com/ankane/chartkick"},{"name":"factory_bot_rails","old_version":"6.4.4","new_version":"6.5.1","repository_url":"https://github.com/thoughtbot/factory_bot_rails"},{"name":"faker","old_version":"3.5.1","new_version":"3.5.2","repository_url":"https://github.com/faker-ruby/faker"},{"name":"good_job","old_version":"4.10.0","new_version":"4.12.0","repository_url":"https://github.com/bensheldon/good_job"},{"name":"groupdate","old_version":"6.5.1","new_version":"6.7.0","repository_url":"https://github.com/ankane/groupdate"},{"name":"jbuilder","old_version":"2.13.0","new_version":"2.14.1","repository_url":"https://github.com/rails/jbuilder"},{"name":"pg","old_version":"1.5.9","new_version":"1.6.2","repository_url":"https://github.com/ged/ruby-pg"},{"name":"scenic","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/scenic-views/scenic"},{"name":"sentry-rails","old_version":"5.23.0","new_version":"5.28.0","repository_url":"https://github.com/getsentry/sentry-ruby"},{"name":"terser","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/ahorek/terser-ruby"},{"name":"selenium-webdriver","old_version":"4.31.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"rubocop","old_version":"1.75.4","new_version":"1.81.1","repository_url":"https://github.com/rubocop/rubocop"},{"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.31.0","new_version":"2.33.4","repository_url":"https://github.com/rubocop/rubocop-rails"},{"name":"rubocop-rspec","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"diff-lcs","old_version":"1.6.1","new_version":"1.6.2","repository_url":"https://github.com/halostatue/diff-lcs"},{"name":"hashdiff","old_version":"1.1.2","new_version":"1.2.1","repository_url":"https://github.com/liufengyun/hashdiff"},{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"},{"name":"matrix","old_version":"0.4.2","new_version":"0.4.3","repository_url":"https://github.com/ruby/matrix"},{"name":"multi_json","old_version":"1.15.0","new_version":"1.17.0","repository_url":"https://github.com/sferik/multi_json"},{"name":"net-imap","old_version":"0.5.8","new_version":"0.5.11","repository_url":"https://github.com/ruby/net-imap"},{"name":"rspec-core","old_version":"3.13.3","new_version":"3.13.5","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-expectations","old_version":"3.13.4","new_version":"3.13.5","repository_url":"https://github.com/rspec/rspec"},{"name":"rspec-mocks","old_version":"3.13.3","new_version":"3.13.5","repository_url":"https://github.com/rspec/rspec"},{"name":"temple","old_version":"0.10.3","new_version":"0.10.4","repository_url":"https://github.com/judofyr/temple"},{"name":"tilt","old_version":"2.6.0","new_version":"2.6.1","repository_url":"https://github.com/jeremyevans/tilt"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-all group with 29 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actioncable-enhanced-postgresql-adapter](https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter) | `1.0.1` | `1.0.2` |\n| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.184.0` | `1.199.1` |\n| [bootsnap](https://github.com/Shopify/bootsnap) | `1.18.4` | `1.18.6` |\n| [chartkick](https://github.com/ankane/chartkick) | `5.1.5` | `5.2.0` |\n| [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) | `6.4.4` | `6.5.1` |\n| [faker](https://github.com/faker-ruby/faker) | `3.5.1` | `3.5.2` |\n| [good_job](https://github.com/bensheldon/good_job) | `4.10.0` | `4.12.0` |\n| [groupdate](https://github.com/ankane/groupdate) | `6.5.1` | `6.7.0` |\n| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.14.1` |\n| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.6.2` |\n| [scenic](https://github.com/scenic-views/scenic) | `1.8.0` | `1.9.0` |\n| [sentry-rails](https://github.com/getsentry/sentry-ruby) | `5.23.0` | `5.28.0` |\n| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.6` |\n| [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.31.0` | `4.35.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.75.4` | `1.81.1` |\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.31.0` | `2.33.4` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.6.0` | `3.7.0` |\n| [diff-lcs](https://github.com/halostatue/diff-lcs) | `1.6.1` | `1.6.2` |\n| [hashdiff](https://github.com/liufengyun/hashdiff) | `1.1.2` | `1.2.1` |\n| [marcel](https://github.com/rails/marcel) | `1.0.4` | `1.1.0` |\n| [matrix](https://github.com/ruby/matrix) | `0.4.2` | `0.4.3` |\n| [multi_json](https://github.com/sferik/multi_json) | `1.15.0` | `1.17.0` |\n| [net-imap](https://github.com/ruby/net-imap) | `0.5.8` | `0.5.11` |\n| [rspec-core](https://github.com/rspec/rspec) | `3.13.3` | `3.13.5` |\n| [rspec-expectations](https://github.com/rspec/rspec) | `3.13.4` | `3.13.5` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.3` | `3.13.5` |\n| [temple](https://github.com/judofyr/temple) | `0.10.3` | `0.10.4` |\n| [tilt](https://github.com/jeremyevans/tilt) | `2.6.0` | `2.6.1` |\n\n\nUpdates `actioncable-enhanced-postgresql-adapter` from 1.0.1 to 1.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/blob/master/CHANGELOG.md\"\u003eactioncable-enhanced-postgresql-adapter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e1.0.2\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix incorrect escaping of large payloads (\u003ca href=\"https://redirect.github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/pull/5\"\u003ereclaim-the-stack/actioncable-enhanced-postgresql-adapter#5\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/pull/6\"\u003ereclaim-the-stack/actioncable-enhanced-postgresql-adapter#6\u003c/a\u003e), thanks \u003ca href=\"https://github.com/chriscz\"\u003e\u003ccode\u003e@​chriscz\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\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\u003eSee full diff in \u003ca href=\"https://github.com/reclaim-the-stack/actioncable-enhanced-postgresql-adapter/commits/v1.0.2\"\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.184.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 `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 `chartkick` from 5.1.5 to 5.2.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ankane/chartkick/blob/master/CHANGELOG.md\"\u003echartkick's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.2.0 (2025-06-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Chart.js to 4.5.0\u003c/li\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt; 3.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/chartkick/commit/3dd112f67f8cef0138a43939268fff46762521b4\"\u003e\u003ccode\u003e3dd112f\u003c/code\u003e\u003c/a\u003e Version bump to 5.2.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/chartkick/commit/ec1b2b1de618725a40ad68c872f12a7c8a7aea45\"\u003e\u003ccode\u003eec1b2b1\u003c/code\u003e\u003c/a\u003e Dropped support for Ruby \u0026lt; 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/chartkick/commit/1f565790518e6c176d4d74c92881831ca7e8a564\"\u003e\u003ccode\u003e1f56579\u003c/code\u003e\u003c/a\u003e Updated Chart.js to 4.5.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ankane/chartkick/compare/v5.1.5...v5.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `factory_bot_rails` from 6.4.4 to 6.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/releases\"\u003efactory_bot_rails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.5.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Cucumber tests by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/536\"\u003ethoughtbot/factory_bot_rails#536\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003erequired_ruby_version\u003c/code\u003e to require \u0026gt;= Ruby 3.1 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/thoughtbot/factory_bot_rails/pull/538\"\u003ethoughtbot/factory_bot_rails#538\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd vburzynski as codeowner by \u003ca href=\"https://github.com/DoodlingDev\"\u003e\u003ccode\u003e@​DoodlingDev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/539\"\u003ethoughtbot/factory_bot_rails#539\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd AuthenticationGenerator for users factory creation by \u003ca href=\"https://github.com/rodrigotoledo\"\u003e\u003ccode\u003e@​rodrigotoledo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/542\"\u003ethoughtbot/factory_bot_rails#542\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rodrigotoledo\"\u003e\u003ccode\u003e@​rodrigotoledo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/542\"\u003ethoughtbot/factory_bot_rails#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DoodlingDev\"\u003e\u003ccode\u003e@​DoodlingDev\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/539\"\u003ethoughtbot/factory_bot_rails#539\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/compare/v6.5.0...v6.5.1\"\u003ehttps://github.com/thoughtbot/factory_bot_rails/compare/v6.5.0...v6.5.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Ruby 3.0 by \u003ca href=\"https://github.com/FerPerales\"\u003e\u003ccode\u003e@​FerPerales\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/507\"\u003ethoughtbot/factory_bot_rails#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRead gem version from code file by \u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/506\"\u003ethoughtbot/factory_bot_rails#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing required Ruby version to gemspec by \u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/510\"\u003ethoughtbot/factory_bot_rails#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Bundler to v2.5.23 by \u003ca href=\"https://github.com/smaboshe\"\u003e\u003ccode\u003e@​smaboshe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/515\"\u003ethoughtbot/factory_bot_rails#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix standardrb violations by \u003ca href=\"https://github.com/sarahraqueld\"\u003e\u003ccode\u003e@​sarahraqueld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/482\"\u003ethoughtbot/factory_bot_rails#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActivate linter in CI by \u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/508\"\u003ethoughtbot/factory_bot_rails#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003efile_fixture\u003c/code\u003e in Factory definitions by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/427\"\u003ethoughtbot/factory_bot_rails#427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix development dependencies by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/526\"\u003ethoughtbot/factory_bot_rails#526\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport Rails 7.2 by \u003ca href=\"https://github.com/RajRoR\"\u003e\u003ccode\u003e@​RajRoR\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/495\"\u003ethoughtbot/factory_bot_rails#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLimit \u003ccode\u003epush\u003c/code\u003e builds to the \u003ccode\u003emain\u003c/code\u003e branch by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/527\"\u003ethoughtbot/factory_bot_rails#527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd support for rails v8 by \u003ca href=\"https://github.com/jamesoneill997\"\u003e\u003ccode\u003e@​jamesoneill997\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/521\"\u003ethoughtbot/factory_bot_rails#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd latest Ruby and Rails versions to the build by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/529\"\u003ethoughtbot/factory_bot_rails#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate gemspec with supported Rails version by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/531\"\u003ethoughtbot/factory_bot_rails#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun Cucumber feature tests on CI by \u003ca href=\"https://github.com/neilvcarvalho\"\u003e\u003ccode\u003e@​neilvcarvalho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/530\"\u003ethoughtbot/factory_bot_rails#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FerPerales\"\u003e\u003ccode\u003e@​FerPerales\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/507\"\u003ethoughtbot/factory_bot_rails#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/unused\"\u003e\u003ccode\u003e@​unused\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/506\"\u003ethoughtbot/factory_bot_rails#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RajRoR\"\u003e\u003ccode\u003e@​RajRoR\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/495\"\u003ethoughtbot/factory_bot_rails#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jamesoneill997\"\u003e\u003ccode\u003e@​jamesoneill997\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/pull/521\"\u003ethoughtbot/factory_bot_rails#521\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.0\"\u003ehttps://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md\"\u003efactory_bot_rails's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.5.1 (September 5, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: Add AuthenticationGenerator for users factory creation (Rodrigo Toledo)\u003c/li\u003e\n\u003cli\u003eChanged: Update required_ruby_version to require \u0026gt;= Ruby 3.1 (y-yagi)\u003c/li\u003e\n\u003cli\u003eInternal: Fix Cucumber tests (Neil Carvalho)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.5.0 (June 13, 2025)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: First-party support for \u003ca href=\"https://api.rubyonrails.org/classes/ActiveSupport/Testing/FileFixtures.html#method-i-file_fixture\"\u003e\u003ccode\u003efile_fixture\u003c/code\u003e\u003c/a\u003e within factory blocks (Sean Doyle)\u003c/li\u003e\n\u003cli\u003eChanged: Drop support for Ruby 3.0 (Fernando Perales)\u003c/li\u003e\n\u003cli\u003eChanged: Add required Ruby version to the gemspec (Christoph Lipautz)\u003c/li\u003e\n\u003cli\u003eInternal: Add Rails 7.2 to the test matrix (Raj Kumar)\u003c/li\u003e\n\u003cli\u003eInternal: Add Rails 8.0 to the test matrix (James O'Neill)\u003c/li\u003e\n\u003cli\u003eInternal: Run \u003ccode\u003estandardrb\u003c/code\u003e on CI runs (Christoph Lipautz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/dfdef4c70a76d36058cf77fc1ccd9904a2bf0beb\"\u003e\u003ccode\u003edfdef4c\u003c/code\u003e\u003c/a\u003e Bump to 6.5.1 (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/b6c4e8d1fc495806f3ee353e79a5470d3f2638a6\"\u003e\u003ccode\u003eb6c4e8d\u003c/code\u003e\u003c/a\u003e Add AuthenticationGenerator for users factory creation (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/364bd890bfcfb538fa31318759c93d7e5c4e11a1\"\u003e\u003ccode\u003e364bd89\u003c/code\u003e\u003c/a\u003e add vburzynski as codeowner (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/539\"\u003e#539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/8e45bc342682b610952935354fa478bbe616390f\"\u003e\u003ccode\u003e8e45bc3\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003erequired_ruby_version\u003c/code\u003e to require \u0026gt;= Ruby 3.1 (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/538\"\u003e#538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/6b757ebab3c9420b014fe69812f8ed0c5a77873f\"\u003e\u003ccode\u003e6b757eb\u003c/code\u003e\u003c/a\u003e Fix Cucumber tests (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/536\"\u003e#536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/44acf670588ab5a24bddfd75415011c5c2373e2f\"\u003e\u003ccode\u003e44acf67\u003c/code\u003e\u003c/a\u003e Bump to 6.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/83109a5ff2a0601df21547a56797635616e0d8eb\"\u003e\u003ccode\u003e83109a5\u003c/code\u003e\u003c/a\u003e Run Cucumber feature tests on CI (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/b2047c108c90341c351aeaa5cfe5fc9af715bcdb\"\u003e\u003ccode\u003eb2047c1\u003c/code\u003e\u003c/a\u003e Update gemspec with supported Rails version (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/531\"\u003e#531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/c17c161b2370c7bce0b95d54f72337f8dd62c213\"\u003e\u003ccode\u003ec17c161\u003c/code\u003e\u003c/a\u003e Add latest Ruby and Rails versions to the build (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/commit/2e30e1737977ad1e07dd0f46306def09712f56fb\"\u003e\u003ccode\u003e2e30e17\u003c/code\u003e\u003c/a\u003e Add Rails 8 to the build matrix (\u003ca href=\"https://redirect.github.com/thoughtbot/factory_bot_rails/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `faker` from 3.5.1 to 3.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/releases\"\u003efaker's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.5.2\u003c/h2\u003e\n\u003cp\u003eHappy Canada Day! 🍁\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales and fixes some bugs.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect \u003ccode\u003eFaker::Address.city\u003c/code\u003e and \u003ccode\u003eFaker::Address.street_address\u003c/code\u003e for \u003ccode\u003e:fr\u003c/code\u003e locale by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix condominium_fiscal_code generator length from 9 to 11 characters by \u003ca href=\"https://github.com/FiloSpaTeam\"\u003e\u003ccode\u003e@​FiloSpaTeam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3037\"\u003efaker-ruby/faker#3037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cell Phone, Default Time Zone and State Abbreviation translation for en-PAK locale by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3024\"\u003efaker-ruby/faker#3024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix usage docs header indentation by \u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nl phone format by \u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003eja/book\u003c/code\u003e locale by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3062\"\u003efaker-ruby/faker#3062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a typo by \u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003erestaurant.yml\u003c/code\u003e by \u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix city address with number in \u003ccode\u003elocales/fr/address.yml\u003c/code\u003e by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3071\"\u003efaker-ruby/faker#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix unclosed quote in \u003ccode\u003elocales/en/cosmere.yml\u003c/code\u003e by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3075\"\u003efaker-ruby/faker#3075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove inappropriate word from ja lorem by \u003ca href=\"https://github.com/se4weed\"\u003e\u003ccode\u003e@​se4weed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3095\"\u003efaker-ruby/faker#3095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd mountains to de-CH locale by \u003ca href=\"https://github.com/codez\"\u003e\u003ccode\u003e@​codez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3066\"\u003efaker-ruby/faker#3066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump i18n from 1.14.6 to 1.14.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3042\"\u003efaker-ruby/faker#3042\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: run against Ruby 3.4 by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3079\"\u003efaker-ruby/faker#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Broken CI by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3073\"\u003efaker-ruby/faker#3073\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubocop from 1.67.0 to 1.68.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3020\"\u003efaker-ruby/faker#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop from 1.68.0 to 1.69.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3035\"\u003efaker-ruby/faker#3035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop version + offenses fixes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3053\"\u003efaker-ruby/faker#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dev dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3078\"\u003efaker-ruby/faker#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest and fix rubocop's offense by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3052\"\u003efaker-ruby/faker#3052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.0 to 0.38.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3088\"\u003efaker-ruby/faker#3088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-rake from 0.6.0 to 0.7.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3059\"\u003efaker-ruby/faker#3059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump \u003ccode\u003erubocop-minitest\u003c/code\u003e from \u003ccode\u003e0.37.1\u003c/code\u003e to \u003ccode\u003e0.38.0\u003c/code\u003e. by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3080\"\u003efaker-ruby/faker#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump minitest from 5.25.1 to 5.25.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/faker-ruby/faker/pull/3031\"\u003efaker-ruby/faker#3031\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.2 to 3.6.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3038\"\u003efaker-ruby/faker#3038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.3.0 to 0.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3021\"\u003efaker-ruby/faker#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.4.0 to 0.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3087\"\u003efaker-ruby/faker#3087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pry from 0.14.2 to 0.15.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3039\"\u003efaker-ruby/faker#3039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.2.1 to 13.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3086\"\u003efaker-ruby/faker#3086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.8 to 3.6.9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3096\"\u003efaker-ruby/faker#3096\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/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\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/faker-ruby/faker/pull/3075\"\u003efaker-ruby/faker#3075\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/faker-ruby/faker/blob/main/CHANGELOG.md\"\u003efaker's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/faker-ruby/faker/tree/v3.5.2\"\u003ev3.5.2\u003c/a\u003e (2025-07-01)\u003c/h2\u003e\n\u003cp\u003eHappy Canada Day! 🍁\u003c/p\u003e\n\u003cp\u003eThis version adds and improves some locales and fixes some bugs.\u003c/p\u003e\n\u003cp\u003eThanks to all contributors!\u003c/p\u003e\n\u003ch3\u003eImprovements \u0026amp; Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect \u003ccode\u003eFaker::Address.city\u003c/code\u003e and \u003ccode\u003eFaker::Address.street_address\u003c/code\u003e for \u003ccode\u003e:fr\u003c/code\u003e locale by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix condominium_fiscal_code generator length from 9 to 11 characters by \u003ca href=\"https://github.com/FiloSpaTeam\"\u003e\u003ccode\u003e@​FiloSpaTeam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3037\"\u003efaker-ruby/faker#3037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Cell Phone, Default Time Zone and State Abbreviation translation for en-PAK locale by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3024\"\u003efaker-ruby/faker#3024\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix usage docs header indentation by \u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix nl phone format by \u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003eja/book\u003c/code\u003e locale by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3062\"\u003efaker-ruby/faker#3062\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix a typo by \u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003erestaurant.yml\u003c/code\u003e by \u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix city address with number in \u003ccode\u003elocales/fr/address.yml\u003c/code\u003e by \u003ca href=\"https://github.com/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3071\"\u003efaker-ruby/faker#3071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix unclosed quote in \u003ccode\u003elocales/en/cosmere.yml\u003c/code\u003e by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3075\"\u003efaker-ruby/faker#3075\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove inappropriate word from ja lorem by \u003ca href=\"https://github.com/se4weed\"\u003e\u003ccode\u003e@​se4weed\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3095\"\u003efaker-ruby/faker#3095\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd mountains to de-CH locale by \u003ca href=\"https://github.com/codez\"\u003e\u003ccode\u003e@​codez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3066\"\u003efaker-ruby/faker#3066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump i18n from 1.14.6 to 1.14.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3042\"\u003efaker-ruby/faker#3042\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: run against Ruby 3.4 by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3079\"\u003efaker-ruby/faker#3079\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Broken CI by \u003ca href=\"https://github.com/wonderer007\"\u003e\u003ccode\u003e@​wonderer007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3073\"\u003efaker-ruby/faker#3073\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdate local dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump rubocop from 1.67.0 to 1.68.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3020\"\u003efaker-ruby/faker#3020\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop from 1.68.0 to 1.69.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3035\"\u003efaker-ruby/faker#3035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop version + offenses fixes by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3053\"\u003efaker-ruby/faker#3053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: update dev dependencies by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3078\"\u003efaker-ruby/faker#3078\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest and fix rubocop's offense by \u003ca href=\"https://github.com/stefannibrasil\"\u003e\u003ccode\u003e@​stefannibrasil\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3052\"\u003efaker-ruby/faker#3052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-minitest from 0.38.0 to 0.38.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3088\"\u003efaker-ruby/faker#3088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rubocop-rake from 0.6.0 to 0.7.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3059\"\u003efaker-ruby/faker#3059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump \u003ccode\u003erubocop-minitest\u003c/code\u003e from \u003ccode\u003e0.37.1\u003c/code\u003e to \u003ccode\u003e0.38.0\u003c/code\u003e. by \u003ca href=\"https://github.com/thdaraujo\"\u003e\u003ccode\u003e@​thdaraujo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3080\"\u003efaker-ruby/faker#3080\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump minitest from 5.25.1 to 5.25.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/faker-ruby/faker/pull/3031\"\u003efaker-ruby/faker#3031\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.2 to 3.6.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3038\"\u003efaker-ruby/faker#3038\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.3.0 to 0.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3021\"\u003efaker-ruby/faker#3021\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump benchmark from 0.4.0 to 0.4.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3087\"\u003efaker-ruby/faker#3087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump pry from 0.14.2 to 0.15.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3039\"\u003efaker-ruby/faker#3039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump rake from 13.2.1 to 13.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3086\"\u003efaker-ruby/faker#3086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump test-unit from 3.6.8 to 3.6.9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3096\"\u003efaker-ruby/faker#3096\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/brupla6126\"\u003e\u003ccode\u003e@​brupla6126\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3018\"\u003efaker-ruby/faker#3018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaredsmithse\"\u003e\u003ccode\u003e@​jaredsmithse\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3049\"\u003efaker-ruby/faker#3049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/klaaspieter\"\u003e\u003ccode\u003e@​klaaspieter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3050\"\u003efaker-ruby/faker#3050\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jethrodaniel\"\u003e\u003ccode\u003e@​jethrodaniel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3060\"\u003efaker-ruby/faker#3060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/daniel-nerdgeschoss\"\u003e\u003ccode\u003e@​daniel-nerdgeschoss\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/faker-ruby/faker/pull/3067\"\u003efaker-ruby/faker#3067\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/232c561fbab14b5e06b760c0076faac57eb0827d\"\u003e\u003ccode\u003e232c561\u003c/code\u003e\u003c/a\u003e Bump faker to v3.5.2 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3097\"\u003e#3097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/d85fa7ebf2f54512d99202c17242b4fa997692b8\"\u003e\u003ccode\u003ed85fa7e\u003c/code\u003e\u003c/a\u003e Bump test-unit from 3.6.8 to 3.6.9 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3096\"\u003e#3096\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/a6f01b838a8b00ea0efd1ae601aa6bc33a2b3d2b\"\u003e\u003ccode\u003ea6f01b8\u003c/code\u003e\u003c/a\u003e Bump rubocop-minitest from 0.38.0 to 0.38.1 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/83ef092fe6ab6061f47f3c619f1bf840f221c745\"\u003e\u003ccode\u003e83ef092\u003c/code\u003e\u003c/a\u003e Bump benchmark from 0.4.0 to 0.4.1 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/a67f573bb71fb8b46c58ab7cc4298cac5b060315\"\u003e\u003ccode\u003ea67f573\u003c/code\u003e\u003c/a\u003e Bump rake from 13.2.1 to 13.3.0 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3086\"\u003e#3086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/2bebcf9decc6e96e6504b6a24f831ab0eb75bbe5\"\u003e\u003ccode\u003e2bebcf9\u003c/code\u003e\u003c/a\u003e Add mountains to de-CH locale (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3066\"\u003e#3066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/0a975ae550a901ab016848e22cb1f3a1f35b981a\"\u003e\u003ccode\u003e0a975ae\u003c/code\u003e\u003c/a\u003e remove inappropriate words from \u003ccode\u003elocales/ja/lorem\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3095\"\u003e#3095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/898dbd8e5378eae8333887192d096acbdeb8bd11\"\u003e\u003ccode\u003e898dbd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3080\"\u003e#3080\u003c/a\u003e from faker-ruby/ta/deps/bump-rubocop-minitests-38\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c2b01564581caea91e3c577d880138b197317861\"\u003e\u003ccode\u003ec2b0156\u003c/code\u003e\u003c/a\u003e deps: bump rubocop-minitest from 0.37.1 to 0.38.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/faker-ruby/faker/commit/c61ae9237d7987d2c48a7a26d3b8270674333fc7\"\u003e\u003ccode\u003ec61ae92\u003c/code\u003e\u003c/a\u003e ci: run against Ruby 3.4 (\u003ca href=\"https://redirect.github.com/faker-ruby/faker/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/faker-ruby/faker/compare/v3.5.1...v3.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `good_job` from 4.10.0 to 4.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bensheldon/good_job/releases\"\u003egood_job's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.12.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4120-2025-09-22\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOptimize job_class scope performance by using column instead of JSON extraction by \u003ca href=\"https://github.com/ScotterC\"\u003e\u003ccode\u003e@​ScotterC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1672\"\u003ebensheldon/good_job#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003eGoodJob::Cli.log_to_stdout =\u003c/code\u003e to be set by the parent application by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1680\"\u003ebensheldon/good_job#1680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd state column to cron entries table by \u003ca href=\"https://github.com/gregplumbly\"\u003e\u003ccode\u003e@​gregplumbly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1652\"\u003ebensheldon/good_job#1652\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RDIL\"\u003e\u003ccode\u003e@​RDIL\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1676\"\u003ebensheldon/good_job#1676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ScotterC\"\u003e\u003ccode\u003e@​ScotterC\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1672\"\u003ebensheldon/good_job#1672\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gregplumbly\"\u003e\u003ccode\u003e@​gregplumbly\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1652\"\u003ebensheldon/good_job#1652\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.2...v4.12.0\"\u003ehttps://github.com/bensheldon/good_job/compare/v4.11.2...v4.12.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.2\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4112-2025-08-06\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove circular dependency of requiring good_job in engine by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1655\"\u003ebensheldon/good_job#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRender the current time according to the Rails application's time zone setting. by \u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1650\"\u003ebensheldon/good_job#1650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake the processes page more responsive by extracting queues and max_threads by \u003ca href=\"https://github.com/luizkowalski\"\u003e\u003ccode\u003e@​luizkowalski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1647\"\u003ebensheldon/good_job#1647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix duplicate parameters by \u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1648\"\u003ebensheldon/good_job#1648\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUI: Add \u003ccode\u003e.text-wrap\u003c/code\u003e to the Cron Entry key by \u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1667\"\u003ebensheldon/good_job#1667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a favicon by \u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1664\"\u003ebensheldon/good_job#1664\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/itsalongstory\"\u003e\u003ccode\u003e@​itsalongstory\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1650\"\u003ebensheldon/good_job#1650\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amo13\"\u003e\u003ccode\u003e@​amo13\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1663\"\u003ebensheldon/good_job#1663\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seanpdoyle\"\u003e\u003ccode\u003e@​seanpdoyle\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1667\"\u003ebensheldon/good_job#1667\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.1...v4.11.2\"\u003ehttps://github.com/bensheldon/good_job/compare/v4.11.1...v4.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4111-2025-06-30\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003erequire rails\u003c/code\u003e to good_job/engine.rb to allow \u003ccode\u003ebundle console\u003c/code\u003e usage by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1653\"\u003ebensheldon/good_job#1653\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.0...v4.11.1\"\u003ehttps://github.com/bensheldon/good_job/compare/v4.11.0...v4.11.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.11.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eReview the \u003ca href=\"https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md#v4110-2025-06-30\"\u003eChangelog\u003c/a\u003e for more details.\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix Probe Server handling server shutdown on SIGINT when daemonized by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1644\"\u003ebensheldon/good_job#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd GoodJob::Adapter#stopping to support Active Job continuations feature by \u003ca href=\"https://github.com/bensheldon\"\u003e\u003ccode\u003e@​bensheldon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1646\"\u003ebensheldon/good_job#1646\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/bensheldon/good_job/blob/main/CHANGELOG.md\"\u003egood_job's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bensheldon/good_job/tree/v4.12.0\"\u003ev4.12.0\u003c/a\u003e (2025-09-22)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.2...v4.12.0\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eImplemented enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAllow \u003ccode\u003eGoodJob::Cli.log_to_stdout =\u003c/code\u003e to be set by the parent application \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1680\"\u003e#1680\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize job_class scope performance by using column instead of JSON extraction \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1672\"\u003e#1672\u003c/a\u003e (\u003ca href=\"https://github.com/ScotterC\"\u003eScotterC\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd state column to cron entries table \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1652\"\u003e#1652\u003c/a\u003e (\u003ca href=\"https://github.com/gregplumbly\"\u003egregplumbly\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed bugs:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eReorganize Dashboard header, ensure favicon svg is encoded; fix double mt-auto \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1668\"\u003e#1668\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eClosed issues:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGoodJob Cron unique index \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1678\"\u003e#1678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eparams_job_class JSON extraction causing performance issues - why not use job_class column? \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1671\"\u003e#1671\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGood Job process stalling and CPU at 100% \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1669\"\u003e#1669\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate sorbet/tapioca \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1681\"\u003e#1681\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove obsolete property from tests \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1676\"\u003e#1676\u003c/a\u003e (\u003ca href=\"https://github.com/RDIL\"\u003eRDIL\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 4 to 5 \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1673\"\u003e#1673\u003c/a\u003e (\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/bensheldon/good_job/tree/v4.11.2\"\u003ev4.11.2\u003c/a\u003e (2025-08-06)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.11.1...v4.11.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eImplemented enhancements:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a favicon \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1664\"\u003e#1664\u003c/a\u003e (\u003ca href=\"https://github.com/itsalongstory\"\u003eitsalongstory\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFixed bugs:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUI: Add \u003ccode\u003e.text-wrap\u003c/code\u003e to the Cron Entry key \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1667\"\u003e#1667\u003c/a\u003e (\u003ca href=\"https://github.com/seanpdoyle\"\u003eseanpdoyle\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix duplicate parameters \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1648\"\u003e#1648\u003c/a\u003e (\u003ca href=\"https://github.com/itsalongstory\"\u003eitsalongstory\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eClosed issues:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eпроблема с вб \u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1665\"\u003e#1665\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eMerged pull requests:\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDocufix: correct connects_to statement for multiple databases setup \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1663\"\u003e#1663\u003c/a\u003e (\u003ca href=\"https://github.com/amo13\"\u003eamo13\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies and Rubocop \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1662\"\u003e#1662\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove circular dependency of requiring good_job in engine \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1655\"\u003e#1655\u003c/a\u003e (\u003ca href=\"https://github.com/bensheldon\"\u003ebensheldon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender the current time according to the Rails application's time zone setting. \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1650\"\u003e#1650\u003c/a\u003e (\u003ca href=\"https://github.com/itsalongstory\"\u003eitsalongstory\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the processes page more responsive by extracting queues and max_threads \u003ca href=\"https://redirect.github.com/bensheldon/good_job/pull/1647\"\u003e#1647\u003c/a\u003e (\u003ca href=\"https://github.com/luizkowalski\"\u003eluizkowalski\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/bensheldon/good_job/commit/e8afc5dfb94eeeecd1b1222cf354b5e7bc9c6234\"\u003e\u003ccode\u003ee8afc5d\u003c/code\u003e\u003c/a\u003e Release good_job v4.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/b68c868c0af118ab0ddc470c2980544e1f241fff\"\u003e\u003ccode\u003eb68c868\u003c/code\u003e\u003c/a\u003e Update sorbet/tapioca (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1681\"\u003e#1681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/b5fced72756dbe30d12b091c7c466dbeb7e67819\"\u003e\u003ccode\u003eb5fced7\u003c/code\u003e\u003c/a\u003e Add state column to cron entries table (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1652\"\u003e#1652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/9025fab8d95df5ef4342a807f46519fcc7554958\"\u003e\u003ccode\u003e9025fab\u003c/code\u003e\u003c/a\u003e Allow \u003ccode\u003eGoodJob::Cli.log_to_stdout =\u003c/code\u003e to be set by the parent application (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1680\"\u003e#1680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/5ed7827fb71817b74b89f17d4e1f05c9b7e0f8cb\"\u003e\u003ccode\u003e5ed7827\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1673\"\u003e#1673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/6eab944660025a936c68e3a08f44ef8e9d70731e\"\u003e\u003ccode\u003e6eab944\u003c/code\u003e\u003c/a\u003e Optimize job_class scope performance by using column instead of JSON extracti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/1830699fd918c8255cef3866e04b35e5c102569a\"\u003e\u003ccode\u003e1830699\u003c/code\u003e\u003c/a\u003e Remove obsolete property from tests (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1676\"\u003e#1676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/79b218746bf6e2d1a3a7451c128551fbaaa3269a\"\u003e\u003ccode\u003e79b2187\u003c/code\u003e\u003c/a\u003e Reorganize header, ensure favicon svg is encoded; fix double mt-auto (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1668\"\u003e#1668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/d907bd0200df57fdf3cb1c16336a066187085ebb\"\u003e\u003ccode\u003ed907bd0\u003c/code\u003e\u003c/a\u003e Release good_job v4.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bensheldon/good_job/commit/61345e697a134740d14c3fff3562dd4923415e86\"\u003e\u003ccode\u003e61345e6\u003c/code\u003e\u003c/a\u003e Add a favicon (\u003ca href=\"https://redirect.github.com/bensheldon/good_job/issues/1664\"\u003e#1664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bensheldon/good_job/compare/v4.10.0...v4.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `groupdate` from 6.5.1 to 6.7.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ankane/groupdate/blob/master/CHANGELOG.md\"\u003egroupdate's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.7.0 (2025-06-02)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded time zone support for SQLite\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eday_start\u003c/code\u003e support for SQLite\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003egroup_by_quarter\u003c/code\u003e support for SQLite\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.6.0 (2025-05-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDropped support for Ruby \u0026lt; 3.2 and Active Record \u0026lt; 7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/dc9979eb9dfa3a5b3d3585d3c1a7f31d378a98a6\"\u003e\u003ccode\u003edc9979e\u003c/code\u003e\u003c/a\u003e Version bump to 6.7.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/137c27f3b107c7bc29c096c818467a0cd7684f22\"\u003e\u003ccode\u003e137c27f\u003c/code\u003e\u003c/a\u003e Fixed test and added todos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/a48a6fa5a7755f5b198eda84f3e9871271f44399\"\u003e\u003ccode\u003ea48a6fa\u003c/code\u003e\u003c/a\u003e Improved tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/b1203dbf54ffc2524283891d3c88a66983979442\"\u003e\u003ccode\u003eb1203db\u003c/code\u003e\u003c/a\u003e Enabled test for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/bc28b7f9eb62b61b1df042453a7cdd0b6b5da7b8\"\u003e\u003ccode\u003ebc28b7f\u003c/code\u003e\u003c/a\u003e Enabled test for SQLite [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/39d511829793a0a9e1d6215934932bbc617443d6\"\u003e\u003ccode\u003e39d5118\u003c/code\u003e\u003c/a\u003e Enabled tests for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/5499c01003b6d4589ff385e69db1109ce4b0bc26\"\u003e\u003ccode\u003e5499c01\u003c/code\u003e\u003c/a\u003e Enabled test for SQLite [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/5019644e879cede1715f536e72d3fd60041182ae\"\u003e\u003ccode\u003e5019644\u003c/code\u003e\u003c/a\u003e Improved logic for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/511c051236e92bd081e495bcd027ea3e16a4a764\"\u003e\u003ccode\u003e511c051\u003c/code\u003e\u003c/a\u003e Improved logic for SQLite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ankane/groupdate/commit/6d1c8136dd9f19be861e77fa4cf83b3548073c84\"\u003e\u003ccode\u003e6d1c813\u003c/code\u003e\u003c/a\u003e Improved time zone check\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ankane/groupdate/compare/v6.5.1...v6.7.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 `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 espec...\n\n_Description has been truncated_","html_url":"https://github.com/bensheldon/open311status/pull/377","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bensheldon%2Fopen311status/issues/377","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/377/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-01T15:06:17.000Z","version_change":"1.0.4 → 1.1.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.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-01T10:01:56.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"2877616564","node_id":"PR_kwDOAA5Z-s6rhPG0","number":7685,"state":"open","title":"build(deps): bump marcel from 1.0.4 to 1.1.0","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-01T10:01:56.000Z","updated_at":"2025-10-03T19:18:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/MarkUsProject/Markus/pull/7685","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkUsProject%2FMarkus/issues/7685","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7685/packages"}},{"old_version":"1.0.4","new_version":"1.1.0","update_type":"minor","path":null,"pr_created_at":"2025-10-01T02:03:20.000Z","version_change":"1.0.4 → 1.1.0","issue":{"uuid":"3471711432","node_id":"PR_kwDOAe8r3c6rdUBs","number":8952,"state":"open","title":"Bump marcel from 1.0.4 to 1.1.0","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-01T02:03:20.000Z","updated_at":"2025-10-01T10:35:03.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"marcel","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/rails/marcel"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [marcel](https://github.com/rails/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\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=marcel\u0026package-manager=bundler\u0026previous-version=1.0.4\u0026new-version=1.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/Claim-for-Crown-Court-Defence/pull/8952","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2FClaim-for-Crown-Court-Defence/issues/8952","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8952/packages"}}]}