{"id":2025,"name":"ruby-lsp","ecosystem":"rubygems","repository_url":"https://github.com/shopify/ruby-lsp","issues_count":1485,"created_at":"2025-06-06T15:01:55.562Z","updated_at":"2025-06-06T15:01:55.562Z","purl":"pkg:gem/ruby-lsp","metadata":{"id":293293,"name":"ruby-lsp","ecosystem":"rubygems","description":"An opinionated language server for Ruby","homepage":"https://github.com/Shopify/ruby-lsp","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/shopify/ruby-lsp","keywords_array":[],"namespace":null,"versions_count":134,"first_release_published_at":"2022-03-01T23:04:07.482Z","latest_release_published_at":"2025-06-02T22:01:13.408Z","latest_release_number":"0.23.24","last_synced_at":"2025-06-05T04:48:52.062Z","created_at":"2022-04-06T10:06:14.957Z","updated_at":"2025-06-05T04:48:52.062Z","registry_url":"https://rubygems.org/gems/ruby-lsp","install_command":"gem install ruby-lsp -s https://rubygems.org","documentation_url":"http://www.rubydoc.info/gems/ruby-lsp/","metadata":{"funding":null},"repo_metadata":{"uuid":"463648726","full_name":"Shopify/ruby-lsp","owner":"Shopify","description":"An opinionated language server for Ruby","archived":false,"fork":false,"pushed_at":"2024-01-05T21:05:13.000Z","size":15061,"stargazers_count":1148,"open_issues_count":82,"forks_count":92,"subscribers_count":227,"default_branch":"main","last_synced_at":"2024-01-07T06:27:04.340Z","etag":null,"topics":["lsp","ruby"],"latest_commit_sha":null,"homepage":"https://shopify.github.io/ruby-lsp/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Shopify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-02-25T19:13:56.000Z","updated_at":"2024-01-06T17:10:41.000Z","dependencies_parsed_at":"2023-09-22T01:36:44.254Z","dependency_job_id":"98da8b90-cc86-4d5d-afa1-4550b921528b","html_url":"https://github.com/Shopify/ruby-lsp","commit_stats":null,"previous_names":[],"tags_count":58,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shopify","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":179587799,"owners_count":10835592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"Shopify","name":"Shopify","uuid":"8085","kind":"organization","description":"","email":"engineering@shopify.engineering","website":"https://shopify.engineering/","location":"The Internet","twitter":"ShopifyEng","company":null,"icon_url":"https://avatars.githubusercontent.com/u/8085?v=4","repositories_count":914,"last_synced_at":"2023-04-09T05:11:03.109Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/Shopify","created_at":"2022-11-02T16:20:36.277Z","updated_at":"2023-04-09T05:11:06.196Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shopify","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shopify/repositories"},"tags":[{"name":"v0.13.2","sha":"f570fd974cfff91864cb75f6d1ce068961482e1a","kind":"tag","published_at":"2023-12-15T19:23:39.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.13.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.13.2/manifests"},{"name":"v0.13.1","sha":"a1977a7919940a79d2aff47b1dabad5658c85107","kind":"tag","published_at":"2023-12-06T20:08:29.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.13.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.13.1/manifests"},{"name":"v0.13.0","sha":"4ebe9e077a89029cbc4b44c4a6899b4b215ef42a","kind":"tag","published_at":"2023-11-30T16:18:41.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.13.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.13.0/manifests"},{"name":"v0.12.5","sha":"e5a2c89b66769a83e218e717fbeeee009d89ed69","kind":"tag","published_at":"2023-11-24T14:36:44.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.12.5","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.12.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.5/manifests"},{"name":"v0.12.4","sha":"544e1307081939e050226cc55ca3f5e226823e62","kind":"tag","published_at":"2023-11-22T18:07:24.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.12.4","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.12.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.4/manifests"},{"name":"v0.12.3","sha":"a6f5d134ac983215d2cf2755246c292a23e0ff9c","kind":"tag","published_at":"2023-11-06T18:25:36.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.12.3","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.12.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.3/manifests"},{"name":"v0.12.2","sha":"ecfbbfcf704895081997c7bc178a3137dab8ec84","kind":"tag","published_at":"2023-10-31T20:56:36.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.12.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.2/manifests"},{"name":"v0.12.1","sha":"6e78c904ab0533106af1522dbbdbcd8a7bacde66","kind":"tag","published_at":"2023-10-26T14:18:25.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.12.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.1/manifests"},{"name":"v0.12.0","sha":"e2aa0938587a14ec556d2154178a8ecd244ffb1a","kind":"tag","published_at":"2023-10-18T20:14:59.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.12.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.12.0/manifests"},{"name":"v0.11.2","sha":"3e6b20fcf21cbb7254758b1d9b68ec76ff53c0f7","kind":"tag","published_at":"2023-10-11T18:06:43.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.11.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.11.2/manifests"},{"name":"v0.11.1","sha":"1df9061716e00c614f31c2670ca43c123ff196ba","kind":"tag","published_at":"2023-10-04T14:03:05.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.11.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.11.1/manifests"},{"name":"v0.11.0","sha":"1922f0c26ad4d8c3dfd7a3c8ca830a940ab7df95","kind":"tag","published_at":"2023-10-03T19:32:07.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.11.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.11.0/manifests"},{"name":"v0.10.1","sha":"09a53f0dfef70f85e1d2f50e0ca92b478d4a5f32","kind":"tag","published_at":"2023-09-13T19:28:59.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.10.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.10.1/manifests"},{"name":"v0.10.0","sha":"e0531ddab48ee83b9d91256b4056a032fc511234","kind":"tag","published_at":"2023-09-11T18:04:30.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.10.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.10.0/manifests"},{"name":"v0.9.4","sha":"322aa618f8affbf3c280941bb51a4e9d68afd760","kind":"tag","published_at":"2023-09-05T22:02:18.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.9.4","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.9.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.4/manifests"},{"name":"v0.9.3","sha":"8b3dcc8288a8d58e926a7922fd972b599401fb99","kind":"tag","published_at":"2023-09-01T14:00:59.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.9.3","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.9.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.3/manifests"},{"name":"v0.9.2","sha":"c29b4e6c50beb7c1b80ed7f499562deb0484bc24","kind":"tag","published_at":"2023-08-29T18:04:46.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.9.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.2/manifests"},{"name":"v0.9.1","sha":"5cb9407a2e1195df8233566ea2d72acd289119f4","kind":"tag","published_at":"2023-08-28T20:36:48.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.9.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.1/manifests"},{"name":"v0.9.0","sha":"21866e64d48ee97792c1eb46105c42d4b6ed63d3","kind":"tag","published_at":"2023-08-28T19:02:40.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.9.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.9.0/manifests"},{"name":"v0.8.1","sha":"f91525978e29feea7829397eb68e6a3e6d8f212e","kind":"tag","published_at":"2023-08-17T15:02:37.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.8.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.8.1/manifests"},{"name":"v0.8.0","sha":"fafc9e1c629fd245aa6f9a425a2d11783c3a418c","kind":"tag","published_at":"2023-08-08T20:03:55.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.8.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.8.0/manifests"},{"name":"v0.7.6","sha":"e98c240d6f17667240f5110b8e30596bcfa1bc7f","kind":"tag","published_at":"2023-08-02T20:53:06.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.7.6","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.7.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.6/manifests"},{"name":"v0.7.5","sha":"888b571722747a2e3a8e047c8065b67e895a6090","kind":"tag","published_at":"2023-08-01T19:05:37.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.7.5","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.7.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.5/manifests"},{"name":"v0.7.4","sha":"558a598b98fcf658716daafc20b9980e467f258e","kind":"tag","published_at":"2023-07-25T18:50:54.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.7.4","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.7.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.4/manifests"},{"name":"v0.7.3","sha":"ff6e7ed26f94fa0c23e105c11a5ca7d49184e3bf","kind":"tag","published_at":"2023-07-18T21:24:57.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.7.3","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.7.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.3/manifests"},{"name":"v0.7.2","sha":"2c2d029b541d5f8be642f48065eab99feb0dfb69","kind":"tag","published_at":"2023-07-18T16:19:18.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.7.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.2/manifests"},{"name":"v0.7.1","sha":"369478f8509989b9839c7b11039fefffefcec126","kind":"tag","published_at":"2023-07-18T15:43:42.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.7.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.1/manifests"},{"name":"v0.7.0","sha":"22d293517265de988f4b692c55b89e4806afad3f","kind":"tag","published_at":"2023-07-14T16:35:53.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.7.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.7.0/manifests"},{"name":"v0.6.2","sha":"c46a3b2dd1925a21c5480c25bb3486d09eca4a41","kind":"tag","published_at":"2023-06-23T15:44:55.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.6.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"08e960fb7a4a921c831ef82b083085aca1707f8a","kind":"tag","published_at":"2023-06-19T19:12:49.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.6.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"bd032c0aec653c5e450b45cd8a32b28a8f95367d","kind":"tag","published_at":"2023-06-16T18:07:33.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.6.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.6.0/manifests"},{"name":"v0.5.1","sha":"966ea3358b77f1d4e35ba2c004ff4bc08190852e","kind":"tag","published_at":"2023-05-04T16:35:13.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.5.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"55e1a728ecec80903d39322c6a1202fdb0fff312","kind":"tag","published_at":"2023-05-04T14:55:08.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.5.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.5.0/manifests"},{"name":"v0.4.5","sha":"694ca5c4cd10190575da576c0d18961dc15cc79b","kind":"tag","published_at":"2023-04-21T18:10:21.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.4.5","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.4.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.5/manifests"},{"name":"v0.4.4","sha":"7488bded6c50e1625ba3d18cbe04a40d28226781","kind":"tag","published_at":"2023-04-11T18:43:06.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.4.4","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.4/manifests"},{"name":"v0.4.3","sha":"f5dde7177873b3cb0b949c181753b1ac8a61cd41","kind":"tag","published_at":"2023-03-30T17:42:29.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.4.3","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.3/manifests"},{"name":"v0.4.2","sha":"ed07cafe76f9c7577ce0635f5da8fdfdae0678fc","kind":"tag","published_at":"2023-03-20T15:01:38.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.4.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.2/manifests"},{"name":"v0.4.1","sha":"40cbc8f90c228b49d0078875e5bfe639712895a0","kind":"tag","published_at":"2023-02-22T15:14:19.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.4.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"43dc427d6a2d54584e151c089ca116d172957cde","kind":"tag","published_at":"2023-02-15T20:50:52.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.4.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.4.0/manifests"},{"name":"v0.3.8","sha":"80811ddf98c6054426a4abaf820b0aa3dc62a566","kind":"tag","published_at":"2023-01-16T14:11:05.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.8","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.8/manifests"},{"name":"v0.3.7","sha":"10dc26f3b582601583966730a85c9a684d49f594","kind":"tag","published_at":"2022-12-12T19:51:43.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.7","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.7/manifests"},{"name":"v0.3.6","sha":"6ff6574c061c675d4cb11df8465f7c016b8fb5f0","kind":"tag","published_at":"2022-11-11T19:25:32.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.6","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.6/manifests"},{"name":"v0.3.5","sha":"416cf9c1d5a41778fae6fa2a8e76497a7060843f","kind":"tag","published_at":"2022-10-25T17:34:54.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.5","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.5/manifests"},{"name":"v0.3.4","sha":"2a5802c6d64a11751909668ca8270ef886a20ecd","kind":"tag","published_at":"2022-10-13T14:16:53.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.4","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.4/manifests"},{"name":"v0.3.3","sha":"89de14a2fb7302408835c98968e97b7d80eee596","kind":"tag","published_at":"2022-10-03T15:37:39.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.3","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.3/manifests"},{"name":"v0.3.2","sha":"05671329176fe19cb50ecda35563e24a8fc14b2c","kind":"tag","published_at":"2022-09-07T18:35:06.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"9291527dedea3bb96a237ede8b3f854d97c9c5e7","kind":"tag","published_at":"2022-09-06T17:30:06.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"16623f77222644584a50568403b9e102e136bb14","kind":"tag","published_at":"2022-08-26T20:47:40.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.3.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.3.0/manifests"},{"name":"v0.2.4","sha":"3b331842f797f3cd8cca117b1a655482b4bc3f41","kind":"tag","published_at":"2022-08-26T20:05:24.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.2.4","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.4/manifests"},{"name":"v0.2.3","sha":"8a0e871bb8e891e13e26a6b6a4274fafcc37f252","kind":"tag","published_at":"2022-08-18T19:51:11.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.2.3","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"7033fb0c7e8c2c4cfd9faf955daf232ac8fa1d28","kind":"tag","published_at":"2022-08-12T14:34:26.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.2.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"acae34721d9df7b96971ab8dd06b64f060ebf9dc","kind":"tag","published_at":"2022-07-27T13:55:45.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.2.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"cc81c7b32b153ab2f82b5079f476044e849b8a66","kind":"tag","published_at":"2022-07-07T19:06:35.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.2.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"75955fa6fff9453b25f3f6fd1676e495ae5873c6","kind":"tag","published_at":"2022-06-15T15:46:47.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.1.0","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.1.0/manifests"},{"name":"v0.0.4","sha":"9debb27b6354b459f55c08f143b54bb4a31b1ba4","kind":"tag","published_at":"2022-06-07T18:22:02.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.0.4","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.4/manifests"},{"name":"v0.0.3","sha":"b3efea305b1072b0484653023fc909fc64954b4b","kind":"tag","published_at":"2022-05-27T22:06:40.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.0.3","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.3/manifests"},{"name":"v0.0.2","sha":"ef93b50a776fde5124f20e850fbc6641339b485c","kind":"tag","published_at":"2022-04-26T17:03:05.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.0.2","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.2/manifests"},{"name":"v0.0.1","sha":"c151c79abffda187e4bf0dd036591bc96ce020cf","kind":"tag","published_at":"2022-03-01T23:04:05.000Z","download_url":"https://codeload.github.com/Shopify/ruby-lsp/tar.gz/v0.0.1","html_url":"https://github.com/Shopify/ruby-lsp/releases/tag/v0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shopify%2Fruby-lsp/tags/v0.0.1/manifests"}]},"repo_metadata_updated_at":"2024-01-07T06:35:09.162Z","dependent_packages_count":16,"downloads":18471661,"downloads_period":"total","dependent_repos_count":155,"rankings":{"downloads":1.270129664947581,"dependent_repos_count":2.34790263059891,"dependent_packages_count":2.4602605844811727,"stargazers_count":1.8738785505512736,"forks_count":3.3731703738813463,"docker_downloads_count":2.8946091431279837,"average":2.3699918245980442},"purl":"pkg:gem/ruby-lsp","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/ruby-lsp","docker_dependents_count":31,"docker_downloads_count":360537664,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/ruby-lsp","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/ruby-lsp/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ruby-lsp/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ruby-lsp/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ruby-lsp/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages/ruby-lsp/related_packages","maintainers":[{"uuid":"78226","login":"shopify","name":null,"email":null,"url":null,"packages_count":340,"html_url":"https://rubygems.org/profiles/shopify","role":null,"created_at":"2022-11-09T09:49:23.387Z","updated_at":"2022-11-09T09:49:23.387Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers/shopify/packages"}],"registry":{"name":"rubygems.org","url":"https://rubygems.org","ecosystem":"rubygems","default":true,"packages_count":198115,"maintainers_count":66429,"namespaces_count":0,"keywords_count":17799,"github":"rubygems","metadata":{"funded_packages_count":7045},"icon_url":"https://github.com/rubygems.png","created_at":"2022-04-04T15:19:23.446Z","updated_at":"2025-06-06T05:59:27.395Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/rubygems.org/namespaces"}},"unique_repositories_count":222,"unique_repositories_count_past_30_days":0,"recent_issues":[{"uuid":"4278582217","node_id":"PR_kwDORj-F5c7THDFo","number":15,"state":"open","title":"Bump the minor-and-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-16T21:17:34.000Z","updated_at":"2026-04-16T21:18:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":4,"packages":[{"name":"rake","old_version":"13.3.1","new_version":"13.4.2","repository_url":"https://github.com/ruby/rake"},{"name":"rubocop","old_version":"1.85.1","new_version":"1.86.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"railties","old_version":"8.1.2","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the minor-and-patch group with 4 updates in the /gem directory: [rake](https://github.com/ruby/rake), [rubocop](https://github.com/rubocop/rubocop), [ruby-lsp](https://github.com/Shopify/ruby-lsp) and [railties](https://github.com/rails/rails).\n\nUpdates `rake` from 13.3.1 to 13.4.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/503b8ec593c51289c09cc2a69a34af99d6198c6a\"\u003e\u003ccode\u003e503b8ec\u003c/code\u003e\u003c/a\u003e v13.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/46038e780e5982c34a745229b91909871c18357c\"\u003e\u003ccode\u003e46038e7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/723\"\u003e#723\u003c/a\u003e from ruby/fix/testopts-preserve-existing-value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/604a3d9873f75442b6209b6f9d7938a5358a9fe1\"\u003e\u003ccode\u003e604a3d9\u003c/code\u003e\u003c/a\u003e Isolate TESTOPTS env in TestRakeTestTask setup/teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/5886caa127339046cedef67713ef990a7eb7710c\"\u003e\u003ccode\u003e5886caa\u003c/code\u003e\u003c/a\u003e Preserve ENV[\u0026quot;TESTOPTS\u0026quot;] when verbose is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/92193acc3674fd1567bab0bcf3f5df37f141b47e\"\u003e\u003ccode\u003e92193ac\u003c/code\u003e\u003c/a\u003e v13.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b74be0be2421b7719ebde57420ff738479ada341\"\u003e\u003ccode\u003eb74be0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/721\"\u003e#721\u003c/a\u003e from ruby/fix/add-options-to-gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/829f66d86cd28810fdd3dcbc4fff8feabf554d73\"\u003e\u003ccode\u003e829f66d\u003c/code\u003e\u003c/a\u003e Add lib/rake/options.rb to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2d55bc4a8b97db9f0c085df59d338077885f6f1a\"\u003e\u003ccode\u003e2d55bc4\u003c/code\u003e\u003c/a\u003e v13.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/14150701d48a16400b820977f6d64a7f0604d9f0\"\u003e\u003ccode\u003e1415070\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3dc948e2689487b37052288097a6666e001effb\"\u003e\u003ccode\u003eb3dc948\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/713\"\u003e#713\u003c/a\u003e from pvdb/simplify_standard_system_dir\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.1...v13.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop` from 1.85.1 to 1.86.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.86.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). (\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. (\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. (\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. (\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. (\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. (\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. (\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. (\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. (\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. (\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. (\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\u003eRuboCop v1.86.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. (\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md\"\u003erubocop's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.86.1 (2026-04-09)\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/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). ([\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. ([\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. ([\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. ([\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. ([\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. ([\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. ([\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. ([\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. ([\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. ([\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. ([\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.86.0 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. ([\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15015\"\u003e#15015\u003c/a\u003e: Fix \u003ccode\u003eStyle/ConcatArrayLiterals\u003c/code\u003e autocorrect deleting code for percent literals with interpolation. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14897\"\u003e#14897\u003c/a\u003e: Detect constant reassignment after class/module definition in \u003ccode\u003eLint/ConstantReassignment\u003c/code\u003e. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11829\"\u003e#11829\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when duplicate methods are defined in anonymous classes and modules not assigned to a constant. ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14988\"\u003e#14988\u003c/a\u003e: Fix false negative in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when redundant parentheses around range literals in block 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/14916\"\u003e#14916\u003c/a\u003e: Fix false positive for \u003ccode\u003eLayout/MultilineMethodCallIndentation\u003c/code\u003e when method chain is inside a hash pair value passed to a multiline chained method call. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15010\"\u003e#15010\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when modules blocks are passed as method arguments. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15028\"\u003e#15028\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when the same method is defined in different anonymous module blocks passed to a no-receiver call (e.g. \u003ccode\u003estub_const\u003c/code\u003e). ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15021\"\u003e#15021\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when using a guard clause followed by a multi-line guard clause with \u003ccode\u003eraise\u003c/code\u003e, \u003ccode\u003efail\u003c/code\u003e, \u003ccode\u003ereturn\u003c/code\u003e, \u003ccode\u003ebreak\u003c/code\u003e, or \u003ccode\u003enext\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/15001\"\u003e#15001\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/RedundantLineBreak\u003c/code\u003e when setting \u003ccode\u003eInspectBlocks: true\u003c/code\u003e and using \u003ccode\u003erescue\u003c/code\u003e or \u003ccode\u003eensure\u003c/code\u003e in the block. ([\u003ca href=\"https://github.com/koic\"\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/14997\"\u003e#14997\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when assigning \u003ccode\u003eFile.open\u003c/code\u003e to an 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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/af8026643d436c4570bf7063a7475e2cad95fd49\"\u003e\u003ccode\u003eaf80266\u003c/code\u003e\u003c/a\u003e Cut 1.86.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/eb504cec166130d8459046fbbfd05ba795206a5c\"\u003e\u003ccode\u003eeb504ce\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/9c8fe2c1baab6f1cadd894507c8790677bd8092c\"\u003e\u003ccode\u003e9c8fe2c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15085\"\u003e#15085\u003c/a\u003e from G-Rath/fix-style-guard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11d796a5faaf0802f5e02c7aaf5b9df17365763e\"\u003e\u003ccode\u003e11d796a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15093\"\u003e#15093\u003c/a\u003e from koic/fix_return_tool_execution_errors_instead_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/4450067dda2f262e4ded6f76de28d28632d3315d\"\u003e\u003ccode\u003e4450067\u003c/code\u003e\u003c/a\u003e Return tool execution errors instead of protocol errors in MCP server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/ff641800ba81e44fa07a54cb12eab59b1c670984\"\u003e\u003ccode\u003eff64180\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15092\"\u003e#15092\u003c/a\u003e from viralpraxis/fix-an-error-for-layout-end-alignm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11e04c0ad04ff164b0eebcdb4c5ac61c58870788\"\u003e\u003ccode\u003e11e04c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15091\"\u003e#15091\u003c/a\u003e from eugeneius/duplicate_methods_anonymous_classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/b8deea4173ab30e1bf8171b168412ae808a27dd7\"\u003e\u003ccode\u003eb8deea4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15090\"\u003e#15090\u003c/a\u003e from eugeneius/guard_clause_and_return\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/e1300200a6368d5569c8fff97321642d3292eff9\"\u003e\u003ccode\u003ee130020\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/480859411db057a120ef3829a54641f0626917ce\"\u003e\u003ccode\u003e4808594\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eDuplicateMethods\u003c/code\u003e for anonymous classes in constant assignments and methods\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.85.1...v1.86.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.26.8 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003elibvips\u003c/code\u003e to generated \u003ccode\u003eci.yml\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eConditionally adds \u003ccode\u003elibvips\u003c/code\u003e to \u003ccode\u003eci.yml\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSteve Polito\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/635841a1560a3cde37e6350bd0d7f0a63f65d6d5\"\u003e\u003ccode\u003e635841a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56911\"\u003e#56911\u003c/a\u003e from toy/postgresql-9.5-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b8f4e474e508cb071b28471beb4a982596c5c0a9\"\u003e\u003ccode\u003eb8f4e47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53417\"\u003e#53417\u003c/a\u003e from vinibispo/fix/skip_storage-changes-gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6b0ebde4a1157867923096752862743fc05d6aba\"\u003e\u003ccode\u003e6b0ebde\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56693\"\u003e#56693\u003c/a\u003e from r7kamura/configuration-duplicated-if\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54aa1c59cf1babfb7606660c25f12ac4e20f63c3\"\u003e\u003ccode\u003e54aa1c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56523\"\u003e#56523\u003c/a\u003e from stevepolitodesign/sp-cl-libvips\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/supostat/zodra/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/supostat%2Fzodra/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4250488867","node_id":"PR_kwDOKBw-4c7R1hgB","number":47,"state":"closed","title":"Bump the bundler-all group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T00:36:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T00:38:34.000Z","updated_at":"2026-04-20T00:37:00.000Z","time_to_close":604705,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-all","update_count":28,"packages":[{"name":"puma","old_version":"7.2.0","new_version":"8.0.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.1.2","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"rubocop","old_version":"1.85.1","new_version":"1.86.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rbs","old_version":"3.10.3","new_version":"3.10.4","repository_url":"https://github.com/ruby/rbs"},{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"yard","old_version":"0.9.38","new_version":"0.9.39"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-all group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [puma](https://github.com/puma/puma) | `7.2.0` | `8.0.0` |\n| [rails](https://github.com/rails/rails) | `8.1.2` | `8.1.3` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.85.1` | `1.86.1` |\n| [rbs](https://github.com/ruby/rbs) | `3.10.3` | `3.10.4` |\n| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.26.8` | `0.26.9` |\n| [yard](http://yardoc.org) | `0.9.38` | `0.9.39` |\n\n\nUpdates `puma` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7406cc192480ce9d01c9a47e6f41fcb1548217a6\"\u003e\u003ccode\u003e7406cc1\u003c/code\u003e\u003c/a\u003e Fix IPv4-mapped IPv6 addresses in \u003ccode\u003eREMOTE_ADDR\u003c/code\u003e and request logs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e090243320eb743a6c03f77f4ffa9e1a24c677b1\"\u003e\u003ccode\u003ee090243\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7d5dca1a561a95c2a6b8742b52c81c73cd2b95ca\"\u003e\u003ccode\u003e7d5dca1\u003c/code\u003e\u003c/a\u003e Update SECURITY.md, native Github vuln reports [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/66e6a32de52d9beed43e1c598bda360f906ccbef\"\u003e\u003ccode\u003e66e6a32\u003c/code\u003e\u003c/a\u003e Minor correction to defaults documented in dsl.rb (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3788eca453a64ffb05a67115d3e2a276bbaf21a3\"\u003e\u003ccode\u003e3788eca\u003c/code\u003e\u003c/a\u003e ci: limit rack-conform to main pushes and scope ragel PR runs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/57b7799201adf43cdf508f90c57b95e23f49bbcd\"\u003e\u003ccode\u003e57b7799\u003c/code\u003e\u003c/a\u003e ci: run turbo-rails only on latest stable Ruby and Rails (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6685d6b8024c5480774b790808e4f0343e414fa5\"\u003e\u003ccode\u003e6685d6b\u003c/code\u003e\u003c/a\u003e ci: replace skip-duplicate jobs with concurrency and trigger filters (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/2848c823dfc9838033d6ce342fee917e81aeedc1\"\u003e\u003ccode\u003e2848c82\u003c/code\u003e\u003c/a\u003e ci: run push workflows only on main and release branches (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97a37bb7c6a457f8846eb3ce307daadd4b38b4f8\"\u003e\u003ccode\u003e97a37bb\u003c/code\u003e\u003c/a\u003e Add release pre-merge checks and align Release.md [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3904\"\u003e#3904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1c7d1cf0a1ab4142eb20ef30fe2062aad6f72e21\"\u003e\u003ccode\u003e1c7d1cf\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e91694b1f0e176eb01bfcc480a008bffc70f7602\"\u003e\u003ccode\u003ee91694b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG (8.1 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6752711c8c31d79ba50d13af6a6698a3b85415e0\"\u003e\u003ccode\u003e6752711\u003c/code\u003e\u003c/a\u003e Fix XSS in debug exceptions copy-to-clipboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63f5ad83edaa0b976f82d46988d745426aa4a42d\"\u003e\u003ccode\u003e63f5ad8\u003c/code\u003e\u003c/a\u003e Skip blank attribute names in Action View tag helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c9676b803820110548cdb7523800db43bc6874c\"\u003e\u003ccode\u003e8c9676b\u003c/code\u003e\u003c/a\u003e Prevent glob injection in ActiveStorage DiskService#delete_prefixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9b06fbc0f504b8afe333f33d19548f3b85fbe655\"\u003e\u003ccode\u003e9b06fbc\u003c/code\u003e\u003c/a\u003e Prevent path traversal in ActiveStorage DiskService\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ec1a0e215efd27a3b3911aae6df978a80f456a49\"\u003e\u003ccode\u003eec1a0e2\u003c/code\u003e\u003c/a\u003e Improve performance of NumberToDelimitedConverter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.85.1 to 1.86.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.86.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). (\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. (\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. (\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. (\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. (\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. (\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. (\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. (\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. (\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. (\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. (\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\u003eRuboCop v1.86.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. (\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md\"\u003erubocop's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.86.1 (2026-04-09)\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/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). ([\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. ([\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. ([\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. ([\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. ([\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. ([\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. ([\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. ([\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. ([\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. ([\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. ([\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.86.0 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. ([\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15015\"\u003e#15015\u003c/a\u003e: Fix \u003ccode\u003eStyle/ConcatArrayLiterals\u003c/code\u003e autocorrect deleting code for percent literals with interpolation. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14897\"\u003e#14897\u003c/a\u003e: Detect constant reassignment after class/module definition in \u003ccode\u003eLint/ConstantReassignment\u003c/code\u003e. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11829\"\u003e#11829\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when duplicate methods are defined in anonymous classes and modules not assigned to a constant. ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14988\"\u003e#14988\u003c/a\u003e: Fix false negative in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when redundant parentheses around range literals in block 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/14916\"\u003e#14916\u003c/a\u003e: Fix false positive for \u003ccode\u003eLayout/MultilineMethodCallIndentation\u003c/code\u003e when method chain is inside a hash pair value passed to a multiline chained method call. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15010\"\u003e#15010\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when modules blocks are passed as method arguments. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15028\"\u003e#15028\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when the same method is defined in different anonymous module blocks passed to a no-receiver call (e.g. \u003ccode\u003estub_const\u003c/code\u003e). ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15021\"\u003e#15021\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when using a guard clause followed by a multi-line guard clause with \u003ccode\u003eraise\u003c/code\u003e, \u003ccode\u003efail\u003c/code\u003e, \u003ccode\u003ereturn\u003c/code\u003e, \u003ccode\u003ebreak\u003c/code\u003e, or \u003ccode\u003enext\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/15001\"\u003e#15001\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/RedundantLineBreak\u003c/code\u003e when setting \u003ccode\u003eInspectBlocks: true\u003c/code\u003e and using \u003ccode\u003erescue\u003c/code\u003e or \u003ccode\u003eensure\u003c/code\u003e in the block. ([\u003ca href=\"https://github.com/koic\"\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/14997\"\u003e#14997\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when assigning \u003ccode\u003eFile.open\u003c/code\u003e to an 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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/af8026643d436c4570bf7063a7475e2cad95fd49\"\u003e\u003ccode\u003eaf80266\u003c/code\u003e\u003c/a\u003e Cut 1.86.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/eb504cec166130d8459046fbbfd05ba795206a5c\"\u003e\u003ccode\u003eeb504ce\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/9c8fe2c1baab6f1cadd894507c8790677bd8092c\"\u003e\u003ccode\u003e9c8fe2c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15085\"\u003e#15085\u003c/a\u003e from G-Rath/fix-style-guard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11d796a5faaf0802f5e02c7aaf5b9df17365763e\"\u003e\u003ccode\u003e11d796a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15093\"\u003e#15093\u003c/a\u003e from koic/fix_return_tool_execution_errors_instead_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/4450067dda2f262e4ded6f76de28d28632d3315d\"\u003e\u003ccode\u003e4450067\u003c/code\u003e\u003c/a\u003e Return tool execution errors instead of protocol errors in MCP server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/ff641800ba81e44fa07a54cb12eab59b1c670984\"\u003e\u003ccode\u003eff64180\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15092\"\u003e#15092\u003c/a\u003e from viralpraxis/fix-an-error-for-layout-end-alignm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11e04c0ad04ff164b0eebcdb4c5ac61c58870788\"\u003e\u003ccode\u003e11e04c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15091\"\u003e#15091\u003c/a\u003e from eugeneius/duplicate_methods_anonymous_classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/b8deea4173ab30e1bf8171b168412ae808a27dd7\"\u003e\u003ccode\u003eb8deea4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15090\"\u003e#15090\u003c/a\u003e from eugeneius/guard_clause_and_return\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/e1300200a6368d5569c8fff97321642d3292eff9\"\u003e\u003ccode\u003ee130020\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/480859411db057a120ef3829a54641f0626917ce\"\u003e\u003ccode\u003e4808594\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eDuplicateMethods\u003c/code\u003e for anonymous classes in constant assignments and methods\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.85.1...v1.86.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `action_text-trix` from 2.1.17 to 2.1.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.18\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSanitize javascript: URI in JSON drag-drop deserialization by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1293\"\u003ebasecamp/trix#1293\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInfrastructure/CI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: harden GitHub Actions workflows by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1284\"\u003ebasecamp/trix#1284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.17...v2.1.18\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.17...v2.1.18\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/da8869922e19bc3f852091468d34029af80813e7\"\u003e\u003ccode\u003eda88699\u003c/code\u003e\u003c/a\u003e v2.1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/9c0a993d9fc2ffe9d56b013b030bc238f9c0557c\"\u003e\u003ccode\u003e9c0a993\u003c/code\u003e\u003c/a\u003e Fix XSS via javascript: URI in JSON drag-drop deserialization (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/e62fcc3b5872a310a79cecb47472bd16bf6499ad\"\u003e\u003ccode\u003ee62fcc3\u003c/code\u003e\u003c/a\u003e ci: harden GitHub Actions workflows (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1284\"\u003e#1284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.17...v2.1.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6752711c8c31d79ba50d13af6a6698a3b85415e0\"\u003e\u003ccode\u003e6752711\u003c/code\u003e\u003c/a\u003e Fix XSS in debug exceptions copy-to-clipboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/10c6e0eb362d4cd437ea092deb86e67f0d243dfc\"\u003e\u003ccode\u003e10c6e0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56750\"\u003e#56750\u003c/a\u003e from nicolasva/fix/UnknownHttpMethod\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cce61db5a22f94e8e820b3d2bf3d96cf0db9412a\"\u003e\u003ccode\u003ecce61db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56820\"\u003e#56820\u003c/a\u003e from ybiquitous/improve-apidoc-for-ActionDispatch_I...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix encoding errors for string locals containing non-ASCII characters.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eKataoka Katsuki\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix collection caching to only forward \u003ccode\u003eexpires_in\u003c/code\u003e argument if explicitly set.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePieter Visser\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix possible XSS in DebugExceptions middleware\u003c/p\u003e\n\u003cp\u003e[CVE-2026-33167]\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJohn Hawthorn\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip blank attribute names in tag helpers to avoid generating invalid HTML.\u003c/p\u003e\n\u003cp\u003e[CVE-2026-33168]\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1c7d1cf0a1ab4142eb20ef30fe2062aad6f72e21\"\u003e\u003ccode\u003e1c7d1cf\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e91694b1f0e176eb01bfcc480a008bffc70f7602\"\u003e\u003ccode\u003ee91694b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG (8.1 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63f5ad83edaa0b976f82d46988d745426aa4a42d\"\u003e\u003ccode\u003e63f5ad8\u003c/code\u003e\u003c/a\u003e Skip blank attribute names in Action View tag helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e598b9427876ba44bd62c48390e6568476b3f8f0\"\u003e\u003ccode\u003ee598b94\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56906\"\u003e#56906\u003c/a\u003e from kataokatsuki/fix-strict-locals-non-ascii-encoding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c2ea79c21161de7eb271b2789fbed21dde504071\"\u003e\u003ccode\u003ec2ea79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56891\"\u003e#56891\u003c/a\u003e from pietervisser/fix-collection-caching-to-preserv...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activejob/CHANGELOG.md\"\u003eactivejob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0924172c3b7b3fbbac32fb8b5dee738cba86c99d\"\u003e\u003ccode\u003e0924172\u003c/code\u003e\u003c/a\u003e Fix deprecation of sidekiq/testing in integration test adapter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3277c4edf98d0114d882e2f57934d7b0e2e4ccb1\"\u003e\u003ccode\u003e3277c4e\u003c/code\u003e\u003c/a\u003e Fix deprecation of sidekiq/testing/inline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdward Woodcock\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5a3d7d903aba1219f394259c2d9c02949b1b5cd7\"\u003e\u003ccode\u003e5a3d7d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56943\"\u003e#56943\u003c/a\u003e from yahonda/ruby-16321\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/034ca73253a001be8cce523812559012ac341fb8\"\u003e\u003ccode\u003e034ca73\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56867\"\u003e#56867\u003c/a\u003e from hammadxcm/fix-ruby4-delegator-inspect-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6c23f3bd4e252619010bb13ab2570faa5000ed55\"\u003e\u003ccode\u003e6c23f3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56768\"\u003e#56768\u003c/a\u003e from RemoteCTO/fix/integer-type-marshal-compat\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003einsert_all\u003c/code\u003e and \u003ccode\u003eupsert_all\u003c/code\u003e log message when called on anonymous classes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGabriel Sobrinho\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eActiveRecord::SchemaDumper.ignore_tables\u003c/code\u003e when dumping SQLite virtual tables.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Schnedlitz\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRestore previous instrumenter after \u003ccode\u003eexecute_or_skip\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eFutureResult#execute_or_skip\u003c/code\u003e replaces the thread's instrumenter with an\n\u003ccode\u003eEventBuffer\u003c/code\u003e to collect events published during async query execution.\nIf the global async executor is satura...\n\n_Description has been truncated_","html_url":"https://github.com/hexlet-components/rails-guestbook/pull/47","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-components%2Frails-guestbook/issues/47","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/47/packages"},{"uuid":"4223253824","node_id":"PR_kwDOPJd-3c7Qvt_2","number":4,"state":"closed","title":"Bump the bundler group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T15:00:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-08T08:44:14.000Z","updated_at":"2026-05-18T15:00:04.000Z","time_to_close":3478547,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":6,"packages":[{"name":"faraday","old_version":"2.12.1","new_version":"2.14.1","repository_url":"https://github.com/lostisland/faraday"},{"name":"ruby-lsp","old_version":"0.19.1","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"addressable","old_version":"2.8.7","new_version":"2.9.0","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"rack","old_version":"3.0.16","new_version":"3.1.21","repository_url":"https://github.com/rack/rack"},{"name":"rexml","old_version":"3.3.9","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"uri","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Updates the requirements on [faraday](https://github.com/lostisland/faraday), [ruby-lsp](https://github.com/Shopify/ruby-lsp), [addressable](https://github.com/sporkmonger/addressable), [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [uri](https://github.com/ruby/uri) to permit the latest version.\nUpdates `faraday` from 2.12.1 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/lostisland/faraday/releases\"\u003efaraday's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eSecurity Note\u003c/h2\u003e\n\u003cp\u003eThis release contains a security fix, we recommend all users to upgrade as soon as possible.\nA Security Advisory with more details will be posted shortly.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd RFC document for Options architecture refactoring plan by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1644\"\u003elostisland/faraday#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1655\"\u003elostisland/faraday#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit top-level namespace reference by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1657\"\u003elostisland/faraday#1657\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/lostisland/faraday/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\u003ch3\u003eNew features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse newer \u003ccode\u003eUnprocessableContent\u003c/code\u003e naming for 422 by \u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes 🐞\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert strings to UTF-8 by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResponse#to_hash\u003c/code\u003e when response not finished yet by \u003ca href=\"https://github.com/yykamei\"\u003e\u003ccode\u003e@​yykamei\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1639\"\u003elostisland/faraday#1639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc/Docs 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLint: use \u003ccode\u003efilter_map\u003c/code\u003e by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1637\"\u003elostisland/faraday#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eactions/checkout\u003c/code\u003e from v4 to v5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1636\"\u003elostisland/faraday#1636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes documentation by \u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error handling logic and add missing test coverage by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1633\"\u003elostisland/faraday#1633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix type assumption in \u003ccode\u003eFaraday::Error\u003c/code\u003e by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1630\"\u003elostisland/faraday#1630\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/lostisland/faraday/commit/16cbd38ef252d25dedf416a4d2510a2f3db10c87\"\u003e\u003ccode\u003e16cbd38\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/a6d3a3a0bf59c2ab307d0abd91bc126aef5561bc\"\u003e\u003ccode\u003ea6d3a3a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/b23f710d28c0dba169470f568df4017a1e8beea7\"\u003e\u003ccode\u003eb23f710\u003c/code\u003e\u003c/a\u003e Explicit top-level namespace reference (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1657\"\u003e#1657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/49ba4ac3a7359baed634c12a82386f6c8c717ea8\"\u003e\u003ccode\u003e49ba4ac\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/51a49bc99d7df6f724d250d64771e1d710576df7\"\u003e\u003ccode\u003e51a49bc\u003c/code\u003e\u003c/a\u003e Ensure Claude reads the guidelines and allow to plan in a gitignored .ai/PLAN...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/894f65cab8f04bcf35e84a2dfd9fc0286dbce340\"\u003e\u003ccode\u003e894f65c\u003c/code\u003e\u003c/a\u003e Add RFC document for Options architecture refactoring plan (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/397e3ded0c5166313bb22f1c0221b36b6023fd0f\"\u003e\u003ccode\u003e397e3de\u003c/code\u003e\u003c/a\u003e Add comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/d98c65cfc254ea2898386e4359428527122abec3\"\u003e\u003ccode\u003ed98c65c\u003c/code\u003e\u003c/a\u003e Update Faraday-specific AI agent guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/56c18ecb718e30c5a3a0dea9bd2361912af9013c\"\u003e\u003ccode\u003e56c18ec\u003c/code\u003e\u003c/a\u003e Add AI agent guidelines specific to Faraday repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/3201a42957d37efc968ee8834ba9b50ed5dde54a\"\u003e\u003ccode\u003e3201a42\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.12.1...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.19.1 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.19.1...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.9.0 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efixes ReDoS vulnerability in Addressable::Template#match (fixes incomplete\nremediation in 2.8.10)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAddressable 2.8.10 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efixes ReDoS vulnerability in Addressable::Template#match\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAddressable 2.8.9 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduce gem size by excluding test files (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo need for bundler as development dependency (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/571\"\u003e#571\u003c/a\u003e, \u003ca href=\"https://github.com/sporkmonger/addressable/commit/5fc1d93\"\u003e5fc1d93\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eidna/pure: stop building the useless \u003ccode\u003eCOMPOSITION_TABLE\u003c/code\u003e (removes the \u003ccode\u003eAddressable::IDNA::COMPOSITION_TABLE\u003c/code\u003e constant) (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/569\"\u003e#569\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/569\"\u003esporkmonger/addressable#569\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/571\"\u003e#571\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/571\"\u003esporkmonger/addressable#571\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/564\"\u003e#564\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/564\"\u003esporkmonger/addressable#564\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/0c3e8589b23d4402903a9b4e1fdeba4e43c52ca4\"\u003e\u003ccode\u003e0c3e858\u003c/code\u003e\u003c/a\u003e Revving version and changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/91915c1f7aafa3e2c9f42e2f4e21d948c7a861b8\"\u003e\u003ccode\u003e91915c1\u003c/code\u003e\u003c/a\u003e Fixing additional vulnerable paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/a091e39ff02fc321b21dea3a0df585bef2ba3744\"\u003e\u003ccode\u003ea091e39\u003c/code\u003e\u003c/a\u003e Add many more adversarial test cases to ensure we don't have any ReDoS regres...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/463a819665a3b85ce5ce894c90bd7bfa3b9d2e15\"\u003e\u003ccode\u003e463a819\u003c/code\u003e\u003c/a\u003e Regenerate gemspec on newer rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/0afcb0b9672bee301e5e96ed850fec05b2fcabb0\"\u003e\u003ccode\u003e0afcb0b\u003c/code\u003e\u003c/a\u003e Improve from O(n^2) to O(n)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c87f768f22ab00376ed2f8cb106f59c9d0652d3a\"\u003e\u003ccode\u003ec87f768\u003c/code\u003e\u003c/a\u003e Fix a ReDoS vulnerability in URI template matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/0d7e9b259fb0940d1a85064b04f678a7984409a5\"\u003e\u003ccode\u003e0d7e9b2\u003c/code\u003e\u003c/a\u003e Fix links for 2.8.9 in CHANGELOG (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/e2091200b31553f19248eb871f071852409796f8\"\u003e\u003ccode\u003ee209120\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.9 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/572\"\u003e#572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/387587492b6536748ed12a11c3fdb44a48885f28\"\u003e\u003ccode\u003e3875874\u003c/code\u003e\u003c/a\u003e Reduce gem size by excluding test files (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/3e57cc6018f94231aabb47fd341acd1b40f1e71a\"\u003e\u003ccode\u003e3e57cc6\u003c/code\u003e\u003c/a\u003e CI: back to \u003ccode\u003ewindows-2022\u003c/code\u003e for MRI job\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.0.16 to 3.1.21\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.21] - 2026-04-01\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-7mqq-6cf9-v2qp\"\u003eCVE-2026-34763\u003c/a\u003e Root directory disclosure via unescaped regex interpolation in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v569-hp3g-36wr\"\u003eCVE-2026-34230\u003c/a\u003e Avoid O(n^2) algorithm in \u003ccode\u003eRack::Utils.select_best_encoding\u003c/code\u003e which could lead to denial of service.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qfgr-crr9-7r49\"\u003eCVE-2026-32762\u003c/a\u003e Forwarded header semicolon injection enables Host and Scheme spoofing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-vgpv-f759-9wx3\"\u003eCVE-2026-26961\u003c/a\u003e Raise error for multipart requests with multiple boundary parameters.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q4qf-9j86-f5mh\"\u003eCVE-2026-34786\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e \u003ccode\u003eheader_rules\u003c/code\u003e bypass via URL-encoded path mismatch.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q2ww-5357-x388\"\u003eCVE-2026-34831\u003c/a\u003e \u003ccode\u003eContent-Length\u003c/code\u003e mismatch in \u003ccode\u003eRack::Files\u003c/code\u003e error responses.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-x8cg-fq8g-mxfx\"\u003eCVE-2026-34826\u003c/a\u003e Multipart byte range processing allows denial of service via excessive overlapping ranges.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-g2pf-xv49-m2h5\"\u003eCVE-2026-34835\u003c/a\u003e \u003ccode\u003eRack::Request\u003c/code\u003e accepts invalid Host characters, enabling host allowlist bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qv7j-4883-hwh7\"\u003eCVE-2026-34830\u003c/a\u003e \u003ccode\u003eRack::Sendfile\u003c/code\u003e header-based \u003ccode\u003eX-Accel-Mapping\u003c/code\u003e regex injection enables unauthorized \u003ccode\u003eX-Accel-Redirect\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-h2jq-g4cq-5ppq\"\u003eCVE-2026-34785\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e prefix matching can expose unintended files under the static root.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-8vqr-qjwx-82mw\"\u003eCVE-2026-34829\u003c/a\u003e Multipart parsing without \u003ccode\u003eContent-Length\u003c/code\u003e header allows unbounded chunked file uploads.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v6x5-cg8r-vv6x\"\u003eCVE-2026-34827\u003c/a\u003e Multipart header parsing allows denial of service via escape-heavy quoted parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.20] - 2026-02-16\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-whrj-4476-wvmp\"\u003eCVE-2026-25500\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-mxw3-3hh2-x2mh\"\u003eCVE-2026-22860\u003c/a\u003e Directory traversal via root prefix bypass in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.19] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.18] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.17] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.16] - 2025-06-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-47m2-26rw-j2jw\"\u003eCVE-2025-49007\u003c/a\u003e Fix ReDoS in multipart request.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ae8431120e66e92d1885ab8ec0a553d9cad5ec13\"\u003e\u003ccode\u003eae84311\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/87961c306df1894fb5efaa57d29179091b4bc194\"\u003e\u003ccode\u003e87961c3\u003c/code\u003e\u003c/a\u003e Fix typo in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fd1c23dc762225e68b50d392142e6a6bf54bf9af\"\u003e\u003ccode\u003efd1c23d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003elogger\u003c/code\u003e to gemfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c59d924f215e41ae8ce1bae1633c34f1ca64b182\"\u003e\u003ccode\u003ec59d924\u003c/code\u003e\u003c/a\u003e Fix test expectation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/176f468e0d575e2f4d7583ff95f30bb53360e3fe\"\u003e\u003ccode\u003e176f468\u003c/code\u003e\u003c/a\u003e Add Ruby v4.0 to the test matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/28569342665fee07f161f0974826eb85c1244533\"\u003e\u003ccode\u003e2856934\u003c/code\u003e\u003c/a\u003e Drop EOL Rubies from external tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/17ce7836be1523a7b453f3c06fe070ad7c954708\"\u003e\u003ccode\u003e17ce783\u003c/code\u003e\u003c/a\u003e Limit the number of quoted escapes during multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/367a2a0ec6fbef605c9412dadfd5763b7867441f\"\u003e\u003ccode\u003e367a2a0\u003c/code\u003e\u003c/a\u003e Add Content-Length size check in Rack::Multipart::Parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/a17cb99b3440a4db09fb920407adf5ead127704c\"\u003e\u003ccode\u003ea17cb99\u003c/code\u003e\u003c/a\u003e Fix root prefix bug in Rack::Static\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/59a0966a484f2903833fa3e4c81919d3c645738d\"\u003e\u003ccode\u003e59a0966\u003c/code\u003e\u003c/a\u003e Only do a simple substitution on the x-accel-mapping paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v3.0.16...v3.1.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.3.9 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.3.9...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uri` from 1.0.3 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/ruby/uri/releases\"\u003euri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRe-allow consecutive, leading and trailing dots in EMAIL_REGEXP by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\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/uri/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/ruby/uri/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to use the latest version of setup-ruby and bump up to Ruby 3.4 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/uri/pull/158\"\u003eruby/uri#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the mention to removed \u003ccode\u003eURI.escape/URI::Escape\u003c/code\u003e 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/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse a fully qualified name in warning messages 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/ruby/uri/pull/150\"\u003eruby/uri#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eRactor#value\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/163\"\u003eruby/uri#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unnecessary workaround  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/uri/pull/164\"\u003eruby/uri#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape reserved characters in scheme name 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/uri/pull/148\"\u003eruby/uri#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] State that uri library is needed to call Kernel#URI 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/uri/pull/167\"\u003eruby/uri#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer dedicated assertion methods 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/uri/pull/169\"\u003eruby/uri#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the message for unexpected argument 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/uri/pull/171\"\u003eruby/uri#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake URI::regexp schemes case sensitive (\u003ca href=\"https://redirect.github.com/ruby/uri/issues/38\"\u003e#38\u003c/a\u003e) by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/170\"\u003eruby/uri#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe local part should not contain leading or trailing dots in the EMAIL_REGEXP by \u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore checks in \u003ccode\u003eEMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/172\"\u003eruby/uri#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not allow empty host names, as they are not allowed by RFC 3986 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/uri/pull/116\"\u003eruby/uri#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of \u003ccode\u003eURI::MailTo::EMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/173\"\u003eruby/uri#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance test stability 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/uri/pull/174\"\u003eruby/uri#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documents that used \u003ccode\u003eURI::Parser\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/175\"\u003eruby/uri#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/183\"\u003eruby/uri#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eirb\u003c/code\u003e to the Gemfile to fix the warning 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/ruby/uri/pull/182\"\u003eruby/uri#182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace reference to the obsolete URI.escape with URI::RFC2396_PARSER.escape by \u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch a parsing behavior completely when switching a parser 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/ruby/uri/pull/161\"\u003eruby/uri#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove error message by \u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse generic version number to VERSION 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/uri/pull/187\"\u003eruby/uri#187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/ruby/uri/compare/v1.0.4...v1.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch3\u003eSecurity fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.ruby-lang.org/en/news/2025/10/07/uri-cve-2025-61594/\"\u003eCVE-2025-61594\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/uri/commit/f1b05c89ab38667e7564896f994d4d6cfbc67149\"\u003e\u003ccode\u003ef1b05c8\u003c/code\u003e\u003c/a\u003e v1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/8557e8d470ad7b969ba11d210e33b9570919661d\"\u003e\u003ccode\u003e8557e8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/189\"\u003e#189\u003c/a\u003e from osyoyu/restore-whatwg-email-regexp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c551d7020bba3cf452e696d55c451ae951d0f24b\"\u003e\u003ccode\u003ec551d70\u003c/code\u003e\u003c/a\u003e Re-allow consecutive, leading and trailing dots in EMAIL_REGEXP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c41903b3e4df8ba2ceba16a80d3156a97a81e038\"\u003e\u003ccode\u003ec41903b\u003c/code\u003e\u003c/a\u003e v1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/b433f3499202b2abc27c5211554195243d083f88\"\u003e\u003ccode\u003eb433f34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/187\"\u003e#187\u003c/a\u003e from ruby/switch-version-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/1fc4f0496a2d44f4af317d8f786a50e9f6918656\"\u003e\u003ccode\u003e1fc4f04\u003c/code\u003e\u003c/a\u003e Use generic version number to VERSION and generate VERSION_CODE from that\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/e8306800d9b58f37f3847e8d598599cb1ef36f3c\"\u003e\u003ccode\u003ee830680\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/70d245fa46786b9aa4970c4b815cfe8b1b823bf6\"\u003e\u003ccode\u003e70d245f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/130\"\u003e#130\u003c/a\u003e from soda92/improve-error-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/d629c8c1541330e4fc50879fbafc0701728e447f\"\u003e\u003ccode\u003ed629c8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/161\"\u003e#161\u003c/a\u003e from y-yagi/fix_changing_parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/fec6733919edb140bbdc429ed4b0492776ebc4a2\"\u003e\u003ccode\u003efec6733\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/166\"\u003e#166\u003c/a\u003e from vivshaw/vivshaw/correct-obsolete-parse\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.3...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Lynquatiq/entitlements-github-plugin/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Lynquatiq/entitlements-github-plugin/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lynquatiq%2Fentitlements-github-plugin/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4196377004","node_id":"PR_kwDOPJd-3c7PpLmd","number":3,"state":"closed","title":"Bump the bundler group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T08:44:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-02T18:52:05.000Z","updated_at":"2026-04-08T08:44:19.000Z","time_to_close":481932,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":5,"packages":[{"name":"faraday","old_version":"2.12.1","new_version":"2.14.1","repository_url":"https://github.com/lostisland/faraday"},{"name":"ruby-lsp","old_version":"0.19.1","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"rack","old_version":"3.0.16","new_version":"3.1.21","repository_url":"https://github.com/rack/rack"},{"name":"rexml","old_version":"3.3.9","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"uri","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Updates the requirements on [faraday](https://github.com/lostisland/faraday), [ruby-lsp](https://github.com/Shopify/ruby-lsp), [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [uri](https://github.com/ruby/uri) to permit the latest version.\nUpdates `faraday` from 2.12.1 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/lostisland/faraday/releases\"\u003efaraday's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eSecurity Note\u003c/h2\u003e\n\u003cp\u003eThis release contains a security fix, we recommend all users to upgrade as soon as possible.\nA Security Advisory with more details will be posted shortly.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd RFC document for Options architecture refactoring plan by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1644\"\u003elostisland/faraday#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1655\"\u003elostisland/faraday#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit top-level namespace reference by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1657\"\u003elostisland/faraday#1657\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/lostisland/faraday/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\u003ch3\u003eNew features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse newer \u003ccode\u003eUnprocessableContent\u003c/code\u003e naming for 422 by \u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes 🐞\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert strings to UTF-8 by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResponse#to_hash\u003c/code\u003e when response not finished yet by \u003ca href=\"https://github.com/yykamei\"\u003e\u003ccode\u003e@​yykamei\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1639\"\u003elostisland/faraday#1639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc/Docs 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLint: use \u003ccode\u003efilter_map\u003c/code\u003e by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1637\"\u003elostisland/faraday#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eactions/checkout\u003c/code\u003e from v4 to v5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1636\"\u003elostisland/faraday#1636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes documentation by \u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error handling logic and add missing test coverage by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1633\"\u003elostisland/faraday#1633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix type assumption in \u003ccode\u003eFaraday::Error\u003c/code\u003e by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1630\"\u003elostisland/faraday#1630\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/lostisland/faraday/commit/16cbd38ef252d25dedf416a4d2510a2f3db10c87\"\u003e\u003ccode\u003e16cbd38\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/a6d3a3a0bf59c2ab307d0abd91bc126aef5561bc\"\u003e\u003ccode\u003ea6d3a3a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/b23f710d28c0dba169470f568df4017a1e8beea7\"\u003e\u003ccode\u003eb23f710\u003c/code\u003e\u003c/a\u003e Explicit top-level namespace reference (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1657\"\u003e#1657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/49ba4ac3a7359baed634c12a82386f6c8c717ea8\"\u003e\u003ccode\u003e49ba4ac\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/51a49bc99d7df6f724d250d64771e1d710576df7\"\u003e\u003ccode\u003e51a49bc\u003c/code\u003e\u003c/a\u003e Ensure Claude reads the guidelines and allow to plan in a gitignored .ai/PLAN...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/894f65cab8f04bcf35e84a2dfd9fc0286dbce340\"\u003e\u003ccode\u003e894f65c\u003c/code\u003e\u003c/a\u003e Add RFC document for Options architecture refactoring plan (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/397e3ded0c5166313bb22f1c0221b36b6023fd0f\"\u003e\u003ccode\u003e397e3de\u003c/code\u003e\u003c/a\u003e Add comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/d98c65cfc254ea2898386e4359428527122abec3\"\u003e\u003ccode\u003ed98c65c\u003c/code\u003e\u003c/a\u003e Update Faraday-specific AI agent guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/56c18ecb718e30c5a3a0dea9bd2361912af9013c\"\u003e\u003ccode\u003e56c18ec\u003c/code\u003e\u003c/a\u003e Add AI agent guidelines specific to Faraday repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/3201a42957d37efc968ee8834ba9b50ed5dde54a\"\u003e\u003ccode\u003e3201a42\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.12.1...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.19.1 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.19.1...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.0.16 to 3.1.21\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.21] - 2026-04-01\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-7mqq-6cf9-v2qp\"\u003eCVE-2026-34763\u003c/a\u003e Root directory disclosure via unescaped regex interpolation in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v569-hp3g-36wr\"\u003eCVE-2026-34230\u003c/a\u003e Avoid O(n^2) algorithm in \u003ccode\u003eRack::Utils.select_best_encoding\u003c/code\u003e which could lead to denial of service.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qfgr-crr9-7r49\"\u003eCVE-2026-32762\u003c/a\u003e Forwarded header semicolon injection enables Host and Scheme spoofing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-vgpv-f759-9wx3\"\u003eCVE-2026-26961\u003c/a\u003e Raise error for multipart requests with multiple boundary parameters.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q4qf-9j86-f5mh\"\u003eCVE-2026-34786\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e \u003ccode\u003eheader_rules\u003c/code\u003e bypass via URL-encoded path mismatch.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q2ww-5357-x388\"\u003eCVE-2026-34831\u003c/a\u003e \u003ccode\u003eContent-Length\u003c/code\u003e mismatch in \u003ccode\u003eRack::Files\u003c/code\u003e error responses.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-x8cg-fq8g-mxfx\"\u003eCVE-2026-34826\u003c/a\u003e Multipart byte range processing allows denial of service via excessive overlapping ranges.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-g2pf-xv49-m2h5\"\u003eCVE-2026-34835\u003c/a\u003e \u003ccode\u003eRack::Request\u003c/code\u003e accepts invalid Host characters, enabling host allowlist bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qv7j-4883-hwh7\"\u003eCVE-2026-34830\u003c/a\u003e \u003ccode\u003eRack::Sendfile\u003c/code\u003e header-based \u003ccode\u003eX-Accel-Mapping\u003c/code\u003e regex injection enables unauthorized \u003ccode\u003eX-Accel-Redirect\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-h2jq-g4cq-5ppq\"\u003eCVE-2026-34785\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e prefix matching can expose unintended files under the static root.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-8vqr-qjwx-82mw\"\u003eCVE-2026-34829\u003c/a\u003e Multipart parsing without \u003ccode\u003eContent-Length\u003c/code\u003e header allows unbounded chunked file uploads.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v6x5-cg8r-vv6x\"\u003eCVE-2026-34827\u003c/a\u003e Multipart header parsing allows denial of service via escape-heavy quoted parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.20] - 2026-02-16\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-whrj-4476-wvmp\"\u003eCVE-2026-25500\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-mxw3-3hh2-x2mh\"\u003eCVE-2026-22860\u003c/a\u003e Directory traversal via root prefix bypass in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.19] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.18] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.17] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.16] - 2025-06-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-47m2-26rw-j2jw\"\u003eCVE-2025-49007\u003c/a\u003e Fix ReDoS in multipart request.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ae8431120e66e92d1885ab8ec0a553d9cad5ec13\"\u003e\u003ccode\u003eae84311\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/87961c306df1894fb5efaa57d29179091b4bc194\"\u003e\u003ccode\u003e87961c3\u003c/code\u003e\u003c/a\u003e Fix typo in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fd1c23dc762225e68b50d392142e6a6bf54bf9af\"\u003e\u003ccode\u003efd1c23d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003elogger\u003c/code\u003e to gemfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c59d924f215e41ae8ce1bae1633c34f1ca64b182\"\u003e\u003ccode\u003ec59d924\u003c/code\u003e\u003c/a\u003e Fix test expectation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/176f468e0d575e2f4d7583ff95f30bb53360e3fe\"\u003e\u003ccode\u003e176f468\u003c/code\u003e\u003c/a\u003e Add Ruby v4.0 to the test matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/28569342665fee07f161f0974826eb85c1244533\"\u003e\u003ccode\u003e2856934\u003c/code\u003e\u003c/a\u003e Drop EOL Rubies from external tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/17ce7836be1523a7b453f3c06fe070ad7c954708\"\u003e\u003ccode\u003e17ce783\u003c/code\u003e\u003c/a\u003e Limit the number of quoted escapes during multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/367a2a0ec6fbef605c9412dadfd5763b7867441f\"\u003e\u003ccode\u003e367a2a0\u003c/code\u003e\u003c/a\u003e Add Content-Length size check in Rack::Multipart::Parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/a17cb99b3440a4db09fb920407adf5ead127704c\"\u003e\u003ccode\u003ea17cb99\u003c/code\u003e\u003c/a\u003e Fix root prefix bug in Rack::Static\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/59a0966a484f2903833fa3e4c81919d3c645738d\"\u003e\u003ccode\u003e59a0966\u003c/code\u003e\u003c/a\u003e Only do a simple substitution on the x-accel-mapping paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v3.0.16...v3.1.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.3.9 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.3.9...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uri` from 1.0.3 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/ruby/uri/releases\"\u003euri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRe-allow consecutive, leading and trailing dots in EMAIL_REGEXP by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\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/uri/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/ruby/uri/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to use the latest version of setup-ruby and bump up to Ruby 3.4 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/uri/pull/158\"\u003eruby/uri#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the mention to removed \u003ccode\u003eURI.escape/URI::Escape\u003c/code\u003e 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/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse a fully qualified name in warning messages 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/ruby/uri/pull/150\"\u003eruby/uri#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eRactor#value\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/163\"\u003eruby/uri#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unnecessary workaround  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/uri/pull/164\"\u003eruby/uri#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape reserved characters in scheme name 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/uri/pull/148\"\u003eruby/uri#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] State that uri library is needed to call Kernel#URI 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/uri/pull/167\"\u003eruby/uri#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer dedicated assertion methods 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/uri/pull/169\"\u003eruby/uri#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the message for unexpected argument 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/uri/pull/171\"\u003eruby/uri#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake URI::regexp schemes case sensitive (\u003ca href=\"https://redirect.github.com/ruby/uri/issues/38\"\u003e#38\u003c/a\u003e) by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/170\"\u003eruby/uri#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe local part should not contain leading or trailing dots in the EMAIL_REGEXP by \u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore checks in \u003ccode\u003eEMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/172\"\u003eruby/uri#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not allow empty host names, as they are not allowed by RFC 3986 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/uri/pull/116\"\u003eruby/uri#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of \u003ccode\u003eURI::MailTo::EMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/173\"\u003eruby/uri#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance test stability 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/uri/pull/174\"\u003eruby/uri#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documents that used \u003ccode\u003eURI::Parser\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/175\"\u003eruby/uri#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/183\"\u003eruby/uri#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eirb\u003c/code\u003e to the Gemfile to fix the warning 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/ruby/uri/pull/182\"\u003eruby/uri#182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace reference to the obsolete URI.escape with URI::RFC2396_PARSER.escape by \u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch a parsing behavior completely when switching a parser 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/ruby/uri/pull/161\"\u003eruby/uri#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove error message by \u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse generic version number to VERSION 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/uri/pull/187\"\u003eruby/uri#187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/ruby/uri/compare/v1.0.4...v1.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch3\u003eSecurity fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.ruby-lang.org/en/news/2025/10/07/uri-cve-2025-61594/\"\u003eCVE-2025-61594\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/uri/commit/f1b05c89ab38667e7564896f994d4d6cfbc67149\"\u003e\u003ccode\u003ef1b05c8\u003c/code\u003e\u003c/a\u003e v1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/8557e8d470ad7b969ba11d210e33b9570919661d\"\u003e\u003ccode\u003e8557e8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/189\"\u003e#189\u003c/a\u003e from osyoyu/restore-whatwg-email-regexp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c551d7020bba3cf452e696d55c451ae951d0f24b\"\u003e\u003ccode\u003ec551d70\u003c/code\u003e\u003c/a\u003e Re-allow consecutive, leading and trailing dots in EMAIL_REGEXP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c41903b3e4df8ba2ceba16a80d3156a97a81e038\"\u003e\u003ccode\u003ec41903b\u003c/code\u003e\u003c/a\u003e v1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/b433f3499202b2abc27c5211554195243d083f88\"\u003e\u003ccode\u003eb433f34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/187\"\u003e#187\u003c/a\u003e from ruby/switch-version-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/1fc4f0496a2d44f4af317d8f786a50e9f6918656\"\u003e\u003ccode\u003e1fc4f04\u003c/code\u003e\u003c/a\u003e Use generic version number to VERSION and generate VERSION_CODE from that\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/e8306800d9b58f37f3847e8d598599cb1ef36f3c\"\u003e\u003ccode\u003ee830680\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/70d245fa46786b9aa4970c4b815cfe8b1b823bf6\"\u003e\u003ccode\u003e70d245f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/130\"\u003e#130\u003c/a\u003e from soda92/improve-error-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/d629c8c1541330e4fc50879fbafc0701728e447f\"\u003e\u003ccode\u003ed629c8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/161\"\u003e#161\u003c/a\u003e from y-yagi/fix_changing_parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/fec6733919edb140bbdc429ed4b0492776ebc4a2\"\u003e\u003ccode\u003efec6733\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/166\"\u003e#166\u003c/a\u003e from vivshaw/vivshaw/correct-obsolete-parse\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.3...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Lynquatiq/entitlements-github-plugin/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Lynquatiq/entitlements-github-plugin/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lynquatiq%2Fentitlements-github-plugin/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"4156362418","node_id":"PR_kwDODZl5Cc7OLead","number":52,"state":"open","title":"chore(deps-dev): bump ruby-lsp from 0.26.4 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T22:57:06.000Z","updated_at":"2026-03-27T22:57:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.4 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.4...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.4\u0026new-version=0.26.9)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/daisaja/energymeterdashboard/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/daisaja/energymeterdashboard/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/daisaja%2Fenergymeterdashboard/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"},{"uuid":"4156347317","node_id":"PR_kwDOASFY4M7OLcRM","number":1112,"state":"closed","title":"Bump ruby-lsp from 0.26.7 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-29T09:47:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T22:52:28.000Z","updated_at":"2026-03-29T09:47:31.000Z","time_to_close":125702,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.9)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/yannis/kasaharacup/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/yannis/kasaharacup/pull/1112","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yannis%2Fkasaharacup/issues/1112","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1112/packages"},{"uuid":"4156342102","node_id":"PR_kwDODkuHzc7OLbeI","number":420,"state":"open","title":"Bump ruby-lsp from 0.26.7 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T22:51:09.000Z","updated_at":"2026-03-27T22:54:29.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.9)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hathitrust/holdings-backend/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/hathitrust/holdings-backend/pull/420","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hathitrust%2Fholdings-backend/issues/420","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/420/packages"},{"uuid":"4156334703","node_id":"PR_kwDONpA8Lc7OLaDn","number":9,"state":"open","title":"build(deps-dev): bump ruby-lsp from 0.23.5 to 0.26.9 in the bundler group across 1 directory","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-03-27T22:48:53.000Z","updated_at":"2026-03-27T22:49:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.23.5","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":"the bundler group across 1 directory","ecosystem":"rubygems"},"body":"Bumps the bundler group with 1 update in the / directory: [ruby-lsp](https://github.com/Shopify/ruby-lsp).\n\nUpdates `ruby-lsp` from 0.23.5 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.23.5...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.23.5\u0026new-version=0.26.9)](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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/JarenGarman/beat_box/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/JarenGarman/beat_box/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JarenGarman%2Fbeat_box/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4156334251","node_id":"PR_kwDORULQfc7OLZ9z","number":60,"state":"open","title":"DEPS: Bump ruby-lsp from 0.26.4 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T22:48:46.000Z","updated_at":"2026-03-27T22:49:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.4 to 0.26.9.\n- [Release notes](https://github.com/Shopify/ruby-lsp/releases)\n- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.26.4...v0.26.9)","html_url":"https://github.com/PixeeSandbox/discourse/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixeeSandbox%2Fdiscourse/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"},{"uuid":"4153291535","node_id":"PR_kwDORUa1PM7OEhfw","number":24,"state":"closed","title":"chore(deps-dev): bump ruby-lsp from 0.26.7 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T09:46:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T14:37:20.000Z","updated_at":"2026-04-03T09:46:37.000Z","time_to_close":587355,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.9)](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/maggie96206/task-management-system/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/maggie96206%2Ftask-management-system/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"4150518618","node_id":"PR_kwDORNH1w87N-g4Q","number":14,"state":"closed","title":"build(deps): bump the bundler group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T08:14:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T08:17:50.000Z","updated_at":"2026-04-03T08:14:54.000Z","time_to_close":604622,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"bundler","update_count":31,"packages":[{"name":"rubocop-ast","old_version":"1.48.0","new_version":"1.49.1","repository_url":"https://github.com/rubocop/rubocop-ast"},{"name":"minitest","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/minitest/minitest"},{"name":"kramdown","old_version":"2.5.1","new_version":"2.5.2","repository_url":"https://github.com/gettalong/kramdown"},{"name":"ruby-prof","old_version":"1.7.2","new_version":"2.0.4","repository_url":"https://github.com/ruby-prof/ruby-prof"},{"name":"stackprof","old_version":"0.2.27","new_version":"0.2.28","repository_url":"https://github.com/tmm1/stackprof"},{"name":"vernier","old_version":"1.9.0","new_version":"1.10.0","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"rubocop","old_version":"1.82.0","new_version":"1.85.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-md","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/rubocop/rubocop-md"},{"name":"rubocop-rspec","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-sorbet","old_version":"0.11.0","new_version":"0.12.0","repository_url":"https://github.com/shopify/rubocop-sorbet"},{"name":"test-prof","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/test-prof/test-prof"},{"name":"parallel_tests","old_version":"5.5.0","new_version":"5.6.0","repository_url":"https://github.com/grosser/parallel_tests"},{"name":"sorbet-static-and-runtime","old_version":"0.6.12865","new_version":"0.6.13051","repository_url":"https://github.com/sorbet/sorbet"},{"name":"tapioca","old_version":"0.17.10","new_version":"0.18.0","repository_url":"https://github.com/Shopify/tapioca"},{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"addressable","old_version":"2.8.8","new_version":"2.8.9","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"ruby-macho","old_version":"4.1.0","new_version":"5.0.0","repository_url":"https://github.com/Homebrew/ruby-macho"},{"name":"rspec-mocks","old_version":"3.13.7","new_version":"3.13.8","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 19 updates in the /Library/Homebrew directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rubocop-ast](https://github.com/rubocop/rubocop-ast) | `1.48.0` | `1.49.1` |\n| [minitest](https://github.com/minitest/minitest) | `6.0.0` | `6.0.2` |\n| [kramdown](https://github.com/gettalong/kramdown) | `2.5.1` | `2.5.2` |\n| [ruby-prof](https://github.com/ruby-prof/ruby-prof) | `1.7.2` | `2.0.4` |\n| [stackprof](https://github.com/tmm1/stackprof) | `0.2.27` | `0.2.28` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.9.0` | `1.10.0` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.82.0` | `1.85.1` |\n| [rubocop-md](https://github.com/rubocop/rubocop-md) | `2.0.3` | `2.0.4` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.8.0` | `3.9.0` |\n| [rubocop-sorbet](https://github.com/shopify/rubocop-sorbet) | `0.11.0` | `0.12.0` |\n| [test-prof](https://github.com/test-prof/test-prof) | `1.5.0` | `1.6.0` |\n| [parallel_tests](https://github.com/grosser/parallel_tests) | `5.5.0` | `5.6.0` |\n| [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) | `0.6.12865` | `0.6.13051` |\n| [tapioca](https://github.com/Shopify/tapioca) | `0.17.10` | `0.18.0` |\n| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.26.4` | `0.26.8` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.8` | `2.8.9` |\n| [ruby-macho](https://github.com/Homebrew/ruby-macho) | `4.1.0` | `5.0.0` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.7` | `3.13.8` |\n\n\nUpdates `rubocop-ast` from 1.48.0 to 1.49.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-ast/releases\"\u003erubocop-ast's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop AST v1.49.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-ast/pull/399\"\u003e#399\u003c/a\u003e: Fix unification variables not persisting in any-order nodes. (\u003ca href=\"https://github.com/marcandre\"\u003e\u003ccode\u003e@​marcandre\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRuboCop AST v1.49.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-ast/pull/394\"\u003e#394\u003c/a\u003e: Support Ruby 4.1 (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\u003c/blockquote\u003e\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-ast/blob/master/CHANGELOG.md\"\u003erubocop-ast's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.49.1 (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-ast/pull/399\"\u003e#399\u003c/a\u003e: Fix unification variables not persisting in any-order nodes. ([\u003ca href=\"https://github.com/marcandre\"\u003e\u003ccode\u003e@​marcandre\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.49.0 (2025-12-28)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-ast/pull/394\"\u003e#394\u003c/a\u003e: Support Ruby 4.1 (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\u003c/blockquote\u003e\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-ast/commit/c249734326830f7413c78b77fa8cf1762a9da44e\"\u003e\u003ccode\u003ec249734\u003c/code\u003e\u003c/a\u003e Cut 1.49.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/145839b8ad0e622abe18de7790bc1a36f6b698b7\"\u003e\u003ccode\u003e145839b\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/aea6f62b383ed4371472adead94220baa50e9cd5\"\u003e\u003ccode\u003eaea6f62\u003c/code\u003e\u003c/a\u003e Fix unification variables not persisting in any-order nodes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/1e260ff68975804174ce5fb80601f039b6102533\"\u003e\u003ccode\u003e1e260ff\u003c/code\u003e\u003c/a\u003e Fix latest RuboCop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/a9c9ffb00ac6b5a86771a327c42e0b8111e75899\"\u003e\u003ccode\u003ea9c9ffb\u003c/code\u003e\u003c/a\u003e Add blocknilarg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/2bcb8189d54d7bd54fb71ac34b5a554289fda07d\"\u003e\u003ccode\u003e2bcb818\u003c/code\u003e\u003c/a\u003e Suppress RuboCop's offense\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/380e10d4d1a605b01deb2a49643dd7cb3518bfc0\"\u003e\u003ccode\u003e380e10d\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003eprism_spec\u003c/code\u003e from the default Rake task\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/69036498c11ca944c6099d1b672ba408f34a3eb4\"\u003e\u003ccode\u003e6903649\u003c/code\u003e\u003c/a\u003e Restore docs/antora.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/ba542c8e0bd0d6a2fdeb7ee11bdc85f02dc6d2ea\"\u003e\u003ccode\u003eba542c8\u003c/code\u003e\u003c/a\u003e Cut 1.49.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/60b64d0a63bf016868e0ff2914ab20f0bb37d669\"\u003e\u003ccode\u003e60b64d0\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-ast/compare/v1.48.0...v1.49.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minitest/minitest/blob/master/History.rdoc\"\u003eminitest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 6.0.2 / 2026-02-23\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e7 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing drb dependency from minitest-server. (y-yagi)\u003c/li\u003e\n\u003cli\u003eCleaned up bisect's sub-commands to load files directly, not ruby+require.\u003c/li\u003e\n\u003cli\u003eFixed bisect to use same cmd ($0) to run tests as original invocation.\u003c/li\u003e\n\u003cli\u003eload server_plugin if server is loaded. (y-yagi)\u003c/li\u003e\n\u003cli\u003eManipulate local args instead of ARGV in Sprint.run.\u003c/li\u003e\n\u003cli\u003eOnly show --bisect in usage if using minitest.\u003c/li\u003e\n\u003cli\u003eRemove -Itest:lib from bisect's rb_flags since bin/minitest adds them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 6.0.1 / 2025-12-26\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e1 minor enhancement:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new rake task \u003ccode\u003etest:fu\u003c/code\u003e to Minitest::TestTask, to only run\ntests with FU (focused units?) in their name. This should mostly\nobviate the need for the minitest-focus plugin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e5 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed --help and --version exiting 1. (grosser)\u003c/li\u003e\n\u003cli\u003eFixed method signature of Minitest::Benchmark.run. (flavorjones)\u003c/li\u003e\n\u003cli\u003eFlush stdout/stderr before exit./bin/minitest -Ilib ./bug1046.rb:1 \u0026lt; /dev/null (grosser)\u003c/li\u003e\n\u003cli\u003eImproved usage banner output by reordering and reformatting.\u003c/li\u003e\n\u003cli\u003eNormalize paths while processing file.rb:line args.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/339492cbaec5c460ec278e754199619d6431af35\"\u003e\u003ccode\u003e339492c\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/73eb48e8ee893656e5d553537c54ebf93dcbfdd0\"\u003e\u003ccode\u003e73eb48e\u003c/code\u003e\u003c/a\u003e Fixed some doco coverage... still running into tons of pain with rdoc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/58387c7cda3b2fd14208fdc6fc749fe86c68e54c\"\u003e\u003ccode\u003e58387c7\u003c/code\u003e\u003c/a\u003e - Fixed bisect to use same cmd ($0) to run tests as original invocation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/2a529a042dd9394eb13f6f2ab0e372e71cb7b30c\"\u003e\u003ccode\u003e2a529a0\u003c/code\u003e\u003c/a\u003e y-yagi is smart and I am dum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/cf465a6ae1b3d9991ba42dc78980e6f9b7f30cf2\"\u003e\u003ccode\u003ecf465a6\u003c/code\u003e\u003c/a\u003e - Only show --bisect in usage if using minitest.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/e5ad492c531a560b9b6cd04e6b220e8900e6eb88\"\u003e\u003ccode\u003ee5ad492\u003c/code\u003e\u003c/a\u003e Push up server_plugin fix to minitest.rb guarded by env.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/a7aeb10ede0bf9e83527b8ace9eb164cf041387a\"\u003e\u003ccode\u003ea7aeb10\u003c/code\u003e\u003c/a\u003e Fixed up tests to be line independent.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/59ac1fa718adaa66ad0873e544559a5b7da387f8\"\u003e\u003ccode\u003e59ac1fa\u003c/code\u003e\u003c/a\u003e - MT6: load server_plugin if server is loaded. (y-yagi)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/dba350e0c17a11c10f732a14722c2e3b97615fa8\"\u003e\u003ccode\u003edba350e\u003c/code\u003e\u003c/a\u003e - Manipulate local args instead of ARGV in Sprint.run.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/8e008ed6259f1f33116d7cba3d5f7788d71f56df\"\u003e\u003ccode\u003e8e008ed\u003c/code\u003e\u003c/a\u003e Added new rdoc rsync location.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.0...v6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `kramdown` from 2.5.1 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/gettalong/kramdown/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-prof` from 1.7.2 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-prof/ruby-prof/blob/master/CHANGELOG.md\"\u003eruby-prof's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.4 (2026-03-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix NoMethodError when sort_method is nil (issue \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken source_code_uri on rubygems.org (issue \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.3 (2026-02-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unnecessary visited set from FlameGraphPrinter (call tree is always acyclic)\u003c/li\u003e\n\u003cli\u003eRemove sort_by in FlameGraphPrinter to preserve natural call order\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emax_depth\u003c/code\u003e option to FlameGraphPrinter, CallStackPrinter, CallInfoPrinter, and CallTreeVisitor\u003c/li\u003e\n\u003cli\u003eAdd documentation covering call tree construction and recursion handling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.2 (2026-02-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bin/ruby-prof passing printer options as positional arguments instead of keyword arguments\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.1 (2026-02-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eConvert bin/ruby-prof endings from CRLF to LF\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.0 (2026-02-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 support.\u003c/li\u003e\n\u003cli\u003eAdd flame graph visualizations with icicle mode toggle\u003c/li\u003e\n\u003cli\u003eLots of documentation updates!\u003c/li\u003e\n\u003cli\u003eApply consistent styling across all reports\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eProfile#measure_mode_name\u003c/code\u003e method for human-friendly measurement mode names (e.g., \u0026quot;Wall Time\u0026quot; instead of \u0026quot;wall_time\u0026quot;)\u003c/li\u003e\n\u003cli\u003eFix DotPrinter generating self-referencing edges (was using callers instead of callees)\u003c/li\u003e\n\u003cli\u003eAdd Graphviz Online viewer link for dot output\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBackwards Incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003eRubyProf::MEMORY\u003c/code\u003e measurement mode (no longer works on Ruby 4.0+)\u003c/li\u003e\n\u003cli\u003eRemove compatibility API that was scheduled for removal in 2023\u003c/li\u003e\n\u003cli\u003ePrinter options now use keyword arguments instead of an options hash. For example:\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# Before:\nprinter.print(STDOUT, :min_percent =\u0026gt; 2, :sort_method =\u0026gt; :self_time)\n# After:\nprinter.print(STDOUT, min_percent: 2, sort_method: :self_time)\n\u003c/code\u003e\u003c/pre\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-prof/ruby-prof/commit/6c7770d3e14026811ca5d4d33774d7a8a111f902\"\u003e\u003ccode\u003e6c7770d\u003c/code\u003e\u003c/a\u003e Version 2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/b6b50e295fac42bd2fa10735a5cae6d06fd83b45\"\u003e\u003ccode\u003eb6b50e2\u003c/code\u003e\u003c/a\u003e Make sure sort_method is set. Fixes \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/349\"\u003e#349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/85ece954d0d1291f70aff85d9fc8b6efabb00a6e\"\u003e\u003ccode\u003e85ece95\u003c/code\u003e\u003c/a\u003e Fix source_code_uri. \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/350\"\u003e#350\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/9b68fff2e8f6c6ca2a72860ac47e7c080d43365f\"\u003e\u003ccode\u003e9b68fff\u003c/code\u003e\u003c/a\u003e Version 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/0763dd6003b728f440eba0ef25985053b00ae347\"\u003e\u003ccode\u003e0763dd6\u003c/code\u003e\u003c/a\u003e Add max_depth parameter.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/bde39df5ec1cc99ae2aef5095f6fb48c770b918c\"\u003e\u003ccode\u003ebde39df\u003c/code\u003e\u003c/a\u003e Update Architecture with some nice diagrams and an explanation on how recursi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/8179ef65a6ebf2f0f014a6804ef62e533048177d\"\u003e\u003ccode\u003e8179ef6\u003c/code\u003e\u003c/a\u003e Clean up FlameGraphPrinter and do not sort methods, they should be rendered i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/4a9b93123e6761549b8cb8d416a86469fa8e97de\"\u003e\u003ccode\u003e4a9b931\u003c/code\u003e\u003c/a\u003e flame_graph_printer.rb: fix false positive recusion detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/5275114d6c8e5595434fb5acbdacf102795dfbf7\"\u003e\u003ccode\u003e5275114\u003c/code\u003e\u003c/a\u003e Version 5.0.2 - fix bug in ruby-prof when generating printouts.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/d8fa4b7208b528a167352366f904bb48e9a7681d\"\u003e\u003ccode\u003ed8fa4b7\u003c/code\u003e\u003c/a\u003e Line endings.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-prof/ruby-prof/compare/1.7.2...2.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `stackprof` from 0.2.27 to 0.2.28\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/4367efa4b8bcba213094abf5d48f90d6a552e427\"\u003e\u003ccode\u003e4367efa\u003c/code\u003e\u003c/a\u003e bumping version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/8d57d8e46838a8b0661456a47055e3b4801b69d7\"\u003e\u003ccode\u003e8d57d8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tmm1/stackprof/issues/240\"\u003e#240\u003c/a\u003e from nobu/postponed_jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/1608c54e80a7e3715228e0c9ac622a85246feb8b\"\u003e\u003ccode\u003e1608c54\u003c/code\u003e\u003c/a\u003e Adjust tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/ffb5d08d4ec4ec69814325a481ae9d2f42d5cb32\"\u003e\u003ccode\u003effb5d08\u003c/code\u003e\u003c/a\u003e Use the newer postponed_jobs APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/6cf881b743f0b0c80ba6ddb56c726fc12df522b4\"\u003e\u003ccode\u003e6cf881b\u003c/code\u003e\u003c/a\u003e Use NUM2UINT for usec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/8085169f071b2e25d5d798482bd1737e012af877\"\u003e\u003ccode\u003e8085169\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tmm1/stackprof/issues/238\"\u003e#238\u003c/a\u003e from aidenfoxivey/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/fae0152c6269a8fb7f60aabfd7bc6fb715499bd6\"\u003e\u003ccode\u003efae0152\u003c/code\u003e\u003c/a\u003e Read only first two bytes to check signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/5d832832e4afcb88521292d6dfad4a9af760ef7c\"\u003e\u003ccode\u003e5d83283\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tmm1/stackprof/issues/234\"\u003e#234\u003c/a\u003e from boimw/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/93ab15fa673a3954bea6687553779576ecf38db3\"\u003e\u003ccode\u003e93ab15f\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tmm1/stackprof/compare/v0.2.27...v0.2.28\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vernier` from 1.9.0 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c3252a3887ec0f66fc16c8f4c57da4ddb81f66d2\"\u003e\u003ccode\u003ec3252a3\u003c/code\u003e\u003c/a\u003e v1.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f0487f61ac28368b0652351771349c5964aa6986\"\u003e\u003ccode\u003ef0487f6\u003c/code\u003e\u003c/a\u003e Remove rescue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c177e623a7a47e0c78d1b963d7f61dbfc0d2b2f5\"\u003e\u003ccode\u003ec177e62\u003c/code\u003e\u003c/a\u003e Only PTR2NUM if undefined\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/cdf47a64431c68e7ad0435079ab25d15661f4784\"\u003e\u003ccode\u003ecdf47a6\u003c/code\u003e\u003c/a\u003e Just require, don't bother with relative\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/7d0af83a591ef05071f97c0541fce4b6e49bda25\"\u003e\u003ccode\u003e7d0af83\u003c/code\u003e\u003c/a\u003e Widen memory RSS test range for Ruby 4.1dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f5db8435619bdfeaddff49b678899af8274f1e10\"\u003e\u003ccode\u003ef5db843\u003c/code\u003e\u003c/a\u003e Fix ParsedProfile func_first_lineno for markdown output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c0be1216f3407ed796d6ab0d1ec5e469f8ec3e74\"\u003e\u003ccode\u003ec0be121\u003c/code\u003e\u003c/a\u003e Fix heap_tracker assertion failure on Ruby 4.1dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/cda1041fda9b3d2375ec96ea7256572db0d9b413\"\u003e\u003ccode\u003ecda1041\u003c/code\u003e\u003c/a\u003e Require ext wherever it is on the load path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/3c095157db076b320b43435f4749971051a3bc95\"\u003e\u003ccode\u003e3c09515\u003c/code\u003e\u003c/a\u003e Fix function lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/91e95bd5d082204956a10e7228ebda660de8bb09\"\u003e\u003ccode\u003e91e95bd\u003c/code\u003e\u003c/a\u003e Don't put filenames in code blocks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhawthorn/vernier/compare/v1.9.0...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pry` from 0.15.2 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/releases\"\u003epry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.16.0\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pry/pry/pull/2343\"\u003epry/pry#2343\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ehttps://github.com/pry/pry/compare/v0.15.2...v0.16.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/blob/master/CHANGELOG.md\"\u003epry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/pry/pry/blob/master/v0.16.0\"\u003ehttps://github.com/pry/pry/blob/master/v0.16.0\u003c/a\u003e (December 26, 2025)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/5a267df08ad6a69dcb890733a2765b47585439c8\"\u003e\u003ccode\u003e5a267df\u003c/code\u003e\u003c/a\u003e v0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/538b15043c66e18ff98d1948b7fd1c22a73b042b\"\u003e\u003ccode\u003e538b150\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/0a7ab20e34feb3f7952c47392b2a8030c5f161ce\"\u003e\u003ccode\u003e0a7ab20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2361\"\u003e#2361\u003c/a\u003e from andrehjr/remove-outdated-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/8dcb2c82fffdb846b961f5d1e555dba3e9450ab5\"\u003e\u003ccode\u003e8dcb2c8\u003c/code\u003e\u003c/a\u003e Remove pinned method_source version for Ruby \u0026lt; 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/fc9969bca186a252b1a43d85b663f4352bc8b6ec\"\u003e\u003ccode\u003efc9969b\u003c/code\u003e\u003c/a\u003e Remove psych pinned version from Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/23b3ed6b737d190f95abaf30478a749c6b8d9b95\"\u003e\u003ccode\u003e23b3ed6\u003c/code\u003e\u003c/a\u003e Remove hardcoded require for rubocop \u0026gt; 2.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/e9ac449c1d7a3607a87d15d6be19d7a6be3645ad\"\u003e\u003ccode\u003ee9ac449\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2349\"\u003e#2349\u003c/a\u003e from andrehjr/no-readline-installed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/679249bc189c3bd7fb187dc174a08a3ff88ec1da\"\u003e\u003ccode\u003e679249b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2359\"\u003e#2359\u003c/a\u003e from andrehjr/remove-experiental-autoresize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/17d5954f7ea2ebddb38a9af9f1987d2997d0e62b\"\u003e\u003ccode\u003e17d5954\u003c/code\u003e\u003c/a\u003e Remove experimental Pry.auto_resize!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/090822bcabcedba392ceaea5b4549d04c2cab7dd\"\u003e\u003ccode\u003e090822b\u003c/code\u003e\u003c/a\u003e Pry will only support Ruby 2.6+ form now on\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop` from 1.82.0 to 1.85.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.85.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14958\"\u003e#14958\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when \u003ccode\u003eFile.open\u003c/code\u003e is passed as an argument or returned from a method. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14973\"\u003e#14973\u003c/a\u003e: Fix \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e false positive when accumulator is read in key/value. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14964\"\u003e#14964\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parenthesizing a range in a block 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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14969\"\u003e#14969\u003c/a\u003e: Autoload formatters; they're required only when actually used. (\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\u003ch2\u003eRuboCop v1.85.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14921\"\u003e#14921\u003c/a\u003e: Add \u003ccode\u003emise.toml\u003c/code\u003e as source for TargetRubyVersion. ([\u003ca href=\"https://github.com/kitsane\"\u003e\u003ccode\u003e@​kitsane\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14925\"\u003e#14925\u003c/a\u003e: Add new \u003ccode\u003eLint/UnreachablePatternBranch\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14942\"\u003e#14942\u003c/a\u003e: Add new \u003ccode\u003eStyle/FileOpen\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14939\"\u003e#14939\u003c/a\u003e: Add new \u003ccode\u003eStyle/MapJoin\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14924\"\u003e#14924\u003c/a\u003e: Add new \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14923\"\u003e#14923\u003c/a\u003e: Add new \u003ccode\u003eStyle/PartitionInsteadOfDoubleSelect\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14811\"\u003e#14811\u003c/a\u003e: Add new \u003ccode\u003eStyle/PredicateWithKind\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14938\"\u003e#14938\u003c/a\u003e: Add new \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14812\"\u003e#14812\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantMinMaxBy\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/13501\"\u003e#13501\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop. (\u003ca href=\"https://github.com/koic\"\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/14808\"\u003e#14808\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByKind\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14810\"\u003e#14810\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByRange\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14922\"\u003e#14922\u003c/a\u003e: Add new \u003ccode\u003eStyle/TallyMethod\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14773\"\u003e#14773\u003c/a\u003e: Add new \u003ccode\u003eLint/DataDefineOverride\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14781\"\u003e#14781\u003c/a\u003e: Add new \u003ccode\u003eInternalAffairs/ItblockHandler\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14911\"\u003e#14911\u003c/a\u003e: Support built-in MCP server (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/issues/14829\"\u003e#14829\u003c/a\u003e: Allow classes without a superclass in \u003ccode\u003eStyle/EmptyClassDefinition\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/14873\"\u003e#14873\u003c/a\u003e: Fix an error in \u003ccode\u003eStyle/NegatedWhile\u003c/code\u003e when the last expression of an \u003ccode\u003euntil\u003c/code\u003e condition is negated. (\u003ca href=\"https://github.com/koic\"\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/14827\"\u003e#14827\u003c/a\u003e: Improve \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e message wording. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14800\"\u003e#14800\u003c/a\u003e: Fix false obsolete configuration error for extracted cops when loaded as plugins. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14928\"\u003e#14928\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/Void\u003c/code\u003e when \u003ccode\u003enil\u003c/code\u003e is used in \u003ccode\u003ecase\u003c/code\u003e branch. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14857\"\u003e#14857\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/IfUnlessModifier\u003c/code\u003e when modifier forms are used inside string interpolations. (\u003ca href=\"https://github.com/koic\"\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/8773\"\u003e#8773\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/HashTransformKeys\u003c/code\u003e and \u003ccode\u003eStyle/HashTransformValues\u003c/code\u003e. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/6963\"\u003e#6963\u003c/a\u003e: Fix false positives in \u003ccode\u003eLint/Void\u003c/code\u003e for \u003ccode\u003eeach\u003c/code\u003e blocks where the return value may be meaningful (e.g., \u003ccode\u003eEnumerator#each\u003c/code\u003e). (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14931\"\u003e#14931\u003c/a\u003e: Ignore directive comments inside comments. (\u003ca href=\"https://github.com/koic\"\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/14834\"\u003e#14834\u003c/a\u003e: Fix \u003ccode\u003eLayout/IndentationWidth\u003c/code\u003e false positive for chained method blocks when \u003ccode\u003eEnforcedStyleAlignWith\u003c/code\u003e is \u003ccode\u003estart_of_line\u003c/code\u003e. ([\u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14756\"\u003e#14756\u003c/a\u003e: Fix \u003ccode\u003eLint/Void\u003c/code\u003e to detect void expressions in \u003ccode\u003ecase\u003c/code\u003e/\u003ccode\u003ewhen\u003c/code\u003e branches. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14874\"\u003e#14874\u003c/a\u003e: Fix a \u003ccode\u003eParser::ClobberingError\u003c/code\u003e in \u003ccode\u003eLint/UselessAssignment\u003c/code\u003e when autocorrecting a useless assignment that wraps a block containing another useless assignment. (\u003ca href=\"https://github.com/koic\"\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/14880\"\u003e#14880\u003c/a\u003e: Fix a false negative in \u003ccode\u003eLayout/MultilineAssignmentLayout\u003c/code\u003e when using \u003ccode\u003enumblock\u003c/code\u003e or \u003ccode\u003eitblock\u003c/code\u003e with \u003ccode\u003eSupportedTypes: ['block']\u003c/code\u003e. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\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.85.1 (2026-03-03)\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/14958\"\u003e#14958\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when \u003ccode\u003eFile.open\u003c/code\u003e is passed as an argument or returned from a method. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14973\"\u003e#14973\u003c/a\u003e: Fix \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e false positive when accumulator is read in key/value. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14964\"\u003e#14964\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parenthesizing a range in a block 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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14969\"\u003e#14969\u003c/a\u003e: Autoload formatters; they're required only when actually used. ([\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\u003ch2\u003e1.85.0 (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14921\"\u003e#14921\u003c/a\u003e: Add \u003ccode\u003emise.toml\u003c/code\u003e as source for TargetRubyVersion. ([\u003ca href=\"https://github.com/kitsane\"\u003e\u003ccode\u003e@​kitsane\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14925\"\u003e#14925\u003c/a\u003e: Add new \u003ccode\u003eLint/UnreachablePatternBranch\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14942\"\u003e#14942\u003c/a\u003e: Add new \u003ccode\u003eStyle/FileOpen\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14939\"\u003e#14939\u003c/a\u003e: Add new \u003ccode\u003eStyle/MapJoin\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14924\"\u003e#14924\u003c/a\u003e: Add new \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14923\"\u003e#14923\u003c/a\u003e: Add new \u003ccode\u003eStyle/PartitionInsteadOfDoubleSelect\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14811\"\u003e#14811\u003c/a\u003e: Add new \u003ccode\u003eStyle/PredicateWithKind\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14938\"\u003e#14938\u003c/a\u003e: Add new \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14812\"\u003e#14812\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantMinMaxBy\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/13501\"\u003e#13501\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/koic\"\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/14808\"\u003e#14808\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByKind\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14810\"\u003e#14810\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByRange\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14922\"\u003e#14922\u003c/a\u003e: Add new \u003ccode\u003eStyle/TallyMethod\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14773\"\u003e#14773\u003c/a\u003e: Add new \u003ccode\u003eLint/DataDefineOverride\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14781\"\u003e#14781\u003c/a\u003e: Add new \u003ccode\u003eInternalAffairs/ItblockHandler\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14911\"\u003e#14911\u003c/a\u003e: Support built-in MCP server (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/issues/14829\"\u003e#14829\u003c/a\u003e: Allow classes without a superclass in \u003ccode\u003eStyle/EmptyClassDefinition\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/14873\"\u003e#14873\u003c/a\u003e: Fix an error in \u003ccode\u003eStyle/NegatedWhile\u003c/code\u003e when the last expression of an \u003ccode\u003euntil\u003c/code\u003e condition is negated. ([\u003ca href=\"https://github.com/koic\"\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/14827\"\u003e#14827\u003c/a\u003e: Improve \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e message wording. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14800\"\u003e#14800\u003c/a\u003e: Fix false obsolete configuration error for extracted cops when loaded as plugins. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14928\"\u003e#14928\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/Void\u003c/code\u003e when \u003ccode\u003enil\u003c/code\u003e is used in \u003ccode\u003ecase\u003c/code\u003e branch. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14857\"\u003e#14857\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/IfUnlessModifier\u003c/code\u003e when modifier forms are used inside string interpolations. ([\u003ca href=\"https://github.com/koic\"\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/8773\"\u003e#8773\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/HashTransformKeys\u003c/code\u003e and \u003ccode\u003eStyle/HashTransformValues\u003c/code\u003e. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/6963\"\u003e#6963\u003c/a\u003e: Fix false positives in \u003ccode\u003eLint/Void\u003c/code\u003e for \u003ccode\u003eeach\u003c/code\u003e blocks where the return value may be meaningful (e.g., \u003ccode\u003eEnumerator#each\u003c/code\u003e). ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14931\"\u003e#14931\u003c/a\u003e: Ignore directive comments inside comments. ([\u003ca href=\"https://github.com/koic\"\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/14834\"\u003e#14834\u003c/a\u003e: Fix \u003ccode\u003eLayout/IndentationWidth\u003c/code\u003e false positive for chained method blocks when \u003ccode\u003eEnforcedStyleAlignWith\u003c/code\u003e is \u003ccode\u003estart_of_line\u003c/code\u003e. ([\u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14756\"\u003e#14756\u003c/a\u003e: Fix \u003ccode\u003eLint/Void\u003c/code\u003e to detect void expressions in \u003ccode\u003ecase\u003c/code\u003e/\u003ccode\u003ewhen\u003c/code\u003e branches. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14874\"\u003e#14874\u003c/a\u003e: Fix a \u003ccode\u003eParser::ClobberingError\u003c/code\u003e in \u003ccode\u003eLint/UselessAssignment\u003c/code\u003e when autocorrecting a useless assignment that wraps a block containing another useless assignment. ([\u003ca href=\"https://github.com/koic\"\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/14880\"\u003e#14880\u003c/a\u003e: Fix a false negative in \u003ccode\u003eLayout/MultilineAssignmentLayout\u003c/code\u003e when using \u003ccode\u003enumblock\u003c/code\u003e or \u003ccode\u003eitblock\u003c/code\u003e with \u003ccode\u003eSupportedTypes: ['block']\u003c/code\u003e. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11462\"\u003e#11462\u003c/a\u003e: Fix over-indentation when autocorrecting nested hashes with \u003ccode\u003eLayout/FirstHashElementIndentation\u003c/code\u003e. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14880\"\u003e#14880\u003c/a\u003e: Recognize block on different line from left side of multi-line assignment in \u003ccode\u003eLayout/MultilineAssignmentLayout\u003c/code\u003e. ([\u003ca href=\"https://github.com/sanfrecce-osaka\"\u003e\u003ccode\u003e@​sanfrecce-osaka\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/fd076726f524a9a551f9a528eec2df57e2762146\"\u003e\u003ccode\u003efd07672\u003c/code\u003e\u003c/a\u003e Cut 1.85.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/5c41f90877049254f9921ebef7c06204047fff9d\"\u003e\u003ccode\u003e5c41f90\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/5e8e49241a0e95121dd9977cd8e305e3a871639f\"\u003e\u003ccode\u003e5e8e492\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14975\"\u003e#14975\u003c/a\u003e from sferik/fix_14973\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/90f37805a90515a09870e3770299728d827d5e52\"\u003e\u003ccode\u003e90f3780\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e false positive when accumulator is read in key/value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/90c795960da9c7fbd40b16f3b245eb26a6d564fa\"\u003e\u003ccode\u003e90c7959\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14972\"\u003e#14972\u003c/a\u003e from lovro-bikic/relevant-options-digest-cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/3c20e8dfc234f00a734072ece4db77d0c1e793d7\"\u003e\u003ccode\u003e3c20e8d\u003c/code\u003e\u003c/a\u003e Cache relevant options digest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/e305f79a463c5b281ec6c1309a028da7718eaa8f\"\u003e\u003ccode\u003ee305f79\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14969\"\u003e#14969\u003c/a\u003e from lovro-bikic/autoload-formatter-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/3f0a304d9cc50088bff9fb715efb0d6d3f461daf\"\u003e\u003ccode\u003e3f0a304\u003c/code\u003e\u003c/a\u003e Autoload formatters; they're required only when actually used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/eb973f45f8f61d247ef53346d4f88b88ef5fa094\"\u003e\u003ccode\u003eeb973f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14966\"\u003e#14966\u003c/a\u003e from koic/fix_false_positives_in_style_redundant_pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/3338a40a194fefa010220a9a7cdc4d4005bb5e79\"\u003e\u003ccode\u003e3338a40\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14964\"\u003e#14964\u003c/a\u003e] Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.82.0...v1.85.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-md` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-md/blob/master/CHANGELOG.md\"\u003erubocop-md's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.4 (2026-01-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable caching when no offenses detected.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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-md/commit/d96f4a38ece3f3fd23560d5ac40275457fe8fec1\"\u003e\u003ccode\u003ed96f4a3\u003c/code\u003e\u003c/a\u003e Bump 2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/a006b52f3dc76e2716256d8f606ff3927f4f502d\"\u003e\u003ccode\u003ea006b52\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-md/issues/47\"\u003e#47\u003c/a\u003e from byroot/fix-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/03c1346a45d732d7637e0f73bcd1727a5a40b8f9\"\u003e\u003ccode\u003e03c1346\u003c/code\u003e\u003c/a\u003e Allow caching when there is no offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/da7add1c9e6d1b8e4efaea48b18825acc5d0b7fc\"\u003e\u003ccode\u003eda7add1\u003c/code\u003e\u003c/a\u003e Bump 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/88d1fe82ccb9f99062cd6cf0c0d38afc6e387761\"\u003e\u003ccode\u003e88d1fe8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-md/issues/46\"\u003e#46\u003c/a\u003e from rubocop/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/18bac0ece9175022b59a78b81629d98a9a2282bb\"\u003e\u003ccode\u003e18bac0e\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rubocop/rubocop-md/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\nUpdates `rubocop-rspec` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/releases\"\u003erubocop-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop RSpec v3.9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). (\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. (\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). (\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. (\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md\"\u003erubocop-rspec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0 (2026-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). ([\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. ([\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). ([\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. ([\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/DiscardedMatcher\u003c/code\u003e to detect matchers in void context (e.g. missing \u003ccode\u003e.and\u003c/code\u003e between compound matchers). ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/f7aecf0580cda23bd5b25c3cfddddefabb6228bc\"\u003e\u003ccode\u003ef7aecf0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2151\"\u003e#2151\u003c/a\u003e from rubocop/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/893a25b941233616ee055201917bcb25781ce522\"\u003e\u003ccode\u003e893a25b\u003c/code\u003e\u003c/a\u003e Bump version to 3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/91ad43dfa70d99b8d9637526a00e7cb69ace1af1\"\u003e\u003ccode\u003e91ad43d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2150\"\u003e#2150\u003c/a\u003e from kevinrobell-st/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/802b3863b24c1d55c9efcb40912bcfd36b9eb075\"\u003e\u003ccode\u003e802b386\u003c/code\u003e\u003c/a\u003e Fix CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/a03e0c7ea939b279b2df7f9bd6ad001d47524f64\"\u003e\u003ccode\u003ea03e0c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2149\"\u003e#2149\u003c/a\u003e from rubocop/ci-test-ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/68f25d9d79d280ae1859c876638b2ac3a1f51d57\"\u003e\u003ccode\u003e68f25d9\u003c/code\u003e\u003c/a\u003e Temporarily add irb to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b9e50b86916704e039ab60966684943ad82780bb\"\u003e\u003ccode\u003eb9e50b8\u003c/code\u003e\u003c/a\u003e CI: Test with Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b63bcd80ceba07294f5507ebd4692a54a9ebeb09\"\u003e\u003ccode\u003eb63bcd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2148\"\u003e#2148\u003c/a\u003e from sucicfilip/fix-described-class-inside-eval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/278245a100f00a923bab3e2e0acac5cd5d7b7b46\"\u003e\u003ccode\u003e278245a\u003c/code\u003e\u003c/a\u003e Fix RSpec/DescribedClass to ignore *_eval and *_exec blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/ca18f5e7e9abc08bfd826c6e1b66963b48db5d71\"\u003e\u003ccode\u003eca18f5e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2144\"\u003e#2144\u003c/a\u003e from rubocop/dont-use-ruby-version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rspec/compare/v3.8.0...v3.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-sorbet` from 0.11.0 to 0.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shopify/rubocop-sorbet/releases\"\u003erubocop-sorbet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.12.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck that \u003ccode\u003eon_failure\u003c/code\u003e is used with \u003ccode\u003echecked(:{tests,always})\u003c/code\u003e by \u003ca href=\"https://github.com/issyl0\"\u003e\u003ccode\u003e@​issyl0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/358\"\u003eShopify/rubocop-sorbet#358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSorbet/ForbidTStruct\u003c/code\u003e crash when \u003ccode\u003eLayout/LineLength\u003c/code\u003e is disabled by \u003ca href=\"https://github.com/sambostock\"\u003e\u003ccode\u003e@​sambostock\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/365\"\u003eShopify/rubocop-sorbet#365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ObsoleteStrictMemoization crash when Layout/LineLength is disabled by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/366\"\u003eShopify/rubocop-sorbet#366\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/issyl0\"\u003e\u003ccode\u003e@​issyl0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/358\"\u003eShopify/rubocop-sorbet#358\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Shopify/rubocop-sorbet/compare/v0.11.0...v0.12.0\"\u003ehttps://github.com/Shopify/rubocop-sorbet/compare/v0.11.0...v0.12.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/Shopify/rubocop-sorbet/commit/d41d1fefce2a3ff422763f7b7908a923c1e9523a\"\u003e\u003ccode\u003ed41d1fe\u003c/code\u003e\u003c/a\u003e Prepare for 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/b67f89238b146d02d6125d8468d538a41e021460\"\u003e\u003ccode\u003eb67f892\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/366\"\u003e#366\u003c/a\u003e from Shopify/rm-fix-rubocop-1-82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/6d3a46f67d724308dc1435185281e9a9b5be4132\"\u003e\u003ccode\u003e6d3a46f\u003c/code\u003e\u003c/a\u003e Fix ObsoleteStrictMemoization crash when Layout/LineLength is disabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/5b5202854ae2170a57d5049c749a8ab9b7776cc1\"\u003e\u003ccode\u003e5b52028\u003c/code\u003e\u003c/a\u003e Use nix for development setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/824251a65e7e946f9c2aa333972344c7a7d73f9a\"\u003e\u003ccode\u003e824251a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/365\"\u003e#365\u003c/a\u003e from Shopify/fix-forbid-t-struct-nil-max-line-length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/77b81e43d8b81c8c9b9d7f42ee4dd5f48edcc460\"\u003e\u003ccode\u003e77b81e4\u003c/code\u003e\u003c/a\u003e Fix ForbidTStruct crash when Layout/LineLength is disabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/371fc96adb67778f6152391727e1811cdd1fd1ce\"\u003e\u003ccode\u003e371fc96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/363\"\u003e#363\u003c/a\u003e from Shopify/dependabot/github_actions/actions/checko...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/ce5b22196822d5959d629e794272963ac205b8ad\"\u003e\u003ccode\u003ece5b221\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/f5690a83ab6fe909ffb2845e4b39633638d59429\"\u003e\u003ccode\u003ef5690a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/361\"\u003e#361\u003c/a\u003e from Shopify/dependabot/github_actions/dependabot/fet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/bf567fd86c5702414e1a75cd9461991c2faa3dc5\"\u003e\u003ccode\u003ebf567fd\u003c/code\u003e\u003c/a\u003e Bump dependabot/fetch-metadata from 2.4.0 to 2.5.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shopify/rubocop-sorbet/compare/v0.11.0...v0.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-prof` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-prof/test-prof/releases\"\u003etest-prof's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd TPS profiler. \u003ca href=\"https://test-prof.evilmartians.io/guide/profilers/tps_prof\"\u003eDocs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eTPS (tests-per-second) profiler helps to identify example groups (files) that have a good potential for speed-up by sharing setup data (via \u003ccode\u003ebefore_all\u003c/code\u003e or \u003ccode\u003elet_it_be\u003c/code\u003e or fixtures): the more examples and the lower the TPS, the more opportunity to cut the group's total time.\u003c/p\u003e\n\u003cp\u003eTPS profiler also supports the \u003cstrong\u003estrict mode\u003c/strong\u003e: example groups violating user-configured threshold (e.g., too low TPS) are marked as failures.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd GC profiling mode to MemoryProf.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded custom Sidekiq instrumentation to Sidekiq 8.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRSpecStamp now uses Prism if available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded RSpecDissect to always show the total setup time and let breakdowns.\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/test-prof/test-prof/blob/master/CHANGELOG.md\"\u003etest-prof's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd TPS profiler. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd GC profiling to MemoryProf. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade to Sidekiq 8. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRSpecStamp now uses Prism if available. ([\u003ca href=\"https://github.com/kddnewton\"\u003e\u003ccode\u003e@​kddnewton\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade RSpecDissect to show total setup time and let breakdowns. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.2 (2026-02-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using \u003ccode\u003eGem.loaded_specs\u003c/code\u003e methods in RuboCop plugin version check. ([\u003ca href=\"https://github.com/Rylan12\"\u003e\u003ccode\u003e@​Rylan12\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.1 (2026-01-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix RuboCop plugin. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNow you should use \u003ccode\u003e--plugin test-prof\u003c/code\u003e or \u003ccode\u003eplugins: [test-prof]\u003c/code\u003e (in YAML) (so LintRoller can correctly obtain the plugin class name from the gemspec).\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/8d7a58ca25104fc845a8b552edcd8f5d3cf26e7a\"\u003e\u003ccode\u003e8d7a58c\u003c/code\u003e\u003c/a\u003e Bump 1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/50bdad471e3cc87a10c584a4a44d1396e3ad2d7e\"\u003e\u003ccode\u003e50bdad4\u003c/code\u003e\u003c/a\u003e + tps_prof: ignore + custom strict handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/91b75271c2ce78dd5211819c89d310aa633f0e76\"\u003e\u003ccode\u003e91b7527\u003c/code\u003e\u003c/a\u003e - Ruby \u0026lt;3.1 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/c3ca05446ebef175724b695439a5f135384a98ef\"\u003e\u003ccode\u003ec3ca054\u003c/code\u003e\u003c/a\u003e + tps_prof docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/390cb3a2a99227a896fe5818e1d13175471c6a1c\"\u003e\u003ccode\u003e390cb3a\u003c/code\u003e\u003c/a\u003e + memory_prof: gc mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/cf7922eaa587ac793268125abfc958751dafad76\"\u003e\u003ccode\u003ecf7922e\u003c/code\u003e\u003c/a\u003e + tps_prof strict mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/e817ee2cbb6a917fa56d0e8c8bf7fb28c68e01f1\"\u003e\u003ccode\u003ee817ee2\u003c/code\u003e\u003c/a\u003e * upgrade to Sidekiq 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/5daed7eb81471b8ceda4d633da1c79c9d60daf10\"\u003e\u003ccode\u003e5daed7e\u003c/code\u003e\u003c/a\u003e Use Prism for parsing if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/7ebc0c1d228c488f53e7cc1828502f53ecee2646\"\u003e\u003ccode\u003e7ebc0c1\u003c/code\u003e\u003c/a\u003e - tps_prof: update sorting logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/b21822a34c34c277d8d5ba016e9b35687fdfbc2f\"\u003e\u003ccode\u003eb21822a\u003c/code\u003e\u003c/a\u003e feat: RSpecDissect upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-prof/test-prof/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `parallel_tests` from 5.5.0 to 5.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md\"\u003eparallel_tests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.0 - 2026-02-05\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed grammar in duration message to use singular \u0026quot;second\u0026quot; when appropriate (e.g., \u0026quot;Took 1 second\u0026quot; instead of \u0026quot;Took 1 seconds\u0026quot;)\u003c/li\u003e\n\u003cli\u003eReturn correct exit status when process was terminated\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grosser/parallel_tests/commit/eb11d1f4082fd74b149c0f880dc16aa98dea5df5\"\u003e\u003ccode\u003eeb11d1f\u003c/code\u003e\u003c/a\u003e v5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grosser/parallel_tests/commit/4dc7953029e1dcfcb74a258a7af99138f90fec06\"\u003e\u003ccode\u003e4dc7953\u003c/code\u003e\u003c/a\u003e Handle signal-terminated processes in exit status (\u003ca href=\"https://redirect.github.com/grosser/parallel_tests/issues/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grosser/parallel_tests/commit/01bbd80b96df477430c10bb83e654601929f6daf\"\u003e\u003ccode\u003e01bbd80\u003c/code\u003e\u003c/a\u003e Fix pluralization of \u0026quot;seconds\u0026quot; in test output (\u003ca href=\"https://redirect.github.com/grosser/parallel_tests/issues/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/grosser/parallel_tests/compare/v5.5.0...v5.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sorbet-static-and-runtime` from 0.6.12865 to 0.6.13051\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sorbet/sorbet/releases\"\u003esorbet-static-and-runtime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esorbet 0.6.13050.20260319175804-a7962c649\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13050', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13050'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13049.20260319173927-f453daaa4\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13049', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13049'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13048.20260318161407-561dad245\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13048', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13048'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13047.20260318160905-80f84fa13\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13047', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13047'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13046.20260318160029-0d0963134\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13046', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13046'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13045.20260318092630-f0cb50575\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13045', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13045'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13044.20260318091651-c06b994fc\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13044', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13044'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13043.20260317175527-bccdfa9b8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sorbet/sorbet/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tapioca` from 0.17.10 to 0.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/tapioca/releases\"\u003etapioca's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.18.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🚧 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to Package URI for source location comments by \u003ca href=\"https://github.com/paracycle\"\u003e\u003ccode\u003e@​paracycle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2480\"\u003eShopify/tapioca#2480\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eunscoped\u003c/code\u003e to Active Record relations compiler by \u003ca href=\"https://github.com/bdewater-thatch\"\u003e\u003ccode\u003e@​bdewater-thatch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2465\"\u003eShopify/tapioca#2465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake gem compatible with Ruby 4.0 by \u003ca href=\"https://github.com/paracycle\"\u003e\u003ccode\u003e@​paracycle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2473\"\u003eShopify/tapioca#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd compiler for Rails.env methods by \u003ca href=\"https://github.com/bdewater-thatch\"\u003e\u003ccode\u003e@​bdewater-thatch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2450\"\u003eShopify/tapioca#2450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit type annotations for CurrentAttributes methods by \u003ca href=\"https://github.com/tavianator\"\u003e\u003ccode\u003e@​tavianator\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2511\"\u003eShopify/tapioca#2511\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix find_in_batches without block return type and AR batches order kwarg by \u003ca href=\"https://github.com/bdewater-thatch\"\u003e\u003ccode\u003e@​bdewater-thatch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2466\"\u003eShopify/tapioca#2466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake ActiveRecord delete/destroy_by argument a rest parameters by \u003ca href=\"https://github.com/caleb\"\u003e\u003ccode\u003e@​caleb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2497\"\u003eShopify/tapioca#2497\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/larouxn\"\u003e\u003ccode\u003e@​larouxn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2491\"\u003eShopify/tapioca#2491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caleb\"\u003e\u003ccode\u003e@​caleb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2497\"\u003eShopify/tapioca#2497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tavianator\"\u003e\u003ccode\u003e@​tavianator\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2511\"\u003eShopify/tapioca#2511\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Shopify/tapioca/compare/v0.17.10...v0.18.0\"\u003ehttps://github.com/Shopify/tapioca/compare/v0.17.10...v0.18.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/Shopify/tapioca/commit/daa4f71223e267dda073233cbb37647934409710\"\u003e\u003ccode\u003edaa4f71\u003c/code\u003e\u003c/a\u003e Bump version to 0.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/bb81f14765747dcc40f123b8ae40ea45c9c664f7\"\u003e\u003ccode\u003ebb81f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2535\"\u003e#2535\u003c/a\u003e from Shopify/trusted-publisher-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/f91479ae0500d592ec88ed8acb47d787a0c18ad9\"\u003e\u003ccode\u003ef91479a\u003c/code\u003e\u003c/a\u003e Migrate release workflow to use trusted publisher\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/849f91e91a29cc3dac850bef5c966a246ecfeee7\"\u003e\u003ccode\u003e849f91e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2532\"\u003e#2532\u003c/a\u003e from Shopify/dependabot/bundler/action_text-trix-2.1.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/ba038a89bf5147a55d57edf840e2395412bca259\"\u003e\u003ccode\u003eba038a8\u003c/code\u003e\u003c/a\u003e bin/tapioca gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/5d7911f5c56614ed738ed63fad29145a83202768\"\u003e\u003ccode\u003e5d7911f\u003c/code\u003e\u003c/a\u003e Bump action_text-trix from 2.1.16 to 2.1.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/c7968a1ba505fc136eaded63d13442c678660706\"\u003e\u003ccode\u003ec7968a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2528\"\u003e#2528\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/6e2183bc0ad2adaa97cd813459bbdfcc26b73bfe\"\u003e\u003ccode\u003e6e2183b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2529\"\u003e#2529\u003c/a\u003e from Shopify/dependabot/bundler/minor-and-patch-40b8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/49147cc2592b0010281f4250b1a3995174bd86d1\"\u003e\u003ccode\u003e49147cc\u003c/code\u003e\u003c/a\u003e exe/tapioca gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/43770a62f42b94c070c00dc4c19dc308c8e8ff52\"\u003e\u003ccode\u003e43770a6\u003c/code\u003e\u003c/a\u003e Bump the minor-and-patch group with 3 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/tapioca/compare/v0.17.10...v0.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.26.4 to 0.26.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com...\n\n_Description has been truncated_","html_url":"https://github.com/Keepit-development/qa-Homebrew-medium180mb-/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keepit-development%2Fqa-Homebrew-medium180mb-/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4146222167","node_id":"PR_kwDOLtWGsc7N0B9w","number":368,"state":"open","title":"Bump ruby-lsp from 0.26.8 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T18:04:58.000Z","updated_at":"2026-04-12T12:40:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/wave-walker/wave-walker/pull/368","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wave-walker%2Fwave-walker/issues/368","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/368/packages"},{"uuid":"4140783161","node_id":"PR_kwDOMT-GHc7Nlg0B","number":1018,"state":"open","title":"test(deps): bump ruby-lsp from 0.26.8 to 0.26.9 in /test","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T05:32:39.000Z","updated_at":"2026-03-26T05:43:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"test(deps)","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":"/test","ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.8\u0026new-version=0.26.9)](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/alexfalkowski/web/pull/1018","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexfalkowski%2Fweb/issues/1018","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1018/packages"},{"uuid":"4140386732","node_id":"PR_kwDOQb4kXs7NkgJq","number":258,"state":"closed","title":"chore(deps-dev): bump ruby-lsp from 0.26.8 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T14:48:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T04:11:08.000Z","updated_at":"2026-04-01T14:48:35.000Z","time_to_close":556644,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.8\u0026new-version=0.26.9)](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/DFE-Digital/teacher-training-entitlement/pull/258","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DFE-Digital%2Fteacher-training-entitlement/issues/258","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/258/packages"},{"uuid":"4140347371","node_id":"PR_kwDOBUVFKs7Nkajw","number":3359,"state":"open","title":"Bump ruby-lsp from 0.26.8 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T04:03:49.000Z","updated_at":"2026-03-26T04:07:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.8\u0026new-version=0.26.9)](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/ujh/fountainpencompanion/pull/3359","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ujh%2Ffountainpencompanion/issues/3359","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3359/packages"},{"uuid":"4123182056","node_id":"PR_kwDOPdfcoc7MyIXh","number":490,"state":"open","title":"deps(deps): bump the minor-updates group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","ruby","paid-generated"],"assignees":["viamin"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-23T19:23:43.000Z","updated_at":"2026-03-24T23:15:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"minor-updates","update_count":10,"packages":[{"name":"ruby-lsp","old_version":"0.26.6","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"ruby-lsp-rspec","old_version":"0.1.28","new_version":"0.1.29","repository_url":"https://github.com/st0012/ruby-lsp-rspec"},{"name":"standard","old_version":"1.53.0","new_version":"1.54.0","repository_url":"https://github.com/standardrb/standard"},{"name":"webmock","old_version":"3.26.1","new_version":"3.26.2","repository_url":"https://github.com/bblimke/webmock"},{"name":"agent-harness","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/viamin/agent-harness"},{"name":"ruby_llm","old_version":"1.11.0","new_version":"1.14.0","repository_url":"https://github.com/crmne/ruby_llm"},{"name":"ruby_tree_sitter","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/Faveod/ruby-tree-sitter"},{"name":"sqlite3","old_version":"2.9.0","new_version":"2.9.2","repository_url":"https://github.com/sparklemotion/sqlite3-ruby"},{"name":"temporalio","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/temporalio/sdk-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the minor-updates group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.26.6` | `0.26.8` |\n| [ruby-lsp-rspec](https://github.com/st0012/ruby-lsp-rspec) | `0.1.28` | `0.1.29` |\n| [standard](https://github.com/standardrb/standard) | `1.53.0` | `1.54.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.26.1` | `3.26.2` |\n| [agent-harness](https://github.com/viamin/agent-harness) | `0.3.0` | `0.5.0` |\n| [ruby_llm](https://github.com/crmne/ruby_llm) | `1.11.0` | `1.14.0` |\n| [ruby_tree_sitter](https://github.com/Faveod/ruby-tree-sitter) | `2.0.0` | `2.1.0` |\n| [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) | `2.9.0` | `2.9.2` |\n| [temporalio](https://github.com/temporalio/sdk-ruby) | `1.2.0` | `1.3.0` |\n\n\nUpdates `ruby-lsp` from 0.26.6 to 0.26.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.6...v0.26.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp-rspec` from 0.1.28 to 0.1.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/releases\"\u003eruby-lsp-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.29\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\u003eHandle starting tests for the whole project by \u003ca href=\"https://github.com/elmuerte\"\u003e\u003ccode\u003e@​elmuerte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/79\"\u003est0012/ruby-lsp-rspec#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add capybara keyword support by \u003ca href=\"https://github.com/nathanscottdaniels\"\u003e\u003ccode\u003e@​nathanscottdaniels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/88\"\u003est0012/ruby-lsp-rspec#88\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix formatter crash on backtrace lines without file:line format by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/100\"\u003est0012/ruby-lsp-rspec#100\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies and regenerate RBI 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/st0012/ruby-lsp-rspec/pull/99\"\u003est0012/ruby-lsp-rspec#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd trusted publisher workflow for automated gem releases by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/102\"\u003est0012/ruby-lsp-rspec#102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/compare/v0.1.28...v0.1.29\"\u003ehttps://github.com/st0012/ruby-lsp-rspec/compare/v0.1.28...v0.1.29\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/f2413f47e524babc9fc3ae797e8ba4af2ce75eef\"\u003e\u003ccode\u003ef2413f4\u003c/code\u003e\u003c/a\u003e Bump version to v0.1.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/e3f8339d999a48ebd29c602b595ba1ec82cfd78e\"\u003e\u003ccode\u003ee3f8339\u003c/code\u003e\u003c/a\u003e Add trusted publisher workflow for automated gem releases (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/d69e7b238b5ea4d6b4059c07103e26a614238c6b\"\u003e\u003ccode\u003ed69e7b2\u003c/code\u003e\u003c/a\u003e Fix formatter crash on backtrace lines without file:line format (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/1328283d162313e2b2e02c721978c7796acee9c5\"\u003e\u003ccode\u003e1328283\u003c/code\u003e\u003c/a\u003e Update dependencies and regenerate RBI files (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/99\"\u003e#99\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/e7ff414c88a2851211273e112ce7eb6e20722f8f\"\u003e\u003ccode\u003ee7ff414\u003c/code\u003e\u003c/a\u003e feat: add capybara keyword support (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/88\"\u003e#88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/5814750b98923214e652c92284056687469eb34c\"\u003e\u003ccode\u003e5814750\u003c/code\u003e\u003c/a\u003e Handle starting tests for the whole project (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/compare/v0.1.28...v0.1.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `standard` from 1.53.0 to 1.54.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/standardrb/standard/blob/main/CHANGELOG.md\"\u003estandard's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.54.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdates rubocop to \u003ca href=\"https://github.com/rubocop/rubocop/releases/tag/v1.84.2\"\u003e1.84.0\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/standardrb/standard/commit/d8f9776ecf5ec7d83232352b0f8ce535ccb71c66\"\u003e\u003ccode\u003ed8f9776\u003c/code\u003e\u003c/a\u003e 🍩 v1.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/11f7712871bdfbf524ccf5fffb0d28f7ea24dc71\"\u003e\u003ccode\u003e11f7712\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/standardrb/standard/issues/789\"\u003e#789\u003c/a\u003e from standardrb/updates-2026-02-12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/1e14e5c18ed7f72aa5df0b83b3fd63341f763872\"\u003e\u003ccode\u003e1e14e5c\u003c/code\u003e\u003c/a\u003e Adds the changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/5a7c15f565a404e4dcf96bf6743e001123755b84\"\u003e\u003ccode\u003e5a7c15f\u003c/code\u003e\u003c/a\u003e Updates Rubocop to v1.84\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/abc2bec303c28a8286c721678a69e3681ee5240e\"\u003e\u003ccode\u003eabc2bec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/standardrb/standard/issues/784\"\u003e#784\u003c/a\u003e from standardrb/depbot-cooldown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/c80e6b7b6cac1b3e7defc5270a382ccc7b552bd4\"\u003e\u003ccode\u003ec80e6b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/standardrb/standard/issues/783\"\u003e#783\u003c/a\u003e from standardrb/dependabot/github_actions/step-securi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/a98a527bfa034044b61d9eeb91180d994b3493b4\"\u003e\u003ccode\u003ea98a527\u003c/code\u003e\u003c/a\u003e Decrease depbot frequency for GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/779ac18b31f82ac24c89c42fc26b5dd9e13a8e97\"\u003e\u003ccode\u003e779ac18\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.14.0 to 2.14.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/standardrb/standard/compare/v1.53.0...v1.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webmock` from 3.26.1 to 3.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/releases\"\u003ewebmock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support to parse http/2 request on curb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCurbAdapter alias \u003ccode\u003ecode\u003c/code\u003e from \u003ccode\u003eresponse_code\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd HTTP.rb v6.0.0 compatibility to http_rb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/sferik\"\u003eErik Berlin\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/blob/master/CHANGELOG.md\"\u003ewebmock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support to parse http/2 request on curb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCurbAdapter alias \u003ccode\u003ecode\u003c/code\u003e from \u003ccode\u003eresponse_code\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd HTTP.rb v6.0.0 compatibility to http_rb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/sferik\"\u003eErik Berlin\u003c/a\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/bblimke/webmock/commit/ce700d989d015ace217f0c2720910abff25a029d\"\u003e\u003ccode\u003ece700d9\u003c/code\u003e\u003c/a\u003e Version 3.26.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/ddf8a439d943452f315c27ee105d31afd9bb2553\"\u003e\u003ccode\u003eddf8a43\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1121\"\u003e#1121\u003c/a\u003e from criess/cr/curb-http-2-parse-headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/035e9fcc66ab99efb063e54266fc27d2ea156d97\"\u003e\u003ccode\u003e035e9fc\u003c/code\u003e\u003c/a\u003e [fix] add support to parse http/2 request on curb adapter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/29d3532b1bd60c595a753606c9e88da19090e672\"\u003e\u003ccode\u003e29d3532\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1123\"\u003e#1123\u003c/a\u003e from sferik/support-http_rb-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/801ad3b5936c0ca77fbda4157ba92ad470925b0c\"\u003e\u003ccode\u003e801ad3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1122\"\u003e#1122\u003c/a\u003e from criess/cr/curb-easy-code-as-alias\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/a4de224de9e38f68196fd9a60b4716b8ab8fc3f4\"\u003e\u003ccode\u003ea4de224\u003c/code\u003e\u003c/a\u003e Add HTTP.rb 6.0.0 compatibility to http_rb adapter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/c6cf2f153f568f7d8fb595eb007b839de1d4c6d2\"\u003e\u003ccode\u003ec6cf2f1\u003c/code\u003e\u003c/a\u003e [fix] CurbAdapter alias \u003ccode\u003ecode\u003c/code\u003e from \u003ccode\u003eresponse_code\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/596d8a8949c2e01113217263333a08507d2881eb\"\u003e\u003ccode\u003e596d8a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1113\"\u003e#1113\u003c/a\u003e from koic/ci_against_ruby_4_0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/86977f8fa543a58ae831d2387b3c516e23d9624b\"\u003e\u003ccode\u003e86977f8\u003c/code\u003e\u003c/a\u003e Run CI against Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/cc11b7873fab478c9722461eecb17a5957de5d28\"\u003e\u003ccode\u003ecc11b78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1114\"\u003e#1114\u003c/a\u003e from koic/remove_pride_option_from_minitest_rake_task\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bblimke/webmock/compare/v3.26.1...v3.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-harness` from 0.3.0 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viamin/agent-harness/releases\"\u003eagent-harness's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eagent-harness: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.4.0...agent-harness/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eparse token usage from Claude CLI JSON output (\u003ca href=\"https://github.com/viamin/agent-harness/commit/a0e6d7cafb5f5b74806a44d3d4f487e87fdfa05e\"\u003ea0e6d7c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/19\"\u003e#19\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport authentication error detection and token refresh for CLI agents (\u003ca href=\"https://github.com/viamin/agent-harness/commit/83f2c71c555483322c8a19d8a6ae195bd7720296\"\u003e83f2c71\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/20\"\u003e#20\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd file lock to refresh_claude_auth to prevent lost-update races (\u003ca href=\"https://github.com/viamin/agent-harness/commit/eb00e1935dcd574f952ea37c263e9794de23f9a7\"\u003eeb00e19\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/6d1106743c79f5ae4c3a98f078e4c4d4c93db465\"\u003e6d11067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for resolve_provider and conductor docs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/5975b3b8e087f681b57cc9935499e0691f865360\"\u003e5975b3b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for auth error handling (\u003ca href=\"https://github.com/viamin/agent-harness/commit/70d7ea7eb4d13fd80d7c2724af57053a6dea9972\"\u003e70d7ea7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/b098682448104a833a3e50c89531bcb838910b52\"\u003eb098682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for token handling in authentication (\u003ca href=\"https://github.com/viamin/agent-harness/commit/03398b9be4b43c12c31694d8c7864dfde891da29\"\u003e03398b9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress remaining PR review feedback for auth behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/893b549bb080345bb1c0dfe718bb1840ff2a1f5e\"\u003e893b549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealign ErrorTaxonomy auth_expired action with Conductor behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/76976375708f56c4fbcaf635bebafd8da9f35de1\"\u003e7697637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclear expiry metadata on token refresh and align docs with API (\u003ca href=\"https://github.com/viamin/agent-harness/commit/9bba06e00c7b65722afef4b4492ec777e65578e0\"\u003e9bba06e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect method for checking module inclusion in provider validation (\u003ca href=\"https://github.com/viamin/agent-harness/commit/4cf57fcebed92261e065aa6cf526f1f3851f57e7\"\u003e4cf57fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edifferentiate credential read errors instead of returning generic nil (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cada3c5404144b4eaf122d5dbe5f023eb30e5d95\"\u003ecada3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eguard against non-Hash JSON in refresh_claude_auth credentials (\u003ca href=\"https://github.com/viamin/agent-harness/commit/74e1301ec7835f929bd43dc15f4a87e62bcf7237\"\u003e74e1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove accidentally committed bundler binstubs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/8207ef0df67add5d1db8f3af9ef495c0b832d0b6\"\u003e8207ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate tokens are non-empty strings in authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/55a12e45616839079afe509e079c771a1a71a1a5\"\u003e55a12e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eagent-harness: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.3.0...agent-harness/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-02-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/85826e5ece76d9f073329902769093f846cfd8b7\"\u003e85826e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cb18f2e2f1d16ef52ea2ce54c51970d73fcae6c8\"\u003ecb18f2e\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/viamin/agent-harness/blob/main/CHANGELOG.md\"\u003eagent-harness's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.4.0...agent-harness/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eparse token usage from Claude CLI JSON output (\u003ca href=\"https://github.com/viamin/agent-harness/commit/a0e6d7cafb5f5b74806a44d3d4f487e87fdfa05e\"\u003ea0e6d7c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/19\"\u003e#19\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport authentication error detection and token refresh for CLI agents (\u003ca href=\"https://github.com/viamin/agent-harness/commit/83f2c71c555483322c8a19d8a6ae195bd7720296\"\u003e83f2c71\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/20\"\u003e#20\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd file lock to refresh_claude_auth to prevent lost-update races (\u003ca href=\"https://github.com/viamin/agent-harness/commit/eb00e1935dcd574f952ea37c263e9794de23f9a7\"\u003eeb00e19\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/6d1106743c79f5ae4c3a98f078e4c4d4c93db465\"\u003e6d11067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for resolve_provider and conductor docs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/5975b3b8e087f681b57cc9935499e0691f865360\"\u003e5975b3b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for auth error handling (\u003ca href=\"https://github.com/viamin/agent-harness/commit/70d7ea7eb4d13fd80d7c2724af57053a6dea9972\"\u003e70d7ea7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/b098682448104a833a3e50c89531bcb838910b52\"\u003eb098682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for token handling in authentication (\u003ca href=\"https://github.com/viamin/agent-harness/commit/03398b9be4b43c12c31694d8c7864dfde891da29\"\u003e03398b9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress remaining PR review feedback for auth behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/893b549bb080345bb1c0dfe718bb1840ff2a1f5e\"\u003e893b549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealign ErrorTaxonomy auth_expired action with Conductor behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/76976375708f56c4fbcaf635bebafd8da9f35de1\"\u003e7697637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclear expiry metadata on token refresh and align docs with API (\u003ca href=\"https://github.com/viamin/agent-harness/commit/9bba06e00c7b65722afef4b4492ec777e65578e0\"\u003e9bba06e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect method for checking module inclusion in provider validation (\u003ca href=\"https://github.com/viamin/agent-harness/commit/4cf57fcebed92261e065aa6cf526f1f3851f57e7\"\u003e4cf57fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edifferentiate credential read errors instead of returning generic nil (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cada3c5404144b4eaf122d5dbe5f023eb30e5d95\"\u003ecada3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eguard against non-Hash JSON in refresh_claude_auth credentials (\u003ca href=\"https://github.com/viamin/agent-harness/commit/74e1301ec7835f929bd43dc15f4a87e62bcf7237\"\u003e74e1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove accidentally committed bundler binstubs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/8207ef0df67add5d1db8f3af9ef495c0b832d0b6\"\u003e8207ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate tokens are non-empty strings in authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/55a12e45616839079afe509e079c771a1a71a1a5\"\u003e55a12e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.3.0...agent-harness/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-02-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/85826e5ece76d9f073329902769093f846cfd8b7\"\u003e85826e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cb18f2e2f1d16ef52ea2ce54c51970d73fcae6c8\"\u003ecb18f2e\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/viamin/agent-harness/commit/0592569a107ea83ed61901ebb8dfeddc6b9897a7\"\u003e\u003ccode\u003e0592569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/18\"\u003e#18\u003c/a\u003e from viamin/release-please--branches--main--components...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/b9af417b9116c3ebf42b7e239c9dff2c3ae4a631\"\u003e\u003ccode\u003eb9af417\u003c/code\u003e\u003c/a\u003e chore(main): release agent-harness 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/c8ac633d697fcd03fec3394b4a65e8bccd2013e7\"\u003e\u003ccode\u003ec8ac633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/22\"\u003e#22\u003c/a\u003e from viamin/paid/20-support-authentication-error-detec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/cada3c5404144b4eaf122d5dbe5f023eb30e5d95\"\u003e\u003ccode\u003ecada3c5\u003c/code\u003e\u003c/a\u003e fix: differentiate credential read errors instead of returning generic nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/76976375708f56c4fbcaf635bebafd8da9f35de1\"\u003e\u003ccode\u003e7697637\u003c/code\u003e\u003c/a\u003e fix: align ErrorTaxonomy auth_expired action with Conductor behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/5975b3b8e087f681b57cc9935499e0691f865360\"\u003e\u003ccode\u003e5975b3b\u003c/code\u003e\u003c/a\u003e fix: address code review feedback for resolve_provider and conductor docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/9bba06e00c7b65722afef4b4492ec777e65578e0\"\u003e\u003ccode\u003e9bba06e\u003c/code\u003e\u003c/a\u003e fix: clear expiry metadata on token refresh and align docs with API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/70d7ea7eb4d13fd80d7c2724af57053a6dea9972\"\u003e\u003ccode\u003e70d7ea7\u003c/code\u003e\u003c/a\u003e fix: address PR review feedback for auth error handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/eb00e1935dcd574f952ea37c263e9794de23f9a7\"\u003e\u003ccode\u003eeb00e19\u003c/code\u003e\u003c/a\u003e fix: add file lock to refresh_claude_auth to prevent lost-update races\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/8207ef0df67add5d1db8f3af9ef495c0b832d0b6\"\u003e\u003ccode\u003e8207ef0\u003c/code\u003e\u003c/a\u003e fix: remove accidentally committed bundler binstubs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.3.0...agent-harness/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby_llm` from 1.11.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crmne/ruby_llm/releases\"\u003eruby_llm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eRubyLLM 1.14: Tailwind Chat UI + Rails AI Generators + Config DSL 🎨🤖🛠️\u003c/h1\u003e\n\u003cp\u003eThis release overhauls the Rails experience.\u003c/p\u003e\n\u003cp\u003eRubyLLM \u003ccode\u003e1.14\u003c/code\u003e ships a complete Tailwind-powered chat UI, new Rails generators for agents/tools/schemas, a simplified configuration DSL where providers self-register their options, and a batch of bug fixes across logging, agents, associations, and dependency constraints.\u003c/p\u003e\n\u003ch2\u003e🎨 Tailwind Chat UI\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/65422091-9338-47da-a303-92b918bd1345\"\u003ehttps://github.com/user-attachments/assets/65422091-9338-47da-a303-92b918bd1345\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe Rails chat UI generator now produces a polished Tailwind-based interface out of the box. Run the generator and get a working chat app with message streaming, model selection, tool call display, and proper empty states — all styled with Tailwind CSS.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ebin/rails generate ruby_llm:chat_ui\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe generated views use role-aware partials (\u003ccode\u003e_user\u003c/code\u003e, \u003ccode\u003e_assistant\u003c/code\u003e, \u003ccode\u003e_system\u003c/code\u003e, \u003ccode\u003e_tool\u003c/code\u003e, \u003ccode\u003e_error\u003c/code\u003e) for clean message rendering, Turbo Stream templates for real-time updates, and \u003ccode\u003ebroadcasts_to\u003c/code\u003e for simplified broadcasting.\u003c/p\u003e\n\u003ch2\u003e🏗️ Rails AI Generators\u003c/h2\u003e\n\u003cp\u003eNew generators scaffold agents, tools, and schemas with a single command:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ebin/rails generate ruby_llm:agent SupportAgent\r\nbin/rails generate ruby_llm:tool WeatherTool\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe install generator now creates conventional directories (\u003ccode\u003eapp/agents\u003c/code\u003e, \u003ccode\u003eapp/tools\u003c/code\u003e, \u003ccode\u003eapp/schemas\u003c/code\u003e, \u003ccode\u003eapp/prompts\u003c/code\u003e) with \u003ccode\u003e.gitkeep\u003c/code\u003e files. Tool partials follow a new naming convention for tool-specific rendering, and the generator produces matching specs.\u003c/p\u003e\n\u003ch2\u003e⚙️ Simplified Configuration DSL\u003c/h2\u003e\n\u003cp\u003eProvider configuration options are now self-registered by each provider using a declarative \u003ccode\u003econfiguration_options\u003c/code\u003e method, replacing the monolithic \u003ccode\u003eattr_accessor\u003c/code\u003e list in \u003ccode\u003eConfiguration\u003c/code\u003e. When a provider is registered, its options become \u003ccode\u003eattr_accessor\u003c/code\u003es on \u003ccode\u003eRubyLLM::Configuration\u003c/code\u003e automatically.\u003c/p\u003e\n\u003cp\u003eEach provider declares its own option keys following the \u003ccode\u003e\u0026lt;provider_slug\u0026gt;_\u0026lt;option\u0026gt;\u003c/code\u003e convention:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# In the provider class:\r\nclass DeepSeek \u0026lt; RubyLLM::Provider\r\n  class \u0026lt;\u0026lt; self\r\n    def configuration_options\r\n      %i[deepseek_api_key deepseek_api_base]\r\n    end\r\n  end\r\nend\r\n\u003ch1\u003eThese become available in configuration automatically:\u003c/h1\u003e\n\u003cp\u003eRubyLLM.configure do |config|\nconfig.deepseek_api_key  = ENV[\u0026quot;DEEPSEEK_API_KEY\u0026quot;]\nconfig.deepseek_api_base = ENV[\u0026quot;DEEPSEEK_API_BASE\u0026quot;]\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/4034c05af47563276883106f17d2845015e1c018\"\u003e\u003ccode\u003e4034c05\u003c/code\u003e\u003c/a\u003e Fixing CI error for Azure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/ce76568fdfed225da602559a3cc6a7dd35580fa1\"\u003e\u003ccode\u003ece76568\u003c/code\u003e\u003c/a\u003e Bump to 1.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/9c84bfe6fdf0b746e4df23f52cf7334c268904e6\"\u003e\u003ccode\u003e9c84bfe\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/crmne/ruby_llm/issues/682\"\u003e#682\u003c/a\u003e gemspec Faraday constraint regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/3091d510e4c231de57c6af57cc57e924c683d9a0\"\u003e\u003ccode\u003e3091d51\u003c/code\u003e\u003c/a\u003e Harden brittle parallel-tool assertion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/81793c3d346b7e41e3729f7b1322d116a5298ecc\"\u003e\u003ccode\u003e81793c3\u003c/code\u003e\u003c/a\u003e Fallback to plain rspec for JRuby in rspec-queue wrapper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/e8d9db30e02ef07dc404e526daeaac3825a1554e\"\u003e\u003ccode\u003ee8d9db3\u003c/code\u003e\u003c/a\u003e Fix RuboCop offenses in custom rspec-queue runner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/33da5f8e5f2e1b13fc1037a3d31bf18c9c0a0122\"\u003e\u003ccode\u003e33da5f8\u003c/code\u003e\u003c/a\u003e Use custom test-queue runner for DB isolation and SimpleCov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/1107f7d5eae6eecc250f424e68ebe54866acbdee\"\u003e\u003ccode\u003e1107f7d\u003c/code\u003e\u003c/a\u003e Normalize appraisal gemfile ordering for test-queue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/a87c01a099c22cedb2b002a1af3e18cab78a9e54\"\u003e\u003ccode\u003ea87c01a\u003c/code\u003e\u003c/a\u003e Switch test runs to test-queue and keep rspec for coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/404a270ce13ad43b4019376b5e2ec81395be37fa\"\u003e\u003ccode\u003e404a270\u003c/code\u003e\u003c/a\u003e Fix agent not propagating assume_model_exists from class config (\u003ca href=\"https://redirect.github.com/crmne/ruby_llm/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crmne/ruby_llm/compare/1.11.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby_tree_sitter` from 2.0.0 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/releases\"\u003eruby_tree_sitter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eAPI Changes for tree-sitter 0.26 compatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated to tree-sitter v0.26.5\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking Changes in tree-sitter 0.26.x API\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ets_language_version\u003c/code\u003e renamed to \u003ccode\u003ets_language_abi_version\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTSInputEncodingUTF16\u003c/code\u003e split into \u003ccode\u003eTSInputEncodingUTF16LE\u003c/code\u003e and \u003ccode\u003eTSInputEncodingUTF16BE\u003c/code\u003e\n(now using UTF16LE as default for backward compatibility)\u003c/li\u003e\n\u003cli\u003eCancellation flag API (\u003ccode\u003ets_parser_cancellation_flag\u003c/code\u003e, \u003ccode\u003ets_parser_set_cancellation_flag\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#cancellation_flag\u003c/code\u003e and \u003ccode\u003eParser#cancellation_flag=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTimeout API (\u003ccode\u003ets_parser_timeout_micros\u003c/code\u003e, \u003ccode\u003ets_parser_set_timeout_micros\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#timeout_micros\u003c/code\u003e and \u003ccode\u003eParser#timeout_micros=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eTSParseOptions\u003c/code\u003e with \u003ccode\u003eprogress_callback\u003c/code\u003e for cancellation/timeout functionality in 0.26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_LANGUAGE_VERSION\u003c/code\u003e is now 15 (was 14)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION\u003c/code\u003e is now 13 (was 6)\u003c/li\u003e\n\u003cli\u003eGrammar files (.so) must be built against tree-sitter 0.26+ to work with this version\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed duplicate method definition in QueryCursor (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/99\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a use-after-free in the logger (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/100\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a potential buffer overflow when loading parsers.\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/Faveod/ruby-tree-sitter/blob/master/News.md\"\u003eruby_tree_sitter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev2.1.0 (19-02-2026)\u003c/h1\u003e\n\u003ch2\u003eAPI Changes for tree-sitter 0.26 compatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated to tree-sitter v0.26.5\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking Changes in tree-sitter 0.26.x API\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ets_language_version\u003c/code\u003e renamed to \u003ccode\u003ets_language_abi_version\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTSInputEncodingUTF16\u003c/code\u003e split into \u003ccode\u003eTSInputEncodingUTF16LE\u003c/code\u003e and \u003ccode\u003eTSInputEncodingUTF16BE\u003c/code\u003e\n(now using UTF16LE as default for backward compatibility)\u003c/li\u003e\n\u003cli\u003eCancellation flag API (\u003ccode\u003ets_parser_cancellation_flag\u003c/code\u003e, \u003ccode\u003ets_parser_set_cancellation_flag\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#cancellation_flag\u003c/code\u003e and \u003ccode\u003eParser#cancellation_flag=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTimeout API (\u003ccode\u003ets_parser_timeout_micros\u003c/code\u003e, \u003ccode\u003ets_parser_set_timeout_micros\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#timeout_micros\u003c/code\u003e and \u003ccode\u003eParser#timeout_micros=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eTSParseOptions\u003c/code\u003e with \u003ccode\u003eprogress_callback\u003c/code\u003e for cancellation/timeout functionality in 0.26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_LANGUAGE_VERSION\u003c/code\u003e is now 15 (was 14)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION\u003c/code\u003e is now 13 (was 6)\u003c/li\u003e\n\u003cli\u003eGrammar files (.so) must be built against tree-sitter 0.26+ to work with this version\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed duplicate method definition in QueryCursor (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/99\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a use-after-free in the logger (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/100\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a potential buffer overflow when loading parsers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/7905b77b83779f9bcfb9d28522beb8b08347929e\"\u003e\u003ccode\u003e7905b77\u003c/code\u003e\u003c/a\u003e bump: tree-sitter: v0.26.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/549dc10ea5387b63361f6c660bae233f1208ff20\"\u003e\u003ccode\u003e549dc10\u003c/code\u003e\u003c/a\u003e bump: v2.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/5698383c1e77acea64cf67408afc1914b09009d1\"\u003e\u003ccode\u003e5698383\u003c/code\u003e\u003c/a\u003e language: avoid a potential buffer overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/bfd19f804e648150ea2694be176298c321a5173d\"\u003e\u003ccode\u003ebfd19f8\u003c/code\u003e\u003c/a\u003e fix: mark Logger in Parser GC to prevent use-after-free\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/2cc3388f7d6f8f3f0b49fda5b07c5a45c142a8f1\"\u003e\u003ccode\u003e2cc3388\u003c/code\u003e\u003c/a\u003e fix: Remove duplicate method definitions in QueryCursor to eliminate warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/3c3ef848a19c77782bbab96ca9a862cff5f3d854\"\u003e\u003ccode\u003e3c3ef84\u003c/code\u003e\u003c/a\u003e bump: ci: add ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/125204a0f0b8540f4541da60fcdc32136d02320f\"\u003e\u003ccode\u003e125204a\u003c/code\u003e\u003c/a\u003e bump: ruby: minimum required is 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/20012f4ef5071eb6e5e6c83750164ac0b1528da2\"\u003e\u003ccode\u003e20012f4\u003c/code\u003e\u003c/a\u003e ext: language: \u003ccode\u003elang\u003c/code\u003e is now a \u003ccode\u003econst TSLanguage *\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/24bccc25ff3599cc728e48381011d61cdde87b50\"\u003e\u003ccode\u003e24bccc2\u003c/code\u003e\u003c/a\u003e refactor: rubofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/5442b3f55e1ec4ec266ad8c0f0c73dfae4a1ac8d\"\u003e\u003ccode\u003e5442b3f\u003c/code\u003e\u003c/a\u003e refactor: justfile\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/compare/v2.0.0...v2.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.7.4 to 2.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.5 (19 Feb 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf available, tree traversal is based on \u003ccode\u003eDir.scan\u003c/code\u003e, which saves syscalls in common platforms. This method is a recent addition to Ruby contributed by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e, so you need to be on Ruby \u003ccode\u003emaster\u003c/code\u003e to leverage this for now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTree traversal is a tad more performant, regardless of the previous point. Gains are marginal when eager loading, because it is dominated by loading the code, but \u003ccode\u003eZeitwerk::Loader#all_expected_cpaths\u003c/code\u003e was 14% faster in some benchmarks, for example.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cem\u003eREADME.md\u003c/em\u003e documents \u003ca href=\"https://github.com/fxn/zeitwerk?tab=readme-ov-file#autoloaded-constants\"\u003ehow to collect autoloaded constants\u003c/a\u003e using an \u003ccode\u003eon_load\u003c/code\u003e callback.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInternal maintenance.\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/fxn/zeitwerk/commit/adfeec494ae4a08a8c19ea7e600dd54b4be53293\"\u003e\u003ccode\u003eadfeec4\u003c/code\u003e\u003c/a\u003e Ready for 2.7.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/a22d742a8ea6a8fe688da60b18f33b794e53d989\"\u003e\u003ccode\u003ea22d742\u003c/code\u003e\u003c/a\u003e Use the now yielded cwd in a few tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/5df497f97671dcc7924c2c24e1b245de1b2d7a6e\"\u003e\u003ccode\u003e5df497f\u003c/code\u003e\u003c/a\u003e Adds unit tests for Zeitwerk::Loader::FileSystem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/0a7021a492b7f57c5b382b13f6034834b169529e\"\u003e\u003ccode\u003e0a7021a\u003c/code\u003e\u003c/a\u003e Let with_(files|setup) yield the cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/976b8f113b25bf93e3b3250baa39ba9ab47a6231\"\u003e\u003ccode\u003e976b8f1\u003c/code\u003e\u003c/a\u003e Update code comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/8398da896de628ba89b3f80eb815bf9b1227ed39\"\u003e\u003ccode\u003e8398da8\u003c/code\u003e\u003c/a\u003e Let the log method take a block\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/812d0eee5559736c9f3bcd2166c833bbb5f78491\"\u003e\u003ccode\u003e812d0ee\u003c/code\u003e\u003c/a\u003e Use Dir.scan if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/f845a27db608282272c2de287f86aeb477c7a87f\"\u003e\u003ccode\u003ef845a27\u003c/code\u003e\u003c/a\u003e Delete PoC file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/112cfdf4be72c25891205f84a94178d224f37550\"\u003e\u003ccode\u003e112cfdf\u003c/code\u003e\u003c/a\u003e directory -\u0026gt; dir for consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/064b76cbc454eee442ddc51efeb8199c34b73e8c\"\u003e\u003ccode\u003e064b76c\u003c/code\u003e\u003c/a\u003e Add a section about predicates to PROJECT_RULES.md\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fxn/zeitwerk/compare/v2.7.4...v2.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlite3` from 2.9.0 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/releases\"\u003esqlite3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSHA256 Checksums\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003eeeb86db55645b85327ba75129e3614658d974bf4da8fdc87018a0d42c59f6e42  sqlite3-2.9.2-aarch64-linux-gnu.gem\r\n4feff91fb8c2b13688da34b5627c9d1ed9cedb3ee87a7114ec82209147f07a6d  sqlite3-2.9.2-aarch64-linux-musl.gem\r\n1ee2eb06b5301aaf5ce343a6e88d99ac932d95202d7b350f0e7b6d8d588580d7  sqlite3-2.9.2-arm-linux-gnu.gem\r\n8ca0de6aceede968de0394e22e95d549834c4d8e318f69a92a52f049878a0057  sqlite3-2.9.2-arm-linux-musl.gem\r\nd15bd9609a05f9d54930babe039585efc8cadd57517c15b64ec7dfa75158a5e9  sqlite3-2.9.2-arm64-darwin.gem\r\nb1b10d8c45a495b1e5b6338f7baa11297522bb9809b01e7e575090edd685953e  sqlite3-2.9.2-x64-mingw-ucrt.gem\r\n066bc904522f8a7072236a81237c03a4a1dfe070a25107e392de03d1e4ad0e6d  sqlite3-2.9.2-x86-linux-gnu.gem\r\n6503c76278f5e8629b12b6518ff43a9a4f6d9381de73f0b086c9fa1226db5ede  sqlite3-2.9.2-x86-linux-musl.gem\r\ned691b5021674d72582d03c5a38e89634b961902735fb6225273892805421d13  sqlite3-2.9.2-x86_64-darwin.gem\r\ndce83ffcb7e72f9f7aeb6e5404f15d277a45332fe18ccce8a8b3ed51e8d23aee  sqlite3-2.9.2-x86_64-linux-gnu.gem\r\ne8dd906a613f13b60f6d47ae9dda376384d9de1ab3f7e3f2fdf2fd18a871a2d7  sqlite3-2.9.2-x86_64-linux-musl.gem\r\n86814150714b6b06a328d083f46408e7a4a83b5f0a9673ed934ee3a1cb7a73b1  sqlite3-2.9.2.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSHA256 checksums:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e85535ddf1c37f116ebebe0330bbbffc2ccb55d09f69717a565f8cfb35142f136  sqlite3-2.9.1-aarch64-linux-gnu.gem\r\n646a28a655fc0298ff4266de0af89b66477a2d9ad65cebb5abad190bb64ed092  sqlite3-2.9.1-aarch64-linux-musl.gem\r\ned25696b0fb4694ca4f47287eaaa9e0d46a0a0c92990c453743d6ab6b4f51fa0  sqlite3-2.9.1-arm-linux-gnu.gem\r\n82ca90eefe50935c827ab0c8dffff5219f57b5da0c92039e3e27f7dbccc9e992  sqlite3-2.9.1-arm-linux-musl.gem\r\ne0cc5521aa03361e2da56635f3745242510b0b98c4608a3824b7e31ab2e7ffb9  sqlite3-2.9.1-arm64-darwin.gem\r\nffae7b4c712f4e29cef2a95125bb2144624e4c675fb5c19175231a20f128dfd1  sqlite3-2.9.1-x64-mingw-ucrt.gem\r\nc3517e6f0df1f3a99fb73c5b0e6f02fc93b3b6b2ca0de72cb6d3956153310603  sqlite3-2.9.1-x86-linux-gnu.gem\r\n2216ab52dbff54bbc5ea87789e02c60f1c749f7ce052cef36da542ecc9aadc25  sqlite3-2.9.1-x86-linux-musl.gem\r\n5ce2c05eed8dc7c6debd560e2c5960e36521652b9a43bc3e42bc431db600c36f  sqlite3-2.9.1-x86_64-darwin.gem\r\n1cbb644204ed143e5c96f6d59b5c571ba6f18b18a9dc5aa11c101187ff227afd  sqlite3-2.9.1-x86_64-linux-gnu.gem\r\nbbd50dd1caca78b6c069701d9009ef714461495985d4c374ea1a1def061ba67c  sqlite3-2.9.1-x86_64-linux-musl.gem\r\nf6ddc2ec850434ac14498944da9d768fe154dbcd4163fc9e173a524d95e2f887  sqlite3-2.9.1.gem\r\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/sqlite3-ruby/blob/main/CHANGELOG.md\"\u003esqlite3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/efc56aa1e407a7aa6a96caefecd2c900e1f39223\"\u003e\u003ccode\u003eefc56aa\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8635618dca7edca3a804175610d0a81381e3554b\"\u003e\u003ccode\u003e8635618\u003c/code\u003e\u003c/a\u003e doc: new automated release process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/7aa67360cbfc088d551a8b6d422dfb118b496614\"\u003e\u003ccode\u003e7aa6736\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/690\"\u003e#690\u003c/a\u003e from sparklemotion/publish-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/05c922b4aec8ff147954dea7d8fc662cc3d8ae22\"\u003e\u003ccode\u003e05c922b\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2.rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/21a4782af583fe7d6d1dcc1f7a9e558c882a4f94\"\u003e\u003ccode\u003e21a4782\u003c/code\u003e\u003c/a\u003e dev: update test-gem-build to support a release flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/a57b16884836cebaf9981887cb77e3ac8242d7ca\"\u003e\u003ccode\u003ea57b168\u003c/code\u003e\u003c/a\u003e ci: add release pipeline for publishing gems to RubyGems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/e1c65b19bfc8cc46e2ca3b8288339aac51955293\"\u003e\u003ccode\u003ee1c65b1\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2.rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/63f6cbd4e919b43147de28c1fb67923fe68345f3\"\u003e\u003ccode\u003e63f6cbd\u003c/code\u003e\u003c/a\u003e ci: skeleton for release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8c3c0a051390401c564a0da7e12e1cfa940d01af\"\u003e\u003ccode\u003e8c3c0a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/689\"\u003e#689\u003c/a\u003e from sparklemotion/harden-github-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/9ebda352723ac2db6929cabe66f1e148948a704d\"\u003e\u003ccode\u003e9ebda35\u003c/code\u003e\u003c/a\u003e ci: address zizmor artipacked and template-injection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/compare/v2.9.0...v2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `temporalio` from 1.2.0 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/temporalio/sdk-ruby/releases\"\u003etemporalio'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\u003ch3\u003eNexus Caller Support (experimental)\u003c/h3\u003e\n\u003cp\u003eAdd support for calling Nexus operations and fetching results. This does not include implementing Nexus handlers.\u003c/p\u003e\n\u003cp\u003e⚠️ This is experimental and subject to change.\u003c/p\u003e\n\u003ch3\u003eClient Environment Configuration General Availability\u003c/h3\u003e\n\u003cp\u003eThe client environment configuration feature is no longer experimental and is now generally available.\u003c/p\u003e\n\u003ch3\u003eDeployment-Based Worker Versioning General Availability\u003c/h3\u003e\n\u003cp\u003eThe deployment-based worker versioning feature is no longer experimental and is now generally available. The older style worker deployment APIs have been marked as obsolete.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed memory leak where a heap allocated function pointer would not always be freed.\u003c/li\u003e\n\u003cli\u003eAdded backoff on ResourceExhausted errors in Poller autoscaler to prevent hot retry loop\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSpecific Changes\u003c/h2\u003e\n\u003cp\u003e2026-02-05 - 7d14a90 - remove experimental warning for new worker versioning APIs and envconfig, add deprecation warnings for old worker versioning APIs (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/383\"\u003e#383\u003c/a\u003e)\n2026-02-09 - ec8412c - Fix leak issues (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/385\"\u003e#385\u003c/a\u003e)\n2026-02-17 - 4c357f7 - Nexus caller-only support (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/381\"\u003e#381\u003c/a\u003e)\n2026-02-17 - bdd0604 - Add backoff on ResourceExhausted errors in Poller autoscaler (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/387\"\u003e#387\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/c40a65892e12d9e3b0113acf6ba22fc4c576b4ef\"\u003e\u003ccode\u003ec40a658\u003c/code\u003e\u003c/a\u003e Make search attribute type more lenient when parsing (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/568d01d857634052270ea6bad7587f67b4fa1476\"\u003e\u003ccode\u003e568d01d\u003c/code\u003e\u003c/a\u003e chore: add GHA workaround for bundle install (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/c156d5aebf4b6080f2c31587c350b1cc304d9e7b\"\u003e\u003ccode\u003ec156d5a\u003c/code\u003e\u003c/a\u003e chore: bump version to 1.3.0 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/28d185f25e98bf5d24e5c5b3813c8bf6fc789522\"\u003e\u003ccode\u003e28d185f\u003c/code\u003e\u003c/a\u003e Bump bytes from 1.11.0 to 1.11.1 in /temporalio (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/bdd06046d342088b7e6c666f3dd75b9259a186a5\"\u003e\u003ccode\u003ebdd0604\u003c/code\u003e\u003c/a\u003e Add backoff on ResourceExhausted errors in Poller autoscaler (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/4c357f79ef841421654a0fd7b0125fccbcf895fe\"\u003e\u003ccode\u003e4c357f7\u003c/code\u003e\u003c/a\u003e Nexus caller-only support (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/ec8412ce568f318a7f7141d00c68f9b38a142f80\"\u003e\u003ccode\u003eec8412c\u003c/code\u003e\u003c/a\u003e Fix leak issues (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/7d14a90dca8b3c149e5bee4fe1dbf6a378f6b94a\"\u003e\u003ccode\u003e7d14a90\u003c/code\u003e\u003c/a\u003e remove experimental warning for new worker versioning APIs and envconfig, add...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/025308de4fac43fc9b15fb2fe5c0355d9fd1b864\"\u003e\u003ccode\u003e025308d\u003c/code\u003e\u003c/a\u003e chore: pin rubocop (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/temporalio/sdk-ruby/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/viamin/aidp/pull/490","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/viamin%2Faidp/issues/490","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/490/packages"},{"uuid":"4085444487","node_id":"PR_kwDOQ9PGIc7LEncF","number":17,"state":"closed","title":"Bump ruby-lsp from 0.26.4 to 0.26.8","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-31T00:11:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-17T00:10:31.000Z","updated_at":"2026-03-31T00:11:13.000Z","time_to_close":1209641,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.4 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSync \u003ccode\u003eURI::Source\u003c/code\u003e with Tapioca (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3891\"\u003eShopify/ruby-lsp#3891\u003c/a\u003e) by \u003ca href=\"https://github.com/amomchilov\"\u003e\u003ccode\u003e@​amomchilov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;toggle block style\u0026quot; refactor when there's no selection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3818\"\u003eShopify/ruby-lsp#3818\u003c/a\u003e) by \u003ca href=\"https://github.com/rolandcrosby-columntax\"\u003e\u003ccode\u003e@​rolandcrosby-columntax\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement goto definition for send and public send (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3882\"\u003eShopify/ruby-lsp#3882\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude magic comments from documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3844\"\u003eShopify/ruby-lsp#3844\u003c/a\u003e) by \u003ca href=\"https://github.com/thomasmarshall\"\u003e\u003ccode\u003e@​thomasmarshall\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.4...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.4\u0026new-version=0.26.8)](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/atharva-anchanto/lite_wms/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/atharva-anchanto%2Flite_wms/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"4062692178","node_id":"PR_kwDOFNmnQc7J71X7","number":3136,"state":"open","title":"Bump ruby-lsp from 0.26.7 to 0.26.8","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-03-12T07:13:07.000Z","updated_at":"2026-03-14T05:10:11.685Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.8)](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/aldwin7894/project-cyan/pull/3136","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldwin7894%2Fproject-cyan/issues/3136","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3136/packages"},{"uuid":"4062413963","node_id":"PR_kwDOAbAFe87J67Jk","number":44047,"state":"open","title":"Build(deps-dev): Bump ruby-lsp from 0.26.7 to 0.26.8","user":"dependabot[bot]","labels":["in-progress","needs-rebase","dependencies","ruby"],"assignees":["dependabot[bot]"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-12T06:03:36.000Z","updated_at":"2026-03-12T06:05:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.8)](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/home-assistant/home-assistant.io/pull/44047","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2Fhome-assistant.io/issues/44047","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/44047/packages"},{"uuid":"4062304083","node_id":"PR_kwDOQsoqx87J6jv9","number":108,"state":"open","title":"Bump ruby-lsp from 0.26.7 to 0.26.8","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-12T05:38:31.000Z","updated_at":"2026-03-12T05:39:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.8)](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/aldwin7894/project-airona/pull/108","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldwin7894%2Fproject-airona/issues/108","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/108/packages"}],"issue_packages":[{"old_version":"0.26.8","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-04-16T21:17:34.000Z","version_change":"0.26.8 → 0.26.9","issue":{"uuid":"4278582217","node_id":"PR_kwDORj-F5c7THDFo","number":15,"state":"open","title":"Bump the minor-and-patch group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-16T21:17:34.000Z","updated_at":"2026-04-16T21:18:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":4,"packages":[{"name":"rake","old_version":"13.3.1","new_version":"13.4.2","repository_url":"https://github.com/ruby/rake"},{"name":"rubocop","old_version":"1.85.1","new_version":"1.86.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"railties","old_version":"8.1.2","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the minor-and-patch group with 4 updates in the /gem directory: [rake](https://github.com/ruby/rake), [rubocop](https://github.com/rubocop/rubocop), [ruby-lsp](https://github.com/Shopify/ruby-lsp) and [railties](https://github.com/rails/rails).\n\nUpdates `rake` from 13.3.1 to 13.4.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/503b8ec593c51289c09cc2a69a34af99d6198c6a\"\u003e\u003ccode\u003e503b8ec\u003c/code\u003e\u003c/a\u003e v13.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/46038e780e5982c34a745229b91909871c18357c\"\u003e\u003ccode\u003e46038e7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/723\"\u003e#723\u003c/a\u003e from ruby/fix/testopts-preserve-existing-value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/604a3d9873f75442b6209b6f9d7938a5358a9fe1\"\u003e\u003ccode\u003e604a3d9\u003c/code\u003e\u003c/a\u003e Isolate TESTOPTS env in TestRakeTestTask setup/teardown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/5886caa127339046cedef67713ef990a7eb7710c\"\u003e\u003ccode\u003e5886caa\u003c/code\u003e\u003c/a\u003e Preserve ENV[\u0026quot;TESTOPTS\u0026quot;] when verbose is enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/92193acc3674fd1567bab0bcf3f5df37f141b47e\"\u003e\u003ccode\u003e92193ac\u003c/code\u003e\u003c/a\u003e v13.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b74be0be2421b7719ebde57420ff738479ada341\"\u003e\u003ccode\u003eb74be0b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/721\"\u003e#721\u003c/a\u003e from ruby/fix/add-options-to-gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/829f66d86cd28810fdd3dcbc4fff8feabf554d73\"\u003e\u003ccode\u003e829f66d\u003c/code\u003e\u003c/a\u003e Add lib/rake/options.rb to gemspec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/2d55bc4a8b97db9f0c085df59d338077885f6f1a\"\u003e\u003ccode\u003e2d55bc4\u003c/code\u003e\u003c/a\u003e v13.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/14150701d48a16400b820977f6d64a7f0604d9f0\"\u003e\u003ccode\u003e1415070\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rake/commit/b3dc948e2689487b37052288097a6666e001effb\"\u003e\u003ccode\u003eb3dc948\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/rake/issues/713\"\u003e#713\u003c/a\u003e from pvdb/simplify_standard_system_dir\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rake/compare/v13.3.1...v13.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop` from 1.85.1 to 1.86.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.86.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). (\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. (\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. (\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. (\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. (\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. (\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. (\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. (\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. (\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. (\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. (\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\u003eRuboCop v1.86.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. (\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md\"\u003erubocop's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.86.1 (2026-04-09)\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/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). ([\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. ([\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. ([\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. ([\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. ([\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. ([\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. ([\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. ([\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. ([\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. ([\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. ([\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.86.0 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. ([\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15015\"\u003e#15015\u003c/a\u003e: Fix \u003ccode\u003eStyle/ConcatArrayLiterals\u003c/code\u003e autocorrect deleting code for percent literals with interpolation. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14897\"\u003e#14897\u003c/a\u003e: Detect constant reassignment after class/module definition in \u003ccode\u003eLint/ConstantReassignment\u003c/code\u003e. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11829\"\u003e#11829\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when duplicate methods are defined in anonymous classes and modules not assigned to a constant. ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14988\"\u003e#14988\u003c/a\u003e: Fix false negative in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when redundant parentheses around range literals in block 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/14916\"\u003e#14916\u003c/a\u003e: Fix false positive for \u003ccode\u003eLayout/MultilineMethodCallIndentation\u003c/code\u003e when method chain is inside a hash pair value passed to a multiline chained method call. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15010\"\u003e#15010\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when modules blocks are passed as method arguments. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15028\"\u003e#15028\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when the same method is defined in different anonymous module blocks passed to a no-receiver call (e.g. \u003ccode\u003estub_const\u003c/code\u003e). ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15021\"\u003e#15021\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when using a guard clause followed by a multi-line guard clause with \u003ccode\u003eraise\u003c/code\u003e, \u003ccode\u003efail\u003c/code\u003e, \u003ccode\u003ereturn\u003c/code\u003e, \u003ccode\u003ebreak\u003c/code\u003e, or \u003ccode\u003enext\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/15001\"\u003e#15001\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/RedundantLineBreak\u003c/code\u003e when setting \u003ccode\u003eInspectBlocks: true\u003c/code\u003e and using \u003ccode\u003erescue\u003c/code\u003e or \u003ccode\u003eensure\u003c/code\u003e in the block. ([\u003ca href=\"https://github.com/koic\"\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/14997\"\u003e#14997\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when assigning \u003ccode\u003eFile.open\u003c/code\u003e to an 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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/af8026643d436c4570bf7063a7475e2cad95fd49\"\u003e\u003ccode\u003eaf80266\u003c/code\u003e\u003c/a\u003e Cut 1.86.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/eb504cec166130d8459046fbbfd05ba795206a5c\"\u003e\u003ccode\u003eeb504ce\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/9c8fe2c1baab6f1cadd894507c8790677bd8092c\"\u003e\u003ccode\u003e9c8fe2c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15085\"\u003e#15085\u003c/a\u003e from G-Rath/fix-style-guard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11d796a5faaf0802f5e02c7aaf5b9df17365763e\"\u003e\u003ccode\u003e11d796a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15093\"\u003e#15093\u003c/a\u003e from koic/fix_return_tool_execution_errors_instead_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/4450067dda2f262e4ded6f76de28d28632d3315d\"\u003e\u003ccode\u003e4450067\u003c/code\u003e\u003c/a\u003e Return tool execution errors instead of protocol errors in MCP server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/ff641800ba81e44fa07a54cb12eab59b1c670984\"\u003e\u003ccode\u003eff64180\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15092\"\u003e#15092\u003c/a\u003e from viralpraxis/fix-an-error-for-layout-end-alignm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11e04c0ad04ff164b0eebcdb4c5ac61c58870788\"\u003e\u003ccode\u003e11e04c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15091\"\u003e#15091\u003c/a\u003e from eugeneius/duplicate_methods_anonymous_classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/b8deea4173ab30e1bf8171b168412ae808a27dd7\"\u003e\u003ccode\u003eb8deea4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15090\"\u003e#15090\u003c/a\u003e from eugeneius/guard_clause_and_return\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/e1300200a6368d5569c8fff97321642d3292eff9\"\u003e\u003ccode\u003ee130020\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/480859411db057a120ef3829a54641f0626917ce\"\u003e\u003ccode\u003e4808594\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eDuplicateMethods\u003c/code\u003e for anonymous classes in constant assignments and methods\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.85.1...v1.86.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.26.8 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `railties` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erailties's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/railties/CHANGELOG.md\"\u003erailties's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003elibvips\u003c/code\u003e to generated \u003ccode\u003eci.yml\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eConditionally adds \u003ccode\u003elibvips\u003c/code\u003e to \u003ccode\u003eci.yml\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSteve Polito\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/635841a1560a3cde37e6350bd0d7f0a63f65d6d5\"\u003e\u003ccode\u003e635841a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56911\"\u003e#56911\u003c/a\u003e from toy/postgresql-9.5-required\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/b8f4e474e508cb071b28471beb4a982596c5c0a9\"\u003e\u003ccode\u003eb8f4e47\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/53417\"\u003e#53417\u003c/a\u003e from vinibispo/fix/skip_storage-changes-gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6b0ebde4a1157867923096752862743fc05d6aba\"\u003e\u003ccode\u003e6b0ebde\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56693\"\u003e#56693\u003c/a\u003e from r7kamura/configuration-duplicated-if\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/54aa1c59cf1babfb7606660c25f12ac4e20f63c3\"\u003e\u003ccode\u003e54aa1c5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56523\"\u003e#56523\u003c/a\u003e from stevepolitodesign/sp-cl-libvips\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/supostat/zodra/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/supostat%2Fzodra/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"0.26.8","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-04-13T00:38:34.000Z","version_change":"0.26.8 → 0.26.9","issue":{"uuid":"4250488867","node_id":"PR_kwDOKBw-4c7R1hgB","number":47,"state":"closed","title":"Bump the bundler-all group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T00:36:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-13T00:38:34.000Z","updated_at":"2026-04-20T00:37:00.000Z","time_to_close":604705,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler-all","update_count":28,"packages":[{"name":"puma","old_version":"7.2.0","new_version":"8.0.0","repository_url":"https://github.com/puma/puma"},{"name":"rails","old_version":"8.1.2","new_version":"8.1.3","repository_url":"https://github.com/rails/rails"},{"name":"rubocop","old_version":"1.85.1","new_version":"1.86.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rbs","old_version":"3.10.3","new_version":"3.10.4","repository_url":"https://github.com/ruby/rbs"},{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"yard","old_version":"0.9.38","new_version":"0.9.39"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler-all group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [puma](https://github.com/puma/puma) | `7.2.0` | `8.0.0` |\n| [rails](https://github.com/rails/rails) | `8.1.2` | `8.1.3` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.85.1` | `1.86.1` |\n| [rbs](https://github.com/ruby/rbs) | `3.10.3` | `3.10.4` |\n| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.26.8` | `0.26.9` |\n| [yard](http://yardoc.org) | `0.9.38` | `0.9.39` |\n\n\nUpdates `puma` from 7.2.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/releases\"\u003epuma's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0 - Into the Arena\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eRead our \u003ca href=\"https://github.com/puma/puma/blob/main/docs/8.0-Upgrade.md\"\u003eVersion 8 Upgrade Guide.\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/puma/puma/blob/main/History.md\"\u003epuma's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.0 / 2026-03-27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenv[\u0026quot;puma.mark_as_io_bound\u0026quot;]\u003c/code\u003e API and \u003ccode\u003emax_io_threads\u003c/code\u003e config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3816\"\u003e#3816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/puma/puma/issues/3894\"\u003e#3894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003esingle\u003c/code\u003e and \u003ccode\u003ecluster\u003c/code\u003e DSL hooks for mode-specific configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eon_force\u003c/code\u003e option to \u003ccode\u003eshutdown_debug\u003c/code\u003e to only dump thread backtraces on forced (non-graceful) shutdown (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3671\"\u003e#3671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd API to dynamically update min and max thread counts at runtime via \u003ccode\u003eupdate_thread_pool_min_max\u003c/code\u003e and \u003ccode\u003eServerPluginControl\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3658\"\u003e#3658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3829\"\u003e#3829\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBugfixes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix phased restart for \u003ccode\u003efork_worker\u003c/code\u003e to avoid forking from stale worker 0 when it has been replaced (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3853\"\u003e#3853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3838\"\u003e#3838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCache downcased header key in \u003ccode\u003estr_headers\u003c/code\u003e to avoid redundant \u003ccode\u003eString#downcase\u003c/code\u003e calls, reducing allocations by ~50% per response (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRefactor\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCollect \u003ccode\u003eenv\u003c/code\u003e processing into dedicated \u003ccode\u003eclient_env.rb\u003c/code\u003e module (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3582\"\u003e#3582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove event to default configuration (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3872\"\u003e#3872\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDocs\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd gRPC guide for configuring gRPC lifecycle hooks in clustered mode (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3885\"\u003e#3885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3900\"\u003e#3900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrect default values for \u003ccode\u003epersistent_timeout\u003c/code\u003e and \u003ccode\u003eworker_boot_timeout\u003c/code\u003e in DSL docs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd file descriptor limit warning in test helper for contributors (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3893\"\u003e#3893\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBreaking changes\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault production bind address changed from \u003ccode\u003e0.0.0.0\u003c/code\u003e to \u003ccode\u003e::\u003c/code\u003e (IPv6) when a non-loopback IPv6 interface is available; falls back to \u003ccode\u003e0.0.0.0\u003c/code\u003e if IPv6 is unavailable (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3847\"\u003e#3847\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/08f63d495955eaee065d0ee18849f4ddcd52fe72\"\u003e\u003ccode\u003e08f63d4\u003c/code\u003e\u003c/a\u003e Release v8.0.0 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7406cc192480ce9d01c9a47e6f41fcb1548217a6\"\u003e\u003ccode\u003e7406cc1\u003c/code\u003e\u003c/a\u003e Fix IPv4-mapped IPv6 addresses in \u003ccode\u003eREMOTE_ADDR\u003c/code\u003e and request logs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/e090243320eb743a6c03f77f4ffa9e1a24c677b1\"\u003e\u003ccode\u003ee090243\u003c/code\u003e\u003c/a\u003e Build(deps): Bump actions/checkout from 4 to 6 (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/7d5dca1a561a95c2a6b8742b52c81c73cd2b95ca\"\u003e\u003ccode\u003e7d5dca1\u003c/code\u003e\u003c/a\u003e Update SECURITY.md, native Github vuln reports [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/66e6a32de52d9beed43e1c598bda360f906ccbef\"\u003e\u003ccode\u003e66e6a32\u003c/code\u003e\u003c/a\u003e Minor correction to defaults documented in dsl.rb (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/3788eca453a64ffb05a67115d3e2a276bbaf21a3\"\u003e\u003ccode\u003e3788eca\u003c/code\u003e\u003c/a\u003e ci: limit rack-conform to main pushes and scope ragel PR runs (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3908\"\u003e#3908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/57b7799201adf43cdf508f90c57b95e23f49bbcd\"\u003e\u003ccode\u003e57b7799\u003c/code\u003e\u003c/a\u003e ci: run turbo-rails only on latest stable Ruby and Rails (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/6685d6b8024c5480774b790808e4f0343e414fa5\"\u003e\u003ccode\u003e6685d6b\u003c/code\u003e\u003c/a\u003e ci: replace skip-duplicate jobs with concurrency and trigger filters (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/2848c823dfc9838033d6ce342fee917e81aeedc1\"\u003e\u003ccode\u003e2848c82\u003c/code\u003e\u003c/a\u003e ci: run push workflows only on main and release branches (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/puma/puma/commit/97a37bb7c6a457f8846eb3ce307daadd4b38b4f8\"\u003e\u003ccode\u003e97a37bb\u003c/code\u003e\u003c/a\u003e Add release pre-merge checks and align Release.md [ci skip] (\u003ca href=\"https://redirect.github.com/puma/puma/issues/3904\"\u003e#3904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/puma/puma/compare/v7.2.0...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rails` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003erails's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1c7d1cf0a1ab4142eb20ef30fe2062aad6f72e21\"\u003e\u003ccode\u003e1c7d1cf\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e91694b1f0e176eb01bfcc480a008bffc70f7602\"\u003e\u003ccode\u003ee91694b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG (8.1 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6752711c8c31d79ba50d13af6a6698a3b85415e0\"\u003e\u003ccode\u003e6752711\u003c/code\u003e\u003c/a\u003e Fix XSS in debug exceptions copy-to-clipboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63f5ad83edaa0b976f82d46988d745426aa4a42d\"\u003e\u003ccode\u003e63f5ad8\u003c/code\u003e\u003c/a\u003e Skip blank attribute names in Action View tag helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/8c9676b803820110548cdb7523800db43bc6874c\"\u003e\u003ccode\u003e8c9676b\u003c/code\u003e\u003c/a\u003e Prevent glob injection in ActiveStorage DiskService#delete_prefixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/9b06fbc0f504b8afe333f33d19548f3b85fbe655\"\u003e\u003ccode\u003e9b06fbc\u003c/code\u003e\u003c/a\u003e Prevent path traversal in ActiveStorage DiskService\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/ec1a0e215efd27a3b3911aae6df978a80f456a49\"\u003e\u003ccode\u003eec1a0e2\u003c/code\u003e\u003c/a\u003e Improve performance of NumberToDelimitedConverter\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.85.1 to 1.86.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.86.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). (\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. (\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. (\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. (\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. (\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. (\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. (\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. (\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. (\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. (\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. (\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. (\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. (\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. (\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. (\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\u003eRuboCop v1.86.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. (\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. (\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md\"\u003erubocop's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.86.1 (2026-04-09)\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/11051\"\u003e#11051\u003c/a\u003e: Fix \u003ccode\u003eStyle/AccessModifierDeclarations\u003c/code\u003e inline autocorrect dropping comments between the access modifier and the following method definition. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14665\"\u003e#14665\u003c/a\u003e: Cache plugin integration in CopHelper to avoid repeated loading. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15091\"\u003e#15091\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives for anonymous classes in constant assignments and method return values. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15055\"\u003e#15055\u003c/a\u003e: Fix \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e false positives with anonymous classes inside blocks (e.g. RSpec \u003ccode\u003elet\u003c/code\u003e, \u003ccode\u003edescribe\u003c/code\u003e). ([\u003ca href=\"https://github.com/ShkumbinDelija\"\u003e\u003ccode\u003e@​ShkumbinDelija\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15035\"\u003e#15035\u003c/a\u003e: Exclude \u003ccode\u003eincluded_modules\u003c/code\u003e from \u003ccode\u003eStyle/ModuleMemberExistenceCheck\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/15087\"\u003e#15087\u003c/a\u003e: Fix false positive for \u003ccode\u003eStyle/RedundantLineContinuation\u003c/code\u003e when using interpolated string literals. ([\u003ca href=\"https://github.com/koic\"\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/14361\"\u003e#14361\u003c/a\u003e: Fix false positive in \u003ccode\u003efile_to_include?\u003c/code\u003e when a relative \u003ccode\u003eInclude\u003c/code\u003e pattern matches a parent directory name in the absolute file path. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15090\"\u003e#15090\u003c/a\u003e: Fix false positives for \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when consecutive guard clauses use \u003ccode\u003eand return\u003c/code\u003e. ([\u003ca href=\"https://github.com/eugeneius\"\u003e\u003ccode\u003e@​eugeneius\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15070\"\u003e#15070\u003c/a\u003e: Fix false positive for \u003ccode\u003eLint/RedundantSafeNavigation\u003c/code\u003e when chained safe navigation is used in a conditional expression with \u003ccode\u003eInferNonNilReceiver\u003c/code\u003e enabled. ([\u003ca href=\"https://github.com/koic\"\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/15074\"\u003e#15074\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when using parentheses around an endless range in assignment. ([\u003ca href=\"https://github.com/koic\"\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/15048\"\u003e#15048\u003c/a\u003e: Fix issue where the url_for is missing for Cops without instance methods. ([\u003ca href=\"https://github.com/Fryguy\"\u003e\u003ccode\u003e@​Fryguy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15051\"\u003e#15051\u003c/a\u003e: Fix \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e handling of beginless ranges. ([\u003ca href=\"https://github.com/oggy\"\u003e\u003ccode\u003e@​oggy\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14980\"\u003e#14980\u003c/a\u003e: Fix \u003ccode\u003eLint/Syntax\u003c/code\u003e zero-length diagnostic range for syntax errors at EOF. ([\u003ca href=\"https://github.com/55728\"\u003e\u003ccode\u003e@​55728\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15084\"\u003e#15084\u003c/a\u003e: Handle heredocs with methods calls correctly when fixing guard clauses. ([\u003ca href=\"https://github.com/G-Rath\"\u003e\u003ccode\u003e@​G-Rath\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11398\"\u003e#11398\u003c/a\u003e: Fix incorrect \u003ccode\u003eInclude\u003c/code\u003e path adjustment when local config overrides an inherited \u003ccode\u003eInclude\u003c/code\u003e. ([\u003ca href=\"https://github.com/jonas054\"\u003e\u003ccode\u003e@​jonas054\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15092\"\u003e#15092\u003c/a\u003e: Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e. ([\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/15059\"\u003e#15059\u003c/a\u003e: Fix an error in \u003ccode\u003eLayout/LineLength\u003c/code\u003e when \u003ccode\u003eSplitStrings\u003c/code\u003e option is enabled and \u003ccode\u003e__FILE__\u003c/code\u003e is used. ([\u003ca href=\"https://github.com/jeromedalbert\"\u003e\u003ccode\u003e@​jeromedalbert\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/5876\"\u003e#5876\u003c/a\u003e: Fix \u003ccode\u003eLint/UnusedMethodArgument\u003c/code\u003e false positive when block argument is used via \u003ccode\u003eyield\u003c/code\u003e. ([\u003ca href=\"https://github.com/dduugg\"\u003e\u003ccode\u003e@​dduugg\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15093\"\u003e#15093\u003c/a\u003e: Return tool execution errors instead of protocol errors in MCP server. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15005\"\u003e#15005\u003c/a\u003e: Make \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e exclude \u003ccode\u003espec/**/*\u003c/code\u003e and \u003ccode\u003etest/**/*\u003c/code\u003e by default. ([\u003ca href=\"https://github.com/koic\"\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/15081\"\u003e#15081\u003c/a\u003e: Relax \u003ccode\u003eparallel\u003c/code\u003e dependency to \u003ccode\u003e\u0026gt;= 1.10\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/15063\"\u003e#15063\u003c/a\u003e: Disable \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop by default. ([\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.86.0 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15000\"\u003e#15000\u003c/a\u003e: Display ZJIT usage when running under LSP. ([\u003ca href=\"https://github.com/koic\"\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/14961\"\u003e#14961\u003c/a\u003e: Add \u003ccode\u003eAllowedParentClasses\u003c/code\u003e option to \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e. ([\u003ca href=\"https://github.com/hammadkhan\"\u003e\u003ccode\u003e@​hammadkhan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14977\"\u003e#14977\u003c/a\u003e: Support \u003ccode\u003eAllowedReceivers\u003c/code\u003e for \u003ccode\u003eStyle/HashLookupMethod\u003c/code\u003e. ([\u003ca href=\"https://github.com/koic\"\u003e\u003ccode\u003e@​koic\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/15015\"\u003e#15015\u003c/a\u003e: Fix \u003ccode\u003eStyle/ConcatArrayLiterals\u003c/code\u003e autocorrect deleting code for percent literals with interpolation. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14897\"\u003e#14897\u003c/a\u003e: Detect constant reassignment after class/module definition in \u003ccode\u003eLint/ConstantReassignment\u003c/code\u003e. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11829\"\u003e#11829\u003c/a\u003e: Fix false negatives for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when duplicate methods are defined in anonymous classes and modules not assigned to a constant. ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14988\"\u003e#14988\u003c/a\u003e: Fix false negative in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when redundant parentheses around range literals in block 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/14916\"\u003e#14916\u003c/a\u003e: Fix false positive for \u003ccode\u003eLayout/MultilineMethodCallIndentation\u003c/code\u003e when method chain is inside a hash pair value passed to a multiline chained method call. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15010\"\u003e#15010\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when modules blocks are passed as method arguments. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15028\"\u003e#15028\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/DuplicateMethods\u003c/code\u003e when the same method is defined in different anonymous module blocks passed to a no-receiver call (e.g. \u003ccode\u003estub_const\u003c/code\u003e). ([\u003ca href=\"https://github.com/Darhazer\"\u003e\u003ccode\u003e@​Darhazer\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15021\"\u003e#15021\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/EmptyLineAfterGuardClause\u003c/code\u003e when using a guard clause followed by a multi-line guard clause with \u003ccode\u003eraise\u003c/code\u003e, \u003ccode\u003efail\u003c/code\u003e, \u003ccode\u003ereturn\u003c/code\u003e, \u003ccode\u003ebreak\u003c/code\u003e, or \u003ccode\u003enext\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/15001\"\u003e#15001\u003c/a\u003e: Fix false positives in \u003ccode\u003eLayout/RedundantLineBreak\u003c/code\u003e when setting \u003ccode\u003eInspectBlocks: true\u003c/code\u003e and using \u003ccode\u003erescue\u003c/code\u003e or \u003ccode\u003eensure\u003c/code\u003e in the block. ([\u003ca href=\"https://github.com/koic\"\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/14997\"\u003e#14997\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when assigning \u003ccode\u003eFile.open\u003c/code\u003e to an 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\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/af8026643d436c4570bf7063a7475e2cad95fd49\"\u003e\u003ccode\u003eaf80266\u003c/code\u003e\u003c/a\u003e Cut 1.86.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/eb504cec166130d8459046fbbfd05ba795206a5c\"\u003e\u003ccode\u003eeb504ce\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/9c8fe2c1baab6f1cadd894507c8790677bd8092c\"\u003e\u003ccode\u003e9c8fe2c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15085\"\u003e#15085\u003c/a\u003e from G-Rath/fix-style-guard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11d796a5faaf0802f5e02c7aaf5b9df17365763e\"\u003e\u003ccode\u003e11d796a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15093\"\u003e#15093\u003c/a\u003e from koic/fix_return_tool_execution_errors_instead_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/4450067dda2f262e4ded6f76de28d28632d3315d\"\u003e\u003ccode\u003e4450067\u003c/code\u003e\u003c/a\u003e Return tool execution errors instead of protocol errors in MCP server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/ff641800ba81e44fa07a54cb12eab59b1c670984\"\u003e\u003ccode\u003eff64180\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15092\"\u003e#15092\u003c/a\u003e from viralpraxis/fix-an-error-for-layout-end-alignm...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/11e04c0ad04ff164b0eebcdb4c5ac61c58870788\"\u003e\u003ccode\u003e11e04c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15091\"\u003e#15091\u003c/a\u003e from eugeneius/duplicate_methods_anonymous_classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/b8deea4173ab30e1bf8171b168412ae808a27dd7\"\u003e\u003ccode\u003eb8deea4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/15090\"\u003e#15090\u003c/a\u003e from eugeneius/guard_clause_and_return\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/e1300200a6368d5569c8fff97321642d3292eff9\"\u003e\u003ccode\u003ee130020\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eLayout/EndAlignment\u003c/code\u003e cop error on an empty \u003ccode\u003ebegin\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/480859411db057a120ef3829a54641f0626917ce\"\u003e\u003ccode\u003e4808594\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eDuplicateMethods\u003c/code\u003e for anonymous classes in constant assignments and methods\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.85.1...v1.86.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `action_text-trix` from 2.1.17 to 2.1.18\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/basecamp/trix/releases\"\u003eaction_text-trix's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.18\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSanitize javascript: URI in JSON drag-drop deserialization by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1293\"\u003ebasecamp/trix#1293\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInfrastructure/CI\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: harden GitHub Actions workflows by \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/basecamp/trix/pull/1284\"\u003ebasecamp/trix#1284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.17...v2.1.18\"\u003ehttps://github.com/basecamp/trix/compare/v2.1.17...v2.1.18\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/da8869922e19bc3f852091468d34029af80813e7\"\u003e\u003ccode\u003eda88699\u003c/code\u003e\u003c/a\u003e v2.1.18\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/9c0a993d9fc2ffe9d56b013b030bc238f9c0557c\"\u003e\u003ccode\u003e9c0a993\u003c/code\u003e\u003c/a\u003e Fix XSS via javascript: URI in JSON drag-drop deserialization (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/basecamp/trix/commit/e62fcc3b5872a310a79cecb47472bd16bf6499ad\"\u003e\u003ccode\u003ee62fcc3\u003c/code\u003e\u003c/a\u003e ci: harden GitHub Actions workflows (\u003ca href=\"https://redirect.github.com/basecamp/trix/issues/1284\"\u003e#1284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/basecamp/trix/compare/v2.1.17...v2.1.18\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actioncable` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactioncable's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actioncable/CHANGELOG.md\"\u003eactioncable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailbox's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionmailbox/CHANGELOG.md\"\u003eactionmailbox's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionmailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionmailer/CHANGELOG.md\"\u003eactionmailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionpack` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionpack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionpack/CHANGELOG.md\"\u003eactionpack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6752711c8c31d79ba50d13af6a6698a3b85415e0\"\u003e\u003ccode\u003e6752711\u003c/code\u003e\u003c/a\u003e Fix XSS in debug exceptions copy-to-clipboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/10c6e0eb362d4cd437ea092deb86e67f0d243dfc\"\u003e\u003ccode\u003e10c6e0e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56750\"\u003e#56750\u003c/a\u003e from nicolasva/fix/UnknownHttpMethod\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/cce61db5a22f94e8e820b3d2bf3d96cf0db9412a\"\u003e\u003ccode\u003ecce61db\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56820\"\u003e#56820\u003c/a\u003e from ybiquitous/improve-apidoc-for-ActionDispatch_I...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.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.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiontext's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actiontext/CHANGELOG.md\"\u003eactiontext's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `actionview` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactionview's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/actionview/CHANGELOG.md\"\u003eactionview's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix encoding errors for string locals containing non-ASCII characters.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eKataoka Katsuki\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix collection caching to only forward \u003ccode\u003eexpires_in\u003c/code\u003e argument if explicitly set.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ePieter Visser\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix possible XSS in DebugExceptions middleware\u003c/p\u003e\n\u003cp\u003e[CVE-2026-33167]\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eJohn Hawthorn\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSkip blank attribute names in tag helpers to avoid generating invalid HTML.\u003c/p\u003e\n\u003cp\u003e[CVE-2026-33168]\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eMike Dalessio\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1c7d1cf0a1ab4142eb20ef30fe2062aad6f72e21\"\u003e\u003ccode\u003e1c7d1cf\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e91694b1f0e176eb01bfcc480a008bffc70f7602\"\u003e\u003ccode\u003ee91694b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG (8.1 only)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63f5ad83edaa0b976f82d46988d745426aa4a42d\"\u003e\u003ccode\u003e63f5ad8\u003c/code\u003e\u003c/a\u003e Skip blank attribute names in Action View tag helpers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/e598b9427876ba44bd62c48390e6568476b3f8f0\"\u003e\u003ccode\u003ee598b94\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56906\"\u003e#56906\u003c/a\u003e from kataokatsuki/fix-strict-locals-non-ascii-encoding\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/c2ea79c21161de7eb271b2789fbed21dde504071\"\u003e\u003ccode\u003ec2ea79c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56891\"\u003e#56891\u003c/a\u003e from pietervisser/fix-collection-caching-to-preserv...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activejob` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivejob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activejob/CHANGELOG.md\"\u003eactivejob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/0924172c3b7b3fbbac32fb8b5dee738cba86c99d\"\u003e\u003ccode\u003e0924172\u003c/code\u003e\u003c/a\u003e Fix deprecation of sidekiq/testing in integration test adapter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/3277c4edf98d0114d882e2f57934d7b0e2e4ccb1\"\u003e\u003ccode\u003e3277c4e\u003c/code\u003e\u003c/a\u003e Fix deprecation of sidekiq/testing/inline\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activemodel` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactivemodel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activemodel/CHANGELOG.md\"\u003eactivemodel's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eEdward Woodcock\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRails 8.1.2.1 (March 23, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNo changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/fa8f0812160665bff083a089d2bb2fc1817ea03e\"\u003e\u003ccode\u003efa8f081\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/63cef3de3bd88d5973837ea268dc710e7dbf7b8e\"\u003e\u003ccode\u003e63cef3d\u003c/code\u003e\u003c/a\u003e Merge branch '8-1-sec' into 8-1-stable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/1db4b89687cc18311fc3f92623136705df24e671\"\u003e\u003ccode\u003e1db4b89\u003c/code\u003e\u003c/a\u003e Preparing for 8.1.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/5a3d7d903aba1219f394259c2d9c02949b1b5cd7\"\u003e\u003ccode\u003e5a3d7d9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56943\"\u003e#56943\u003c/a\u003e from yahonda/ruby-16321\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/034ca73253a001be8cce523812559012ac341fb8\"\u003e\u003ccode\u003e034ca73\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56867\"\u003e#56867\u003c/a\u003e from hammadxcm/fix-ruby4-delegator-inspect-warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rails/rails/commit/6c23f3bd4e252619010bb13ab2570faa5000ed55\"\u003e\u003ccode\u003e6c23f3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rails/rails/issues/56768\"\u003e#56768\u003c/a\u003e from RemoteCTO/fix/integer-type-marshal-compat\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rails/rails/compare/v8.1.2...v8.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `activerecord` from 8.1.2 to 8.1.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/releases\"\u003eactiverecord's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.1.3\u003c/h2\u003e\n\u003ch2\u003eActive Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eJSONGemCoderEncoder\u003c/code\u003e to correctly serialize custom object hash keys.\u003c/p\u003e\n\u003cp\u003eWhen hash keys are custom objects whose \u003ccode\u003eas_json\u003c/code\u003e returns a Hash,\nthe encoder now calls \u003ccode\u003eto_s\u003c/code\u003e on the original key object instead of\non the \u003ccode\u003eas_json\u003c/code\u003e result.\u003c/p\u003e\n\u003cp\u003eBefore:\nhash = {CustomKey.new(123) =\u0026gt; \u0026quot;value\u0026quot;}\nhash.to_json  # =\u0026gt; {\u0026quot;{:id=\u0026gt;123}\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003eAfter:\nhash.to_json  # =\u0026gt; {\u0026quot;custom_123\u0026quot;:\u0026quot;value\u0026quot;}\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eDan Sharp\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix inflections to better handle overlapping acronyms.\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003eActiveSupport::Inflector.inflections(:en) do |inflect|\r\n  inflect.acronym \u0026quot;USD\u0026quot;\r\n  inflect.acronym \u0026quot;USDC\u0026quot;\r\nend\r\n\u003cp\u003e\u0026quot;USDC\u0026quot;.underscore # =\u0026gt; \u0026quot;usdc\u0026quot;\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eSaid Kaldybaev\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSilence Dalli 4.0+ warning when using \u003ccode\u003eActiveSupport::Cache::MemCacheStore\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003ezzak\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eActive Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix Ruby 4.0 delegator warning when calling inspect on attributes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHammad Khan\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003eNoMethodError\u003c/code\u003e when deserialising \u003ccode\u003eType::Integer\u003c/code\u003e objects marshalled under Rails 8.0.\u003c/p\u003e\n\u003cp\u003eThe performance optimisation that replaced \u003ccode\u003e@range\u003c/code\u003e with \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e\nbroke Marshal compatibility. Objects serialised under 8.0 (with \u003ccode\u003e@range\u003c/code\u003e)\nand deserialised under 8.1 (expecting \u003ccode\u003e@max\u003c/code\u003e/\u003ccode\u003e@min\u003c/code\u003e) would crash with\n\u003ccode\u003eundefined method '\u0026lt;=' for nil\u003c/code\u003e because \u003ccode\u003eMarshal.load\u003c/code\u003e restores instance\nvariables without calling \u003ccode\u003einitialize\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rails/rails/blob/v8.1.3/activerecord/CHANGELOG.md\"\u003eactiverecord's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRails 8.1.3 (March 24, 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix \u003ccode\u003einsert_all\u003c/code\u003e and \u003ccode\u003eupsert_all\u003c/code\u003e log message when called on anonymous classes.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eGabriel Sobrinho\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRespect \u003ccode\u003eActiveRecord::SchemaDumper.ignore_tables\u003c/code\u003e when dumping SQLite virtual tables.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eHans Schnedlitz\u003c/em\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRestore previous instrumenter after \u003ccode\u003eexecute_or_skip\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eFutureResult#execute_or_skip\u003c/code\u003e replaces the thread's instrumenter with an\n\u003ccode\u003eEventBuffer\u003c/code\u003e to collect events published during async query execution.\nIf the global async executor is satura...\n\n_Description has been truncated_","html_url":"https://github.com/hexlet-components/rails-guestbook/pull/47","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-components%2Frails-guestbook/issues/47","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/47/packages"}},{"old_version":"0.19.1","new_version":"0.26.9","update_type":"minor","path":null,"pr_created_at":"2026-04-08T08:44:14.000Z","version_change":"0.19.1 → 0.26.9","issue":{"uuid":"4223253824","node_id":"PR_kwDOPJd-3c7Qvt_2","number":4,"state":"closed","title":"Bump the bundler group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T15:00:01.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-08T08:44:14.000Z","updated_at":"2026-05-18T15:00:04.000Z","time_to_close":3478547,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":6,"packages":[{"name":"faraday","old_version":"2.12.1","new_version":"2.14.1","repository_url":"https://github.com/lostisland/faraday"},{"name":"ruby-lsp","old_version":"0.19.1","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"addressable","old_version":"2.8.7","new_version":"2.9.0","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"rack","old_version":"3.0.16","new_version":"3.1.21","repository_url":"https://github.com/rack/rack"},{"name":"rexml","old_version":"3.3.9","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"uri","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Updates the requirements on [faraday](https://github.com/lostisland/faraday), [ruby-lsp](https://github.com/Shopify/ruby-lsp), [addressable](https://github.com/sporkmonger/addressable), [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [uri](https://github.com/ruby/uri) to permit the latest version.\nUpdates `faraday` from 2.12.1 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/lostisland/faraday/releases\"\u003efaraday's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eSecurity Note\u003c/h2\u003e\n\u003cp\u003eThis release contains a security fix, we recommend all users to upgrade as soon as possible.\nA Security Advisory with more details will be posted shortly.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd RFC document for Options architecture refactoring plan by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1644\"\u003elostisland/faraday#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1655\"\u003elostisland/faraday#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit top-level namespace reference by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1657\"\u003elostisland/faraday#1657\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/lostisland/faraday/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\u003ch3\u003eNew features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse newer \u003ccode\u003eUnprocessableContent\u003c/code\u003e naming for 422 by \u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes 🐞\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert strings to UTF-8 by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResponse#to_hash\u003c/code\u003e when response not finished yet by \u003ca href=\"https://github.com/yykamei\"\u003e\u003ccode\u003e@​yykamei\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1639\"\u003elostisland/faraday#1639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc/Docs 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLint: use \u003ccode\u003efilter_map\u003c/code\u003e by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1637\"\u003elostisland/faraday#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eactions/checkout\u003c/code\u003e from v4 to v5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1636\"\u003elostisland/faraday#1636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes documentation by \u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error handling logic and add missing test coverage by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1633\"\u003elostisland/faraday#1633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix type assumption in \u003ccode\u003eFaraday::Error\u003c/code\u003e by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1630\"\u003elostisland/faraday#1630\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/lostisland/faraday/commit/16cbd38ef252d25dedf416a4d2510a2f3db10c87\"\u003e\u003ccode\u003e16cbd38\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/a6d3a3a0bf59c2ab307d0abd91bc126aef5561bc\"\u003e\u003ccode\u003ea6d3a3a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/b23f710d28c0dba169470f568df4017a1e8beea7\"\u003e\u003ccode\u003eb23f710\u003c/code\u003e\u003c/a\u003e Explicit top-level namespace reference (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1657\"\u003e#1657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/49ba4ac3a7359baed634c12a82386f6c8c717ea8\"\u003e\u003ccode\u003e49ba4ac\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/51a49bc99d7df6f724d250d64771e1d710576df7\"\u003e\u003ccode\u003e51a49bc\u003c/code\u003e\u003c/a\u003e Ensure Claude reads the guidelines and allow to plan in a gitignored .ai/PLAN...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/894f65cab8f04bcf35e84a2dfd9fc0286dbce340\"\u003e\u003ccode\u003e894f65c\u003c/code\u003e\u003c/a\u003e Add RFC document for Options architecture refactoring plan (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/397e3ded0c5166313bb22f1c0221b36b6023fd0f\"\u003e\u003ccode\u003e397e3de\u003c/code\u003e\u003c/a\u003e Add comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/d98c65cfc254ea2898386e4359428527122abec3\"\u003e\u003ccode\u003ed98c65c\u003c/code\u003e\u003c/a\u003e Update Faraday-specific AI agent guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/56c18ecb718e30c5a3a0dea9bd2361912af9013c\"\u003e\u003ccode\u003e56c18ec\u003c/code\u003e\u003c/a\u003e Add AI agent guidelines specific to Faraday repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/3201a42957d37efc968ee8834ba9b50ed5dde54a\"\u003e\u003ccode\u003e3201a42\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.12.1...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.19.1 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.19.1...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `addressable` from 2.8.7 to 2.9.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md\"\u003eaddressable's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eAddressable 2.9.0 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efixes ReDoS vulnerability in Addressable::Template#match (fixes incomplete\nremediation in 2.8.10)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAddressable 2.8.10 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efixes ReDoS vulnerability in Addressable::Template#match\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAddressable 2.8.9 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduce gem size by excluding test files (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNo need for bundler as development dependency (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/571\"\u003e#571\u003c/a\u003e, \u003ca href=\"https://github.com/sporkmonger/addressable/commit/5fc1d93\"\u003e5fc1d93\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eidna/pure: stop building the useless \u003ccode\u003eCOMPOSITION_TABLE\u003c/code\u003e (removes the \u003ccode\u003eAddressable::IDNA::COMPOSITION_TABLE\u003c/code\u003e constant) (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/569\"\u003e#569\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/569\"\u003esporkmonger/addressable#569\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/571\"\u003e#571\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/571\"\u003esporkmonger/addressable#571\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/564\"\u003e#564\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/564\"\u003esporkmonger/addressable#564\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eAddressable 2.8.8 \u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReplace the \u003ccode\u003eunicode.data\u003c/code\u003e blob by a ruby constant (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003epublic_suffix\u003c/code\u003e 7 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/561\"\u003e#561\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/561\"\u003esporkmonger/addressable#561\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/558\"\u003e#558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/sporkmonger/addressable/pull/558\"\u003esporkmonger/addressable#558\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/0c3e8589b23d4402903a9b4e1fdeba4e43c52ca4\"\u003e\u003ccode\u003e0c3e858\u003c/code\u003e\u003c/a\u003e Revving version and changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/91915c1f7aafa3e2c9f42e2f4e21d948c7a861b8\"\u003e\u003ccode\u003e91915c1\u003c/code\u003e\u003c/a\u003e Fixing additional vulnerable paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/a091e39ff02fc321b21dea3a0df585bef2ba3744\"\u003e\u003ccode\u003ea091e39\u003c/code\u003e\u003c/a\u003e Add many more adversarial test cases to ensure we don't have any ReDoS regres...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/463a819665a3b85ce5ce894c90bd7bfa3b9d2e15\"\u003e\u003ccode\u003e463a819\u003c/code\u003e\u003c/a\u003e Regenerate gemspec on newer rubygems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/0afcb0b9672bee301e5e96ed850fec05b2fcabb0\"\u003e\u003ccode\u003e0afcb0b\u003c/code\u003e\u003c/a\u003e Improve from O(n^2) to O(n)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/c87f768f22ab00376ed2f8cb106f59c9d0652d3a\"\u003e\u003ccode\u003ec87f768\u003c/code\u003e\u003c/a\u003e Fix a ReDoS vulnerability in URI template matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/0d7e9b259fb0940d1a85064b04f678a7984409a5\"\u003e\u003ccode\u003e0d7e9b2\u003c/code\u003e\u003c/a\u003e Fix links for 2.8.9 in CHANGELOG (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/e2091200b31553f19248eb871f071852409796f8\"\u003e\u003ccode\u003ee209120\u003c/code\u003e\u003c/a\u003e Update version, gemspec, and CHANGELOG for 2.8.9 (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/572\"\u003e#572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/387587492b6536748ed12a11c3fdb44a48885f28\"\u003e\u003ccode\u003e3875874\u003c/code\u003e\u003c/a\u003e Reduce gem size by excluding test files (\u003ca href=\"https://redirect.github.com/sporkmonger/addressable/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sporkmonger/addressable/commit/3e57cc6018f94231aabb47fd341acd1b40f1e71a\"\u003e\u003ccode\u003e3e57cc6\u003c/code\u003e\u003c/a\u003e CI: back to \u003ccode\u003ewindows-2022\u003c/code\u003e for MRI job\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sporkmonger/addressable/compare/addressable-2.8.7...addressable-2.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.0.16 to 3.1.21\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.21] - 2026-04-01\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-7mqq-6cf9-v2qp\"\u003eCVE-2026-34763\u003c/a\u003e Root directory disclosure via unescaped regex interpolation in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v569-hp3g-36wr\"\u003eCVE-2026-34230\u003c/a\u003e Avoid O(n^2) algorithm in \u003ccode\u003eRack::Utils.select_best_encoding\u003c/code\u003e which could lead to denial of service.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qfgr-crr9-7r49\"\u003eCVE-2026-32762\u003c/a\u003e Forwarded header semicolon injection enables Host and Scheme spoofing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-vgpv-f759-9wx3\"\u003eCVE-2026-26961\u003c/a\u003e Raise error for multipart requests with multiple boundary parameters.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q4qf-9j86-f5mh\"\u003eCVE-2026-34786\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e \u003ccode\u003eheader_rules\u003c/code\u003e bypass via URL-encoded path mismatch.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q2ww-5357-x388\"\u003eCVE-2026-34831\u003c/a\u003e \u003ccode\u003eContent-Length\u003c/code\u003e mismatch in \u003ccode\u003eRack::Files\u003c/code\u003e error responses.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-x8cg-fq8g-mxfx\"\u003eCVE-2026-34826\u003c/a\u003e Multipart byte range processing allows denial of service via excessive overlapping ranges.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-g2pf-xv49-m2h5\"\u003eCVE-2026-34835\u003c/a\u003e \u003ccode\u003eRack::Request\u003c/code\u003e accepts invalid Host characters, enabling host allowlist bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qv7j-4883-hwh7\"\u003eCVE-2026-34830\u003c/a\u003e \u003ccode\u003eRack::Sendfile\u003c/code\u003e header-based \u003ccode\u003eX-Accel-Mapping\u003c/code\u003e regex injection enables unauthorized \u003ccode\u003eX-Accel-Redirect\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-h2jq-g4cq-5ppq\"\u003eCVE-2026-34785\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e prefix matching can expose unintended files under the static root.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-8vqr-qjwx-82mw\"\u003eCVE-2026-34829\u003c/a\u003e Multipart parsing without \u003ccode\u003eContent-Length\u003c/code\u003e header allows unbounded chunked file uploads.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v6x5-cg8r-vv6x\"\u003eCVE-2026-34827\u003c/a\u003e Multipart header parsing allows denial of service via escape-heavy quoted parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.20] - 2026-02-16\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-whrj-4476-wvmp\"\u003eCVE-2026-25500\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-mxw3-3hh2-x2mh\"\u003eCVE-2026-22860\u003c/a\u003e Directory traversal via root prefix bypass in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.19] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.18] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.17] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.16] - 2025-06-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-47m2-26rw-j2jw\"\u003eCVE-2025-49007\u003c/a\u003e Fix ReDoS in multipart request.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ae8431120e66e92d1885ab8ec0a553d9cad5ec13\"\u003e\u003ccode\u003eae84311\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/87961c306df1894fb5efaa57d29179091b4bc194\"\u003e\u003ccode\u003e87961c3\u003c/code\u003e\u003c/a\u003e Fix typo in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fd1c23dc762225e68b50d392142e6a6bf54bf9af\"\u003e\u003ccode\u003efd1c23d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003elogger\u003c/code\u003e to gemfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c59d924f215e41ae8ce1bae1633c34f1ca64b182\"\u003e\u003ccode\u003ec59d924\u003c/code\u003e\u003c/a\u003e Fix test expectation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/176f468e0d575e2f4d7583ff95f30bb53360e3fe\"\u003e\u003ccode\u003e176f468\u003c/code\u003e\u003c/a\u003e Add Ruby v4.0 to the test matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/28569342665fee07f161f0974826eb85c1244533\"\u003e\u003ccode\u003e2856934\u003c/code\u003e\u003c/a\u003e Drop EOL Rubies from external tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/17ce7836be1523a7b453f3c06fe070ad7c954708\"\u003e\u003ccode\u003e17ce783\u003c/code\u003e\u003c/a\u003e Limit the number of quoted escapes during multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/367a2a0ec6fbef605c9412dadfd5763b7867441f\"\u003e\u003ccode\u003e367a2a0\u003c/code\u003e\u003c/a\u003e Add Content-Length size check in Rack::Multipart::Parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/a17cb99b3440a4db09fb920407adf5ead127704c\"\u003e\u003ccode\u003ea17cb99\u003c/code\u003e\u003c/a\u003e Fix root prefix bug in Rack::Static\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/59a0966a484f2903833fa3e4c81919d3c645738d\"\u003e\u003ccode\u003e59a0966\u003c/code\u003e\u003c/a\u003e Only do a simple substitution on the x-accel-mapping paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v3.0.16...v3.1.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.3.9 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.3.9...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uri` from 1.0.3 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/ruby/uri/releases\"\u003euri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRe-allow consecutive, leading and trailing dots in EMAIL_REGEXP by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\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/uri/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/ruby/uri/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to use the latest version of setup-ruby and bump up to Ruby 3.4 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/uri/pull/158\"\u003eruby/uri#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the mention to removed \u003ccode\u003eURI.escape/URI::Escape\u003c/code\u003e 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/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse a fully qualified name in warning messages 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/ruby/uri/pull/150\"\u003eruby/uri#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eRactor#value\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/163\"\u003eruby/uri#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unnecessary workaround  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/uri/pull/164\"\u003eruby/uri#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape reserved characters in scheme name 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/uri/pull/148\"\u003eruby/uri#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] State that uri library is needed to call Kernel#URI 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/uri/pull/167\"\u003eruby/uri#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer dedicated assertion methods 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/uri/pull/169\"\u003eruby/uri#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the message for unexpected argument 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/uri/pull/171\"\u003eruby/uri#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake URI::regexp schemes case sensitive (\u003ca href=\"https://redirect.github.com/ruby/uri/issues/38\"\u003e#38\u003c/a\u003e) by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/170\"\u003eruby/uri#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe local part should not contain leading or trailing dots in the EMAIL_REGEXP by \u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore checks in \u003ccode\u003eEMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/172\"\u003eruby/uri#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not allow empty host names, as they are not allowed by RFC 3986 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/uri/pull/116\"\u003eruby/uri#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of \u003ccode\u003eURI::MailTo::EMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/173\"\u003eruby/uri#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance test stability 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/uri/pull/174\"\u003eruby/uri#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documents that used \u003ccode\u003eURI::Parser\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/175\"\u003eruby/uri#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/183\"\u003eruby/uri#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eirb\u003c/code\u003e to the Gemfile to fix the warning 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/ruby/uri/pull/182\"\u003eruby/uri#182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace reference to the obsolete URI.escape with URI::RFC2396_PARSER.escape by \u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch a parsing behavior completely when switching a parser 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/ruby/uri/pull/161\"\u003eruby/uri#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove error message by \u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse generic version number to VERSION 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/uri/pull/187\"\u003eruby/uri#187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/ruby/uri/compare/v1.0.4...v1.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch3\u003eSecurity fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.ruby-lang.org/en/news/2025/10/07/uri-cve-2025-61594/\"\u003eCVE-2025-61594\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/uri/commit/f1b05c89ab38667e7564896f994d4d6cfbc67149\"\u003e\u003ccode\u003ef1b05c8\u003c/code\u003e\u003c/a\u003e v1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/8557e8d470ad7b969ba11d210e33b9570919661d\"\u003e\u003ccode\u003e8557e8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/189\"\u003e#189\u003c/a\u003e from osyoyu/restore-whatwg-email-regexp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c551d7020bba3cf452e696d55c451ae951d0f24b\"\u003e\u003ccode\u003ec551d70\u003c/code\u003e\u003c/a\u003e Re-allow consecutive, leading and trailing dots in EMAIL_REGEXP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c41903b3e4df8ba2ceba16a80d3156a97a81e038\"\u003e\u003ccode\u003ec41903b\u003c/code\u003e\u003c/a\u003e v1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/b433f3499202b2abc27c5211554195243d083f88\"\u003e\u003ccode\u003eb433f34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/187\"\u003e#187\u003c/a\u003e from ruby/switch-version-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/1fc4f0496a2d44f4af317d8f786a50e9f6918656\"\u003e\u003ccode\u003e1fc4f04\u003c/code\u003e\u003c/a\u003e Use generic version number to VERSION and generate VERSION_CODE from that\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/e8306800d9b58f37f3847e8d598599cb1ef36f3c\"\u003e\u003ccode\u003ee830680\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/70d245fa46786b9aa4970c4b815cfe8b1b823bf6\"\u003e\u003ccode\u003e70d245f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/130\"\u003e#130\u003c/a\u003e from soda92/improve-error-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/d629c8c1541330e4fc50879fbafc0701728e447f\"\u003e\u003ccode\u003ed629c8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/161\"\u003e#161\u003c/a\u003e from y-yagi/fix_changing_parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/fec6733919edb140bbdc429ed4b0492776ebc4a2\"\u003e\u003ccode\u003efec6733\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/166\"\u003e#166\u003c/a\u003e from vivshaw/vivshaw/correct-obsolete-parse\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.3...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Lynquatiq/entitlements-github-plugin/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Lynquatiq/entitlements-github-plugin/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lynquatiq%2Fentitlements-github-plugin/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"0.19.1","new_version":"0.26.9","update_type":"minor","path":null,"pr_created_at":"2026-04-02T18:52:05.000Z","version_change":"0.19.1 → 0.26.9","issue":{"uuid":"4196377004","node_id":"PR_kwDOPJd-3c7PpLmd","number":3,"state":"closed","title":"Bump the bundler group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-08T08:44:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-02T18:52:05.000Z","updated_at":"2026-04-08T08:44:19.000Z","time_to_close":481932,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bundler","update_count":5,"packages":[{"name":"faraday","old_version":"2.12.1","new_version":"2.14.1","repository_url":"https://github.com/lostisland/faraday"},{"name":"ruby-lsp","old_version":"0.19.1","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"rack","old_version":"3.0.16","new_version":"3.1.21","repository_url":"https://github.com/rack/rack"},{"name":"rexml","old_version":"3.3.9","new_version":"3.4.2","repository_url":"https://github.com/ruby/rexml"},{"name":"uri","old_version":"1.0.3","new_version":"1.1.1","repository_url":"https://github.com/ruby/uri"}],"path":null,"ecosystem":"rubygems"},"body":"Updates the requirements on [faraday](https://github.com/lostisland/faraday), [ruby-lsp](https://github.com/Shopify/ruby-lsp), [rack](https://github.com/rack/rack), [rexml](https://github.com/ruby/rexml) and [uri](https://github.com/ruby/uri) to permit the latest version.\nUpdates `faraday` from 2.12.1 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/lostisland/faraday/releases\"\u003efaraday's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.14.1\u003c/h2\u003e\n\u003ch2\u003eSecurity Note\u003c/h2\u003e\n\u003cp\u003eThis release contains a security fix, we recommend all users to upgrade as soon as possible.\nA Security Advisory with more details will be posted shortly.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd RFC document for Options architecture refactoring plan by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1644\"\u003elostisland/faraday#1644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1655\"\u003elostisland/faraday#1655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicit top-level namespace reference by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1657\"\u003elostisland/faraday#1657\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1642\"\u003elostisland/faraday#1642\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.14.0...v2.14.1\"\u003ehttps://github.com/lostisland/faraday/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\u003ch3\u003eNew features ✨\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse newer \u003ccode\u003eUnprocessableContent\u003c/code\u003e naming for 422 by \u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes 🐞\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConvert strings to UTF-8 by \u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eResponse#to_hash\u003c/code\u003e when response not finished yet by \u003ca href=\"https://github.com/yykamei\"\u003e\u003ccode\u003e@​yykamei\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1639\"\u003elostisland/faraday#1639\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc/Docs 📄\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLint: use \u003ccode\u003efilter_map\u003c/code\u003e by \u003ca href=\"https://github.com/olleolleolle\"\u003e\u003ccode\u003e@​olleolleolle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1637\"\u003elostisland/faraday#1637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003eactions/checkout\u003c/code\u003e from v4 to v5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1636\"\u003elostisland/faraday#1636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixes documentation by \u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/c960657\"\u003e\u003ccode\u003e@​c960657\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1624\"\u003elostisland/faraday#1624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dharamgollapudi\"\u003e\u003ccode\u003e@​dharamgollapudi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1635\"\u003elostisland/faraday#1635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tylerhunt\"\u003e\u003ccode\u003e@​tylerhunt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1638\"\u003elostisland/faraday#1638\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.4...v2.14.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove error handling logic and add missing test coverage by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1633\"\u003elostisland/faraday#1633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\"\u003ehttps://github.com/lostisland/faraday/compare/v2.13.3...v2.13.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.13.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix type assumption in \u003ccode\u003eFaraday::Error\u003c/code\u003e by \u003ca href=\"https://github.com/iMacTia\"\u003e\u003ccode\u003e@​iMacTia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lostisland/faraday/pull/1630\"\u003elostisland/faraday#1630\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/lostisland/faraday/commit/16cbd38ef252d25dedf416a4d2510a2f3db10c87\"\u003e\u003ccode\u003e16cbd38\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/a6d3a3a0bf59c2ab307d0abd91bc126aef5561bc\"\u003e\u003ccode\u003ea6d3a3a\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/b23f710d28c0dba169470f568df4017a1e8beea7\"\u003e\u003ccode\u003eb23f710\u003c/code\u003e\u003c/a\u003e Explicit top-level namespace reference (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1657\"\u003e#1657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/49ba4ac3a7359baed634c12a82386f6c8c717ea8\"\u003e\u003ccode\u003e49ba4ac\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1655\"\u003e#1655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/51a49bc99d7df6f724d250d64771e1d710576df7\"\u003e\u003ccode\u003e51a49bc\u003c/code\u003e\u003c/a\u003e Ensure Claude reads the guidelines and allow to plan in a gitignored .ai/PLAN...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/894f65cab8f04bcf35e84a2dfd9fc0286dbce340\"\u003e\u003ccode\u003e894f65c\u003c/code\u003e\u003c/a\u003e Add RFC document for Options architecture refactoring plan (\u003ca href=\"https://redirect.github.com/lostisland/faraday/issues/1644\"\u003e#1644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/397e3ded0c5166313bb22f1c0221b36b6023fd0f\"\u003e\u003ccode\u003e397e3de\u003c/code\u003e\u003c/a\u003e Add comprehensive AI agent guidelines for Claude, Cursor, and GitHub Copilot ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/d98c65cfc254ea2898386e4359428527122abec3\"\u003e\u003ccode\u003ed98c65c\u003c/code\u003e\u003c/a\u003e Update Faraday-specific AI agent guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/56c18ecb718e30c5a3a0dea9bd2361912af9013c\"\u003e\u003ccode\u003e56c18ec\u003c/code\u003e\u003c/a\u003e Add AI agent guidelines specific to Faraday repository\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lostisland/faraday/commit/3201a42957d37efc968ee8834ba9b50ed5dde54a\"\u003e\u003ccode\u003e3201a42\u003c/code\u003e\u003c/a\u003e Version bump to 2.14.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lostisland/faraday/compare/v2.12.1...v2.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.19.1 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.19.1...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rack` from 3.0.16 to 3.1.21\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rack/rack/blob/main/CHANGELOG.md\"\u003erack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.21] - 2026-04-01\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-7mqq-6cf9-v2qp\"\u003eCVE-2026-34763\u003c/a\u003e Root directory disclosure via unescaped regex interpolation in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v569-hp3g-36wr\"\u003eCVE-2026-34230\u003c/a\u003e Avoid O(n^2) algorithm in \u003ccode\u003eRack::Utils.select_best_encoding\u003c/code\u003e which could lead to denial of service.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qfgr-crr9-7r49\"\u003eCVE-2026-32762\u003c/a\u003e Forwarded header semicolon injection enables Host and Scheme spoofing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-vgpv-f759-9wx3\"\u003eCVE-2026-26961\u003c/a\u003e Raise error for multipart requests with multiple boundary parameters.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q4qf-9j86-f5mh\"\u003eCVE-2026-34786\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e \u003ccode\u003eheader_rules\u003c/code\u003e bypass via URL-encoded path mismatch.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-q2ww-5357-x388\"\u003eCVE-2026-34831\u003c/a\u003e \u003ccode\u003eContent-Length\u003c/code\u003e mismatch in \u003ccode\u003eRack::Files\u003c/code\u003e error responses.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-x8cg-fq8g-mxfx\"\u003eCVE-2026-34826\u003c/a\u003e Multipart byte range processing allows denial of service via excessive overlapping ranges.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-g2pf-xv49-m2h5\"\u003eCVE-2026-34835\u003c/a\u003e \u003ccode\u003eRack::Request\u003c/code\u003e accepts invalid Host characters, enabling host allowlist bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-qv7j-4883-hwh7\"\u003eCVE-2026-34830\u003c/a\u003e \u003ccode\u003eRack::Sendfile\u003c/code\u003e header-based \u003ccode\u003eX-Accel-Mapping\u003c/code\u003e regex injection enables unauthorized \u003ccode\u003eX-Accel-Redirect\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-h2jq-g4cq-5ppq\"\u003eCVE-2026-34785\u003c/a\u003e \u003ccode\u003eRack::Static\u003c/code\u003e prefix matching can expose unintended files under the static root.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-8vqr-qjwx-82mw\"\u003eCVE-2026-34829\u003c/a\u003e Multipart parsing without \u003ccode\u003eContent-Length\u003c/code\u003e header allows unbounded chunked file uploads.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-v6x5-cg8r-vv6x\"\u003eCVE-2026-34827\u003c/a\u003e Multipart header parsing allows denial of service via escape-heavy quoted parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.20] - 2026-02-16\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-whrj-4476-wvmp\"\u003eCVE-2026-25500\u003c/a\u003e XSS injection via malicious filename in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-mxw3-3hh2-x2mh\"\u003eCVE-2026-22860\u003c/a\u003e Directory traversal via root prefix bypass in \u003ccode\u003eRack::Directory\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.19] - 2025-11-03\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMultipart parser: limit MIME header size check to the unread buffer region to avoid false \u003ccode\u003emultipart mime part header too large\u003c/code\u003e errors when previously read data accumulates in the scan buffer. (\u003ca href=\"https://redirect.github.com/rack/rack/pull/2392\"\u003e#2392\u003c/a\u003e, \u003ca href=\"https://github.com/alpaca-tc\"\u003e\u003ccode\u003e@​alpaca-tc\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/willnet\"\u003e\u003ccode\u003e@​willnet\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.18] - 2025-10-10\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-r657-rxjc-j557\"\u003eCVE-2025-61780\u003c/a\u003e Improper handling of headers in \u003ccode\u003eRack::Sendfile\u003c/code\u003e may allow proxy bypass.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-6xw4-3v39-52mm\"\u003eCVE-2025-61919\u003c/a\u003e Unbounded read in \u003ccode\u003eRack::Request\u003c/code\u003e form parsing can lead to memory exhaustion.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.17] - 2025-10-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-wpv5-97wm-hp9c\"\u003eCVE-2025-61772\u003c/a\u003e Multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-w9pc-fmgc-vxvw\"\u003eCVE-2025-61771\u003c/a\u003e Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-p543-xpfm-54cp\"\u003eCVE-2025-61770\u003c/a\u003e Unbounded multipart preamble buffering enables DoS (memory exhaustion)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.1.16] - 2025-06-04\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/advisories/GHSA-47m2-26rw-j2jw\"\u003eCVE-2025-49007\u003c/a\u003e Fix ReDoS in multipart request.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/ae8431120e66e92d1885ab8ec0a553d9cad5ec13\"\u003e\u003ccode\u003eae84311\u003c/code\u003e\u003c/a\u003e Bump patch version.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/87961c306df1894fb5efaa57d29179091b4bc194\"\u003e\u003ccode\u003e87961c3\u003c/code\u003e\u003c/a\u003e Fix typo in test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/fd1c23dc762225e68b50d392142e6a6bf54bf9af\"\u003e\u003ccode\u003efd1c23d\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003elogger\u003c/code\u003e to gemfile.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/c59d924f215e41ae8ce1bae1633c34f1ca64b182\"\u003e\u003ccode\u003ec59d924\u003c/code\u003e\u003c/a\u003e Fix test expectation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/176f468e0d575e2f4d7583ff95f30bb53360e3fe\"\u003e\u003ccode\u003e176f468\u003c/code\u003e\u003c/a\u003e Add Ruby v4.0 to the test matrix.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/28569342665fee07f161f0974826eb85c1244533\"\u003e\u003ccode\u003e2856934\u003c/code\u003e\u003c/a\u003e Drop EOL Rubies from external tests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/17ce7836be1523a7b453f3c06fe070ad7c954708\"\u003e\u003ccode\u003e17ce783\u003c/code\u003e\u003c/a\u003e Limit the number of quoted escapes during multipart parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/367a2a0ec6fbef605c9412dadfd5763b7867441f\"\u003e\u003ccode\u003e367a2a0\u003c/code\u003e\u003c/a\u003e Add Content-Length size check in Rack::Multipart::Parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/a17cb99b3440a4db09fb920407adf5ead127704c\"\u003e\u003ccode\u003ea17cb99\u003c/code\u003e\u003c/a\u003e Fix root prefix bug in Rack::Static\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rack/rack/commit/59a0966a484f2903833fa3e4c81919d3c645738d\"\u003e\u003ccode\u003e59a0966\u003c/code\u003e\u003c/a\u003e Only do a simple substitution on the x-accel-mapping paths\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rack/rack/compare/v3.0.16...v3.1.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rexml` from 3.3.9 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/releases\"\u003erexml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eREXML 3.4.2 - 2025-08-26\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby/rexml/blob/master/NEWS.md\"\u003erexml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2 - 2025-08-26 {#version-3-4-2}\u003c/h2\u003e\n\u003ch3\u003eImprovement\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved performance.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/244\"\u003eGH-244\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/245\"\u003eGH-245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/246\"\u003eGH-246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/249\"\u003eGH-249\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/256\"\u003eGH-256\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRaise appropriate exception when failing to match start tag in DOCTYPE\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/247\"\u003eGH-247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDeprecate accepting array as an element in XPath.match, first and each\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/252\"\u003eGH-252\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by tomoya ishida\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDon't call needless encoding_updated\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/259\"\u003eGH-259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by Sutou Kouhei\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eReuse XPath::match\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/263\"\u003eGH-263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCache redundant calls for doctype\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003eGH-264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUse Safe Navigation (\u0026amp;.) from Ruby 2.3\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003eGH-265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemove redundant return statements\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003eGH-266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by pboling\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded XML declaration check \u0026amp; Source#skip_spaces method\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003eGH-282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by NAITOH Jun\u003c/li\u003e\n\u003cli\u003eReported by Sofi Aberegg\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix docs typo\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/248\"\u003eGH-248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePatch by James Coleman\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe\"\u003e\u003ccode\u003ef36916f\u003c/code\u003e\u003c/a\u003e Add 3.4.2 entry (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/284\"\u003e#284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23\"\u003e\u003ccode\u003e5859bde\u003c/code\u003e\u003c/a\u003e Added XML declaration check \u0026amp; \u003ccode\u003eSource#skip_spaces\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023\"\u003e\u003ccode\u003e1d876e3\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/283\"\u003e#283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35\"\u003e\u003ccode\u003ec87bda8\u003c/code\u003e\u003c/a\u003e Remove ostruct from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/281\"\u003e#281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482\"\u003e\u003ccode\u003ec60ae02\u003c/code\u003e\u003c/a\u003e Remove bundler from dev deps (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/277\"\u003e#277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a\"\u003e\u003ccode\u003e9b084d7\u003c/code\u003e\u003c/a\u003e Fix \u0026amp; Deprecate REXML::Text#text_indent (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/275\"\u003e#275\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa\"\u003e\u003ccode\u003e04a589a\u003c/code\u003e\u003c/a\u003e Fix a bug that XPath can't be used for no document element (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/268\"\u003e#268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93\"\u003e\u003ccode\u003e66232ea\u003c/code\u003e\u003c/a\u003e Remove redundant return statements (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b\"\u003e\u003ccode\u003e63f3e97\u003c/code\u003e\u003c/a\u003e Use Safe Navigation (\u0026amp;.) from Ruby 2.3 (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/265\"\u003e#265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702\"\u003e\u003ccode\u003ed427fc5\u003c/code\u003e\u003c/a\u003e Avoid redundant calls for doctype (\u003ca href=\"https://redirect.github.com/ruby/rexml/issues/264\"\u003e#264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/rexml/compare/v3.3.9...v3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `uri` from 1.0.3 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/ruby/uri/releases\"\u003euri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRe-allow consecutive, leading and trailing dots in EMAIL_REGEXP by \u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/osyoyu\"\u003e\u003ccode\u003e@​osyoyu\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/189\"\u003eruby/uri#189\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/uri/compare/v1.1.0...v1.1.1\"\u003ehttps://github.com/ruby/uri/compare/v1.1.0...v1.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.1.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate to use the latest version of setup-ruby and bump up to Ruby 3.4 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/uri/pull/158\"\u003eruby/uri#158\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the mention to removed \u003ccode\u003eURI.escape/URI::Escape\u003c/code\u003e 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/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse a fully qualified name in warning messages 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/ruby/uri/pull/150\"\u003eruby/uri#150\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eRactor#value\u003c/code\u003e by \u003ca href=\"https://github.com/hsbt\"\u003e\u003ccode\u003e@​hsbt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/163\"\u003eruby/uri#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unnecessary workaround  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/uri/pull/164\"\u003eruby/uri#164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEscape reserved characters in scheme name 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/uri/pull/148\"\u003eruby/uri#148\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[DOC] State that uri library is needed to call Kernel#URI 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/uri/pull/167\"\u003eruby/uri#167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrefer dedicated assertion methods 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/uri/pull/169\"\u003eruby/uri#169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix the message for unexpected argument 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/uri/pull/171\"\u003eruby/uri#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake URI::regexp schemes case sensitive (\u003ca href=\"https://redirect.github.com/ruby/uri/issues/38\"\u003e#38\u003c/a\u003e) by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/170\"\u003eruby/uri#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe local part should not contain leading or trailing dots in the EMAIL_REGEXP by \u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMore checks in \u003ccode\u003eEMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/172\"\u003eruby/uri#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not allow empty host names, as they are not allowed by RFC 3986 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/uri/pull/116\"\u003eruby/uri#116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove performance of \u003ccode\u003eURI::MailTo::EMAIL_REGEXP\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/173\"\u003eruby/uri#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance test stability 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/uri/pull/174\"\u003eruby/uri#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documents that used \u003ccode\u003eURI::Parser\u003c/code\u003e by \u003ca href=\"https://github.com/nobu\"\u003e\u003ccode\u003e@​nobu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/175\"\u003eruby/uri#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd a workflow to sync commits to ruby/ruby by \u003ca href=\"https://github.com/k0kubun\"\u003e\u003ccode\u003e@​k0kubun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/183\"\u003eruby/uri#183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eirb\u003c/code\u003e to the Gemfile to fix the warning 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/ruby/uri/pull/182\"\u003eruby/uri#182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace reference to the obsolete URI.escape with URI::RFC2396_PARSER.escape by \u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch a parsing behavior completely when switching a parser 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/ruby/uri/pull/161\"\u003eruby/uri#161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimprove error message by \u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse generic version number to VERSION 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/uri/pull/187\"\u003eruby/uri#187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/y-yagi\"\u003e\u003ccode\u003e@​y-yagi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/146\"\u003eruby/uri#146\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nlevchuk\"\u003e\u003ccode\u003e@​nlevchuk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/124\"\u003eruby/uri#124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vivshaw\"\u003e\u003ccode\u003e@​vivshaw\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/166\"\u003eruby/uri#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/soda92\"\u003e\u003ccode\u003e@​soda92\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/ruby/uri/pull/130\"\u003eruby/uri#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.4...v1.1.0\"\u003ehttps://github.com/ruby/uri/compare/v1.0.4...v1.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.0.4\u003c/h2\u003e\n\u003ch3\u003eSecurity fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.ruby-lang.org/en/news/2025/10/07/uri-cve-2025-61594/\"\u003eCVE-2025-61594\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/uri/commit/f1b05c89ab38667e7564896f994d4d6cfbc67149\"\u003e\u003ccode\u003ef1b05c8\u003c/code\u003e\u003c/a\u003e v1.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/8557e8d470ad7b969ba11d210e33b9570919661d\"\u003e\u003ccode\u003e8557e8d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/189\"\u003e#189\u003c/a\u003e from osyoyu/restore-whatwg-email-regexp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c551d7020bba3cf452e696d55c451ae951d0f24b\"\u003e\u003ccode\u003ec551d70\u003c/code\u003e\u003c/a\u003e Re-allow consecutive, leading and trailing dots in EMAIL_REGEXP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/c41903b3e4df8ba2ceba16a80d3156a97a81e038\"\u003e\u003ccode\u003ec41903b\u003c/code\u003e\u003c/a\u003e v1.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/b433f3499202b2abc27c5211554195243d083f88\"\u003e\u003ccode\u003eb433f34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/187\"\u003e#187\u003c/a\u003e from ruby/switch-version-code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/1fc4f0496a2d44f4af317d8f786a50e9f6918656\"\u003e\u003ccode\u003e1fc4f04\u003c/code\u003e\u003c/a\u003e Use generic version number to VERSION and generate VERSION_CODE from that\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/e8306800d9b58f37f3847e8d598599cb1ef36f3c\"\u003e\u003ccode\u003ee830680\u003c/code\u003e\u003c/a\u003e Exclude dependabot updates from release note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/70d245fa46786b9aa4970c4b815cfe8b1b823bf6\"\u003e\u003ccode\u003e70d245f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/130\"\u003e#130\u003c/a\u003e from soda92/improve-error-message\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/d629c8c1541330e4fc50879fbafc0701728e447f\"\u003e\u003ccode\u003ed629c8c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/161\"\u003e#161\u003c/a\u003e from y-yagi/fix_changing_parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby/uri/commit/fec6733919edb140bbdc429ed4b0492776ebc4a2\"\u003e\u003ccode\u003efec6733\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ruby/uri/issues/166\"\u003e#166\u003c/a\u003e from vivshaw/vivshaw/correct-obsolete-parse\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby/uri/compare/v1.0.3...v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Lynquatiq/entitlements-github-plugin/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Lynquatiq/entitlements-github-plugin/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lynquatiq%2Fentitlements-github-plugin/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"0.26.4","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-27T22:57:06.000Z","version_change":"0.26.4 → 0.26.9","issue":{"uuid":"4156362418","node_id":"PR_kwDODZl5Cc7OLead","number":52,"state":"open","title":"chore(deps-dev): bump ruby-lsp from 0.26.4 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T22:57:06.000Z","updated_at":"2026-03-27T22:57:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.4 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.4...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.4\u0026new-version=0.26.9)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/daisaja/energymeterdashboard/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/daisaja/energymeterdashboard/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/daisaja%2Fenergymeterdashboard/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}},{"old_version":"0.26.7","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-27T22:52:28.000Z","version_change":"0.26.7 → 0.26.9","issue":{"uuid":"4156347317","node_id":"PR_kwDOASFY4M7OLcRM","number":1112,"state":"closed","title":"Bump ruby-lsp from 0.26.7 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-29T09:47:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T22:52:28.000Z","updated_at":"2026-03-29T09:47:31.000Z","time_to_close":125702,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.9)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/yannis/kasaharacup/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/yannis/kasaharacup/pull/1112","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/yannis%2Fkasaharacup/issues/1112","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1112/packages"}},{"old_version":"0.26.7","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-27T22:51:09.000Z","version_change":"0.26.7 → 0.26.9","issue":{"uuid":"4156342102","node_id":"PR_kwDODkuHzc7OLbeI","number":420,"state":"open","title":"Bump ruby-lsp from 0.26.7 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T22:51:09.000Z","updated_at":"2026-03-27T22:54:29.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.9)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/hathitrust/holdings-backend/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/hathitrust/holdings-backend/pull/420","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hathitrust%2Fholdings-backend/issues/420","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/420/packages"}},{"old_version":"0.23.5","new_version":"0.26.9","update_type":"minor","path":"the bundler group across 1 directory","pr_created_at":"2026-03-27T22:48:53.000Z","version_change":"0.23.5 → 0.26.9","issue":{"uuid":"4156334703","node_id":"PR_kwDONpA8Lc7OLaDn","number":9,"state":"open","title":"build(deps-dev): bump ruby-lsp from 0.23.5 to 0.26.9 in the bundler group across 1 directory","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-03-27T22:48:53.000Z","updated_at":"2026-03-27T22:49:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.23.5","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":"the bundler group across 1 directory","ecosystem":"rubygems"},"body":"Bumps the bundler group with 1 update in the / directory: [ruby-lsp](https://github.com/Shopify/ruby-lsp).\n\nUpdates `ruby-lsp` from 0.23.5 to 0.26.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.23.5...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.23.5\u0026new-version=0.26.9)](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 \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/JarenGarman/beat_box/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/JarenGarman/beat_box/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JarenGarman%2Fbeat_box/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"0.26.4","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-27T22:48:46.000Z","version_change":"0.26.4 → 0.26.9","issue":{"uuid":"4156334251","node_id":"PR_kwDORULQfc7OLZ9z","number":60,"state":"open","title":"DEPS: Bump ruby-lsp from 0.26.4 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-27T22:48:46.000Z","updated_at":"2026-03-27T22:49:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"DEPS: Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.4 to 0.26.9.\n- [Release notes](https://github.com/Shopify/ruby-lsp/releases)\n- [Commits](https://github.com/Shopify/ruby-lsp/compare/v0.26.4...v0.26.9)","html_url":"https://github.com/PixeeSandbox/discourse/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixeeSandbox%2Fdiscourse/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"}},{"old_version":"0.26.7","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-27T14:37:20.000Z","version_change":"0.26.7 → 0.26.9","issue":{"uuid":"4153291535","node_id":"PR_kwDORUa1PM7OEhfw","number":24,"state":"closed","title":"chore(deps-dev): bump ruby-lsp from 0.26.7 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T09:46:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T14:37:20.000Z","updated_at":"2026-04-03T09:46:37.000Z","time_to_close":587355,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.9)](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/maggie96206/task-management-system/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/maggie96206%2Ftask-management-system/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":"0.26.4","new_version":"0.26.8","update_type":"patch","path":null,"pr_created_at":"2026-03-27T08:17:50.000Z","version_change":"0.26.4 → 0.26.8","issue":{"uuid":"4150518618","node_id":"PR_kwDORNH1w87N-g4Q","number":14,"state":"closed","title":"build(deps): bump the bundler group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-03T08:14:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-27T08:17:50.000Z","updated_at":"2026-04-03T08:14:54.000Z","time_to_close":604622,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"bundler","update_count":31,"packages":[{"name":"rubocop-ast","old_version":"1.48.0","new_version":"1.49.1","repository_url":"https://github.com/rubocop/rubocop-ast"},{"name":"minitest","old_version":"6.0.0","new_version":"6.0.2","repository_url":"https://github.com/minitest/minitest"},{"name":"kramdown","old_version":"2.5.1","new_version":"2.5.2","repository_url":"https://github.com/gettalong/kramdown"},{"name":"ruby-prof","old_version":"1.7.2","new_version":"2.0.4","repository_url":"https://github.com/ruby-prof/ruby-prof"},{"name":"stackprof","old_version":"0.2.27","new_version":"0.2.28","repository_url":"https://github.com/tmm1/stackprof"},{"name":"vernier","old_version":"1.9.0","new_version":"1.10.0","repository_url":"https://github.com/jhawthorn/vernier"},{"name":"pry","old_version":"0.15.2","new_version":"0.16.0","repository_url":"https://github.com/pry/pry"},{"name":"rubocop","old_version":"1.82.0","new_version":"1.85.1","repository_url":"https://github.com/rubocop/rubocop"},{"name":"rubocop-md","old_version":"2.0.3","new_version":"2.0.4","repository_url":"https://github.com/rubocop/rubocop-md"},{"name":"rubocop-rspec","old_version":"3.8.0","new_version":"3.9.0","repository_url":"https://github.com/rubocop/rubocop-rspec"},{"name":"rubocop-sorbet","old_version":"0.11.0","new_version":"0.12.0","repository_url":"https://github.com/shopify/rubocop-sorbet"},{"name":"test-prof","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/test-prof/test-prof"},{"name":"parallel_tests","old_version":"5.5.0","new_version":"5.6.0","repository_url":"https://github.com/grosser/parallel_tests"},{"name":"sorbet-static-and-runtime","old_version":"0.6.12865","new_version":"0.6.13051","repository_url":"https://github.com/sorbet/sorbet"},{"name":"tapioca","old_version":"0.17.10","new_version":"0.18.0","repository_url":"https://github.com/Shopify/tapioca"},{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"addressable","old_version":"2.8.8","new_version":"2.8.9","repository_url":"https://github.com/sporkmonger/addressable"},{"name":"ruby-macho","old_version":"4.1.0","new_version":"5.0.0","repository_url":"https://github.com/Homebrew/ruby-macho"},{"name":"rspec-mocks","old_version":"3.13.7","new_version":"3.13.8","repository_url":"https://github.com/rspec/rspec"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the bundler group with 19 updates in the /Library/Homebrew directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [rubocop-ast](https://github.com/rubocop/rubocop-ast) | `1.48.0` | `1.49.1` |\n| [minitest](https://github.com/minitest/minitest) | `6.0.0` | `6.0.2` |\n| [kramdown](https://github.com/gettalong/kramdown) | `2.5.1` | `2.5.2` |\n| [ruby-prof](https://github.com/ruby-prof/ruby-prof) | `1.7.2` | `2.0.4` |\n| [stackprof](https://github.com/tmm1/stackprof) | `0.2.27` | `0.2.28` |\n| [vernier](https://github.com/jhawthorn/vernier) | `1.9.0` | `1.10.0` |\n| [pry](https://github.com/pry/pry) | `0.15.2` | `0.16.0` |\n| [rubocop](https://github.com/rubocop/rubocop) | `1.82.0` | `1.85.1` |\n| [rubocop-md](https://github.com/rubocop/rubocop-md) | `2.0.3` | `2.0.4` |\n| [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) | `3.8.0` | `3.9.0` |\n| [rubocop-sorbet](https://github.com/shopify/rubocop-sorbet) | `0.11.0` | `0.12.0` |\n| [test-prof](https://github.com/test-prof/test-prof) | `1.5.0` | `1.6.0` |\n| [parallel_tests](https://github.com/grosser/parallel_tests) | `5.5.0` | `5.6.0` |\n| [sorbet-static-and-runtime](https://github.com/sorbet/sorbet) | `0.6.12865` | `0.6.13051` |\n| [tapioca](https://github.com/Shopify/tapioca) | `0.17.10` | `0.18.0` |\n| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.26.4` | `0.26.8` |\n| [addressable](https://github.com/sporkmonger/addressable) | `2.8.8` | `2.8.9` |\n| [ruby-macho](https://github.com/Homebrew/ruby-macho) | `4.1.0` | `5.0.0` |\n| [rspec-mocks](https://github.com/rspec/rspec) | `3.13.7` | `3.13.8` |\n\n\nUpdates `rubocop-ast` from 1.48.0 to 1.49.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-ast/releases\"\u003erubocop-ast's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop AST v1.49.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-ast/pull/399\"\u003e#399\u003c/a\u003e: Fix unification variables not persisting in any-order nodes. (\u003ca href=\"https://github.com/marcandre\"\u003e\u003ccode\u003e@​marcandre\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRuboCop AST v1.49.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-ast/pull/394\"\u003e#394\u003c/a\u003e: Support Ruby 4.1 (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\u003c/blockquote\u003e\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-ast/blob/master/CHANGELOG.md\"\u003erubocop-ast's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.49.1 (2026-03-11)\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-ast/pull/399\"\u003e#399\u003c/a\u003e: Fix unification variables not persisting in any-order nodes. ([\u003ca href=\"https://github.com/marcandre\"\u003e\u003ccode\u003e@​marcandre\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.49.0 (2025-12-28)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop-ast/pull/394\"\u003e#394\u003c/a\u003e: Support Ruby 4.1 (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\u003c/blockquote\u003e\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-ast/commit/c249734326830f7413c78b77fa8cf1762a9da44e\"\u003e\u003ccode\u003ec249734\u003c/code\u003e\u003c/a\u003e Cut 1.49.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/145839b8ad0e622abe18de7790bc1a36f6b698b7\"\u003e\u003ccode\u003e145839b\u003c/code\u003e\u003c/a\u003e Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/aea6f62b383ed4371472adead94220baa50e9cd5\"\u003e\u003ccode\u003eaea6f62\u003c/code\u003e\u003c/a\u003e Fix unification variables not persisting in any-order nodes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/1e260ff68975804174ce5fb80601f039b6102533\"\u003e\u003ccode\u003e1e260ff\u003c/code\u003e\u003c/a\u003e Fix latest RuboCop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/a9c9ffb00ac6b5a86771a327c42e0b8111e75899\"\u003e\u003ccode\u003ea9c9ffb\u003c/code\u003e\u003c/a\u003e Add blocknilarg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/2bcb8189d54d7bd54fb71ac34b5a554289fda07d\"\u003e\u003ccode\u003e2bcb818\u003c/code\u003e\u003c/a\u003e Suppress RuboCop's offense\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/380e10d4d1a605b01deb2a49643dd7cb3518bfc0\"\u003e\u003ccode\u003e380e10d\u003c/code\u003e\u003c/a\u003e Drop \u003ccode\u003eprism_spec\u003c/code\u003e from the default Rake task\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/69036498c11ca944c6099d1b672ba408f34a3eb4\"\u003e\u003ccode\u003e6903649\u003c/code\u003e\u003c/a\u003e Restore docs/antora.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/ba542c8e0bd0d6a2fdeb7ee11bdc85f02dc6d2ea\"\u003e\u003ccode\u003eba542c8\u003c/code\u003e\u003c/a\u003e Cut 1.49.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-ast/commit/60b64d0a63bf016868e0ff2914ab20f0bb37d669\"\u003e\u003ccode\u003e60b64d0\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-ast/compare/v1.48.0...v1.49.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `minitest` from 6.0.0 to 6.0.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/minitest/minitest/blob/master/History.rdoc\"\u003eminitest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e=== 6.0.2 / 2026-02-23\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e7 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded missing drb dependency from minitest-server. (y-yagi)\u003c/li\u003e\n\u003cli\u003eCleaned up bisect's sub-commands to load files directly, not ruby+require.\u003c/li\u003e\n\u003cli\u003eFixed bisect to use same cmd ($0) to run tests as original invocation.\u003c/li\u003e\n\u003cli\u003eload server_plugin if server is loaded. (y-yagi)\u003c/li\u003e\n\u003cli\u003eManipulate local args instead of ARGV in Sprint.run.\u003c/li\u003e\n\u003cli\u003eOnly show --bisect in usage if using minitest.\u003c/li\u003e\n\u003cli\u003eRemove -Itest:lib from bisect's rb_flags since bin/minitest adds them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e=== 6.0.1 / 2025-12-26\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e1 minor enhancement:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded new rake task \u003ccode\u003etest:fu\u003c/code\u003e to Minitest::TestTask, to only run\ntests with FU (focused units?) in their name. This should mostly\nobviate the need for the minitest-focus plugin.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e5 bug fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed --help and --version exiting 1. (grosser)\u003c/li\u003e\n\u003cli\u003eFixed method signature of Minitest::Benchmark.run. (flavorjones)\u003c/li\u003e\n\u003cli\u003eFlush stdout/stderr before exit./bin/minitest -Ilib ./bug1046.rb:1 \u0026lt; /dev/null (grosser)\u003c/li\u003e\n\u003cli\u003eImproved usage banner output by reordering and reformatting.\u003c/li\u003e\n\u003cli\u003eNormalize paths while processing file.rb:line args.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/339492cbaec5c460ec278e754199619d6431af35\"\u003e\u003ccode\u003e339492c\u003c/code\u003e\u003c/a\u003e prepped for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/73eb48e8ee893656e5d553537c54ebf93dcbfdd0\"\u003e\u003ccode\u003e73eb48e\u003c/code\u003e\u003c/a\u003e Fixed some doco coverage... still running into tons of pain with rdoc.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/58387c7cda3b2fd14208fdc6fc749fe86c68e54c\"\u003e\u003ccode\u003e58387c7\u003c/code\u003e\u003c/a\u003e - Fixed bisect to use same cmd ($0) to run tests as original invocation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/2a529a042dd9394eb13f6f2ab0e372e71cb7b30c\"\u003e\u003ccode\u003e2a529a0\u003c/code\u003e\u003c/a\u003e y-yagi is smart and I am dum\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/cf465a6ae1b3d9991ba42dc78980e6f9b7f30cf2\"\u003e\u003ccode\u003ecf465a6\u003c/code\u003e\u003c/a\u003e - Only show --bisect in usage if using minitest.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/e5ad492c531a560b9b6cd04e6b220e8900e6eb88\"\u003e\u003ccode\u003ee5ad492\u003c/code\u003e\u003c/a\u003e Push up server_plugin fix to minitest.rb guarded by env.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/a7aeb10ede0bf9e83527b8ace9eb164cf041387a\"\u003e\u003ccode\u003ea7aeb10\u003c/code\u003e\u003c/a\u003e Fixed up tests to be line independent.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/59ac1fa718adaa66ad0873e544559a5b7da387f8\"\u003e\u003ccode\u003e59ac1fa\u003c/code\u003e\u003c/a\u003e - MT6: load server_plugin if server is loaded. (y-yagi)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/dba350e0c17a11c10f732a14722c2e3b97615fa8\"\u003e\u003ccode\u003edba350e\u003c/code\u003e\u003c/a\u003e - Manipulate local args instead of ARGV in Sprint.run.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/minitest/minitest/commit/8e008ed6259f1f33116d7cba3d5f7788d71f56df\"\u003e\u003ccode\u003e8e008ed\u003c/code\u003e\u003c/a\u003e Added new rdoc rsync location.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/minitest/minitest/compare/v6.0.0...v6.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `kramdown` from 2.5.1 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/gettalong/kramdown/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-prof` from 1.7.2 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ruby-prof/ruby-prof/blob/master/CHANGELOG.md\"\u003eruby-prof's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.4 (2026-03-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix NoMethodError when sort_method is nil (issue \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/349\"\u003e#349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix broken source_code_uri on rubygems.org (issue \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/350\"\u003e#350\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.3 (2026-02-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove unnecessary visited set from FlameGraphPrinter (call tree is always acyclic)\u003c/li\u003e\n\u003cli\u003eRemove sort_by in FlameGraphPrinter to preserve natural call order\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emax_depth\u003c/code\u003e option to FlameGraphPrinter, CallStackPrinter, CallInfoPrinter, and CallTreeVisitor\u003c/li\u003e\n\u003cli\u003eAdd documentation covering call tree construction and recursion handling\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.2 (2026-02-17)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bin/ruby-prof passing printer options as positional arguments instead of keyword arguments\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.1 (2026-02-16)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eConvert bin/ruby-prof endings from CRLF to LF\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.0.0 (2026-02-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 support.\u003c/li\u003e\n\u003cli\u003eAdd flame graph visualizations with icicle mode toggle\u003c/li\u003e\n\u003cli\u003eLots of documentation updates!\u003c/li\u003e\n\u003cli\u003eApply consistent styling across all reports\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eProfile#measure_mode_name\u003c/code\u003e method for human-friendly measurement mode names (e.g., \u0026quot;Wall Time\u0026quot; instead of \u0026quot;wall_time\u0026quot;)\u003c/li\u003e\n\u003cli\u003eFix DotPrinter generating self-referencing edges (was using callers instead of callees)\u003c/li\u003e\n\u003cli\u003eAdd Graphviz Online viewer link for dot output\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBackwards Incompatible Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003eRubyProf::MEMORY\u003c/code\u003e measurement mode (no longer works on Ruby 4.0+)\u003c/li\u003e\n\u003cli\u003eRemove compatibility API that was scheduled for removal in 2023\u003c/li\u003e\n\u003cli\u003ePrinter options now use keyword arguments instead of an options hash. For example:\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# Before:\nprinter.print(STDOUT, :min_percent =\u0026gt; 2, :sort_method =\u0026gt; :self_time)\n# After:\nprinter.print(STDOUT, min_percent: 2, sort_method: :self_time)\n\u003c/code\u003e\u003c/pre\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-prof/ruby-prof/commit/6c7770d3e14026811ca5d4d33774d7a8a111f902\"\u003e\u003ccode\u003e6c7770d\u003c/code\u003e\u003c/a\u003e Version 2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/b6b50e295fac42bd2fa10735a5cae6d06fd83b45\"\u003e\u003ccode\u003eb6b50e2\u003c/code\u003e\u003c/a\u003e Make sure sort_method is set. Fixes \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/349\"\u003e#349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/85ece954d0d1291f70aff85d9fc8b6efabb00a6e\"\u003e\u003ccode\u003e85ece95\u003c/code\u003e\u003c/a\u003e Fix source_code_uri. \u003ca href=\"https://redirect.github.com/ruby-prof/ruby-prof/issues/350\"\u003e#350\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/9b68fff2e8f6c6ca2a72860ac47e7c080d43365f\"\u003e\u003ccode\u003e9b68fff\u003c/code\u003e\u003c/a\u003e Version 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/0763dd6003b728f440eba0ef25985053b00ae347\"\u003e\u003ccode\u003e0763dd6\u003c/code\u003e\u003c/a\u003e Add max_depth parameter.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/bde39df5ec1cc99ae2aef5095f6fb48c770b918c\"\u003e\u003ccode\u003ebde39df\u003c/code\u003e\u003c/a\u003e Update Architecture with some nice diagrams and an explanation on how recursi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/8179ef65a6ebf2f0f014a6804ef62e533048177d\"\u003e\u003ccode\u003e8179ef6\u003c/code\u003e\u003c/a\u003e Clean up FlameGraphPrinter and do not sort methods, they should be rendered i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/4a9b93123e6761549b8cb8d416a86469fa8e97de\"\u003e\u003ccode\u003e4a9b931\u003c/code\u003e\u003c/a\u003e flame_graph_printer.rb: fix false positive recusion detection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/5275114d6c8e5595434fb5acbdacf102795dfbf7\"\u003e\u003ccode\u003e5275114\u003c/code\u003e\u003c/a\u003e Version 5.0.2 - fix bug in ruby-prof when generating printouts.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ruby-prof/ruby-prof/commit/d8fa4b7208b528a167352366f904bb48e9a7681d\"\u003e\u003ccode\u003ed8fa4b7\u003c/code\u003e\u003c/a\u003e Line endings.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ruby-prof/ruby-prof/compare/1.7.2...2.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `stackprof` from 0.2.27 to 0.2.28\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/4367efa4b8bcba213094abf5d48f90d6a552e427\"\u003e\u003ccode\u003e4367efa\u003c/code\u003e\u003c/a\u003e bumping version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/8d57d8e46838a8b0661456a47055e3b4801b69d7\"\u003e\u003ccode\u003e8d57d8e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tmm1/stackprof/issues/240\"\u003e#240\u003c/a\u003e from nobu/postponed_jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/1608c54e80a7e3715228e0c9ac622a85246feb8b\"\u003e\u003ccode\u003e1608c54\u003c/code\u003e\u003c/a\u003e Adjust tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/ffb5d08d4ec4ec69814325a481ae9d2f42d5cb32\"\u003e\u003ccode\u003effb5d08\u003c/code\u003e\u003c/a\u003e Use the newer postponed_jobs APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/6cf881b743f0b0c80ba6ddb56c726fc12df522b4\"\u003e\u003ccode\u003e6cf881b\u003c/code\u003e\u003c/a\u003e Use NUM2UINT for usec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/8085169f071b2e25d5d798482bd1737e012af877\"\u003e\u003ccode\u003e8085169\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tmm1/stackprof/issues/238\"\u003e#238\u003c/a\u003e from aidenfoxivey/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/fae0152c6269a8fb7f60aabfd7bc6fb715499bd6\"\u003e\u003ccode\u003efae0152\u003c/code\u003e\u003c/a\u003e Read only first two bytes to check signature\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/5d832832e4afcb88521292d6dfad4a9af760ef7c\"\u003e\u003ccode\u003e5d83283\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tmm1/stackprof/issues/234\"\u003e#234\u003c/a\u003e from boimw/master\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tmm1/stackprof/commit/93ab15fa673a3954bea6687553779576ecf38db3\"\u003e\u003ccode\u003e93ab15f\u003c/code\u003e\u003c/a\u003e Add Ruby 3.4 to CI\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tmm1/stackprof/compare/v0.2.27...v0.2.28\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vernier` from 1.9.0 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c3252a3887ec0f66fc16c8f4c57da4ddb81f66d2\"\u003e\u003ccode\u003ec3252a3\u003c/code\u003e\u003c/a\u003e v1.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f0487f61ac28368b0652351771349c5964aa6986\"\u003e\u003ccode\u003ef0487f6\u003c/code\u003e\u003c/a\u003e Remove rescue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c177e623a7a47e0c78d1b963d7f61dbfc0d2b2f5\"\u003e\u003ccode\u003ec177e62\u003c/code\u003e\u003c/a\u003e Only PTR2NUM if undefined\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/cdf47a64431c68e7ad0435079ab25d15661f4784\"\u003e\u003ccode\u003ecdf47a6\u003c/code\u003e\u003c/a\u003e Just require, don't bother with relative\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/7d0af83a591ef05071f97c0541fce4b6e49bda25\"\u003e\u003ccode\u003e7d0af83\u003c/code\u003e\u003c/a\u003e Widen memory RSS test range for Ruby 4.1dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/f5db8435619bdfeaddff49b678899af8274f1e10\"\u003e\u003ccode\u003ef5db843\u003c/code\u003e\u003c/a\u003e Fix ParsedProfile func_first_lineno for markdown output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/c0be1216f3407ed796d6ab0d1ec5e469f8ec3e74\"\u003e\u003ccode\u003ec0be121\u003c/code\u003e\u003c/a\u003e Fix heap_tracker assertion failure on Ruby 4.1dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/cda1041fda9b3d2375ec96ea7256572db0d9b413\"\u003e\u003ccode\u003ecda1041\u003c/code\u003e\u003c/a\u003e Require ext wherever it is on the load path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/3c095157db076b320b43435f4749971051a3bc95\"\u003e\u003ccode\u003e3c09515\u003c/code\u003e\u003c/a\u003e Fix function lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhawthorn/vernier/commit/91e95bd5d082204956a10e7228ebda660de8bb09\"\u003e\u003ccode\u003e91e95bd\u003c/code\u003e\u003c/a\u003e Don't put filenames in code blocks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhawthorn/vernier/compare/v1.9.0...v1.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pry` from 0.15.2 to 0.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/releases\"\u003epry's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.16.0\u003c/h2\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pry/pry/pull/2343\"\u003epry/pry#2343\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ehttps://github.com/pry/pry/compare/v0.15.2...v0.16.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pry/pry/blob/master/CHANGELOG.md\"\u003epry's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e\u003ca href=\"https://github.com/pry/pry/blob/master/v0.16.0\"\u003ehttps://github.com/pry/pry/blob/master/v0.16.0\u003c/a\u003e (December 26, 2025)\u003c/h3\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRuby 4.0 Support.\nPry will now require and default to Reline for newer Rubies.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2357\"\u003e#2357\u003c/a\u003e)\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert 'Unify show-doc with show-source'.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2346\"\u003e#2346\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eRemove experimental \u003ccode\u003ePry.auto_resize!\u003c/code\u003e\nReturns a warning. The code will be removed later.\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2359\"\u003e#2359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop support for Ruby \u0026lt; 2.6\n(\u003ca href=\"https://redirect.github.com/pry/pry/pull/2349\"\u003e#2349\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/5a267df08ad6a69dcb890733a2765b47585439c8\"\u003e\u003ccode\u003e5a267df\u003c/code\u003e\u003c/a\u003e v0.16.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/538b15043c66e18ff98d1948b7fd1c22a73b042b\"\u003e\u003ccode\u003e538b150\u003c/code\u003e\u003c/a\u003e Update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/0a7ab20e34feb3f7952c47392b2a8030c5f161ce\"\u003e\u003ccode\u003e0a7ab20\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2361\"\u003e#2361\u003c/a\u003e from andrehjr/remove-outdated-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/8dcb2c82fffdb846b961f5d1e555dba3e9450ab5\"\u003e\u003ccode\u003e8dcb2c8\u003c/code\u003e\u003c/a\u003e Remove pinned method_source version for Ruby \u0026lt; 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/fc9969bca186a252b1a43d85b663f4352bc8b6ec\"\u003e\u003ccode\u003efc9969b\u003c/code\u003e\u003c/a\u003e Remove psych pinned version from Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/23b3ed6b737d190f95abaf30478a749c6b8d9b95\"\u003e\u003ccode\u003e23b3ed6\u003c/code\u003e\u003c/a\u003e Remove hardcoded require for rubocop \u0026gt; 2.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/e9ac449c1d7a3607a87d15d6be19d7a6be3645ad\"\u003e\u003ccode\u003ee9ac449\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2349\"\u003e#2349\u003c/a\u003e from andrehjr/no-readline-installed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/679249bc189c3bd7fb187dc174a08a3ff88ec1da\"\u003e\u003ccode\u003e679249b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pry/pry/issues/2359\"\u003e#2359\u003c/a\u003e from andrehjr/remove-experiental-autoresize\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/17d5954f7ea2ebddb38a9af9f1987d2997d0e62b\"\u003e\u003ccode\u003e17d5954\u003c/code\u003e\u003c/a\u003e Remove experimental Pry.auto_resize!\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pry/pry/commit/090822bcabcedba392ceaea5b4549d04c2cab7dd\"\u003e\u003ccode\u003e090822b\u003c/code\u003e\u003c/a\u003e Pry will only support Ruby 2.6+ form now on\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pry/pry/compare/v0.15.2...v0.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop` from 1.82.0 to 1.85.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop/releases\"\u003erubocop's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop v1.85.1\u003c/h2\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14958\"\u003e#14958\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when \u003ccode\u003eFile.open\u003c/code\u003e is passed as an argument or returned from a method. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14973\"\u003e#14973\u003c/a\u003e: Fix \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e false positive when accumulator is read in key/value. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14964\"\u003e#14964\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parenthesizing a range in a block 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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14969\"\u003e#14969\u003c/a\u003e: Autoload formatters; they're required only when actually used. (\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\u003ch2\u003eRuboCop v1.85.0\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14921\"\u003e#14921\u003c/a\u003e: Add \u003ccode\u003emise.toml\u003c/code\u003e as source for TargetRubyVersion. ([\u003ca href=\"https://github.com/kitsane\"\u003e\u003ccode\u003e@​kitsane\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14925\"\u003e#14925\u003c/a\u003e: Add new \u003ccode\u003eLint/UnreachablePatternBranch\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14942\"\u003e#14942\u003c/a\u003e: Add new \u003ccode\u003eStyle/FileOpen\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14939\"\u003e#14939\u003c/a\u003e: Add new \u003ccode\u003eStyle/MapJoin\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14924\"\u003e#14924\u003c/a\u003e: Add new \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14923\"\u003e#14923\u003c/a\u003e: Add new \u003ccode\u003eStyle/PartitionInsteadOfDoubleSelect\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14811\"\u003e#14811\u003c/a\u003e: Add new \u003ccode\u003eStyle/PredicateWithKind\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14938\"\u003e#14938\u003c/a\u003e: Add new \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14812\"\u003e#14812\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantMinMaxBy\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/13501\"\u003e#13501\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop. (\u003ca href=\"https://github.com/koic\"\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/14808\"\u003e#14808\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByKind\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14810\"\u003e#14810\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByRange\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14922\"\u003e#14922\u003c/a\u003e: Add new \u003ccode\u003eStyle/TallyMethod\u003c/code\u003e cop. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14773\"\u003e#14773\u003c/a\u003e: Add new \u003ccode\u003eLint/DataDefineOverride\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14781\"\u003e#14781\u003c/a\u003e: Add new \u003ccode\u003eInternalAffairs/ItblockHandler\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14911\"\u003e#14911\u003c/a\u003e: Support built-in MCP server (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/issues/14829\"\u003e#14829\u003c/a\u003e: Allow classes without a superclass in \u003ccode\u003eStyle/EmptyClassDefinition\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/14873\"\u003e#14873\u003c/a\u003e: Fix an error in \u003ccode\u003eStyle/NegatedWhile\u003c/code\u003e when the last expression of an \u003ccode\u003euntil\u003c/code\u003e condition is negated. (\u003ca href=\"https://github.com/koic\"\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/14827\"\u003e#14827\u003c/a\u003e: Improve \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e message wording. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14800\"\u003e#14800\u003c/a\u003e: Fix false obsolete configuration error for extracted cops when loaded as plugins. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14928\"\u003e#14928\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/Void\u003c/code\u003e when \u003ccode\u003enil\u003c/code\u003e is used in \u003ccode\u003ecase\u003c/code\u003e branch. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14857\"\u003e#14857\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/IfUnlessModifier\u003c/code\u003e when modifier forms are used inside string interpolations. (\u003ca href=\"https://github.com/koic\"\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/8773\"\u003e#8773\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/HashTransformKeys\u003c/code\u003e and \u003ccode\u003eStyle/HashTransformValues\u003c/code\u003e. (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/6963\"\u003e#6963\u003c/a\u003e: Fix false positives in \u003ccode\u003eLint/Void\u003c/code\u003e for \u003ccode\u003eeach\u003c/code\u003e blocks where the return value may be meaningful (e.g., \u003ccode\u003eEnumerator#each\u003c/code\u003e). (\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14931\"\u003e#14931\u003c/a\u003e: Ignore directive comments inside comments. (\u003ca href=\"https://github.com/koic\"\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/14834\"\u003e#14834\u003c/a\u003e: Fix \u003ccode\u003eLayout/IndentationWidth\u003c/code\u003e false positive for chained method blocks when \u003ccode\u003eEnforcedStyleAlignWith\u003c/code\u003e is \u003ccode\u003estart_of_line\u003c/code\u003e. ([\u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14756\"\u003e#14756\u003c/a\u003e: Fix \u003ccode\u003eLint/Void\u003c/code\u003e to detect void expressions in \u003ccode\u003ecase\u003c/code\u003e/\u003ccode\u003ewhen\u003c/code\u003e branches. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14874\"\u003e#14874\u003c/a\u003e: Fix a \u003ccode\u003eParser::ClobberingError\u003c/code\u003e in \u003ccode\u003eLint/UselessAssignment\u003c/code\u003e when autocorrecting a useless assignment that wraps a block containing another useless assignment. (\u003ca href=\"https://github.com/koic\"\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/14880\"\u003e#14880\u003c/a\u003e: Fix a false negative in \u003ccode\u003eLayout/MultilineAssignmentLayout\u003c/code\u003e when using \u003ccode\u003enumblock\u003c/code\u003e or \u003ccode\u003eitblock\u003c/code\u003e with \u003ccode\u003eSupportedTypes: ['block']\u003c/code\u003e. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\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.85.1 (2026-03-03)\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/14958\"\u003e#14958\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/FileOpen\u003c/code\u003e when \u003ccode\u003eFile.open\u003c/code\u003e is passed as an argument or returned from a method. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14973\"\u003e#14973\u003c/a\u003e: Fix \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e false positive when accumulator is read in key/value. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14964\"\u003e#14964\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e when parenthesizing a range in a block 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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14969\"\u003e#14969\u003c/a\u003e: Autoload formatters; they're required only when actually used. ([\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\u003ch2\u003e1.85.0 (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eNew features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14921\"\u003e#14921\u003c/a\u003e: Add \u003ccode\u003emise.toml\u003c/code\u003e as source for TargetRubyVersion. ([\u003ca href=\"https://github.com/kitsane\"\u003e\u003ccode\u003e@​kitsane\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14925\"\u003e#14925\u003c/a\u003e: Add new \u003ccode\u003eLint/UnreachablePatternBranch\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14942\"\u003e#14942\u003c/a\u003e: Add new \u003ccode\u003eStyle/FileOpen\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14939\"\u003e#14939\u003c/a\u003e: Add new \u003ccode\u003eStyle/MapJoin\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14924\"\u003e#14924\u003c/a\u003e: Add new \u003ccode\u003eStyle/OneClassPerFile\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14923\"\u003e#14923\u003c/a\u003e: Add new \u003ccode\u003eStyle/PartitionInsteadOfDoubleSelect\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14811\"\u003e#14811\u003c/a\u003e: Add new \u003ccode\u003eStyle/PredicateWithKind\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14938\"\u003e#14938\u003c/a\u003e: Add new \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14812\"\u003e#14812\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantMinMaxBy\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/13501\"\u003e#13501\u003c/a\u003e: Add new \u003ccode\u003eStyle/RedundantStructKeywordInit\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/koic\"\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/14808\"\u003e#14808\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByKind\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14810\"\u003e#14810\u003c/a\u003e: Add new \u003ccode\u003eStyle/SelectByRange\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14922\"\u003e#14922\u003c/a\u003e: Add new \u003ccode\u003eStyle/TallyMethod\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14773\"\u003e#14773\u003c/a\u003e: Add new \u003ccode\u003eLint/DataDefineOverride\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14781\"\u003e#14781\u003c/a\u003e: Add new \u003ccode\u003eInternalAffairs/ItblockHandler\u003c/code\u003e cop. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/pull/14911\"\u003e#14911\u003c/a\u003e: Support built-in MCP server (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/issues/14829\"\u003e#14829\u003c/a\u003e: Allow classes without a superclass in \u003ccode\u003eStyle/EmptyClassDefinition\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/14873\"\u003e#14873\u003c/a\u003e: Fix an error in \u003ccode\u003eStyle/NegatedWhile\u003c/code\u003e when the last expression of an \u003ccode\u003euntil\u003c/code\u003e condition is negated. ([\u003ca href=\"https://github.com/koic\"\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/14827\"\u003e#14827\u003c/a\u003e: Improve \u003ccode\u003eStyle/EmptyClassDefinition\u003c/code\u003e message wording. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14800\"\u003e#14800\u003c/a\u003e: Fix false obsolete configuration error for extracted cops when loaded as plugins. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14928\"\u003e#14928\u003c/a\u003e: Fix a false positive for \u003ccode\u003eLint/Void\u003c/code\u003e when \u003ccode\u003enil\u003c/code\u003e is used in \u003ccode\u003ecase\u003c/code\u003e branch. ([\u003ca href=\"https://github.com/5hun-s\"\u003e\u003ccode\u003e@​5hun-s\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14857\"\u003e#14857\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/IfUnlessModifier\u003c/code\u003e when modifier forms are used inside string interpolations. ([\u003ca href=\"https://github.com/koic\"\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/8773\"\u003e#8773\u003c/a\u003e: Fix false positives in \u003ccode\u003eStyle/HashTransformKeys\u003c/code\u003e and \u003ccode\u003eStyle/HashTransformValues\u003c/code\u003e. ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/6963\"\u003e#6963\u003c/a\u003e: Fix false positives in \u003ccode\u003eLint/Void\u003c/code\u003e for \u003ccode\u003eeach\u003c/code\u003e blocks where the return value may be meaningful (e.g., \u003ccode\u003eEnumerator#each\u003c/code\u003e). ([\u003ca href=\"https://github.com/sferik\"\u003e\u003ccode\u003e@​sferik\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14931\"\u003e#14931\u003c/a\u003e: Ignore directive comments inside comments. ([\u003ca href=\"https://github.com/koic\"\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/14834\"\u003e#14834\u003c/a\u003e: Fix \u003ccode\u003eLayout/IndentationWidth\u003c/code\u003e false positive for chained method blocks when \u003ccode\u003eEnforcedStyleAlignWith\u003c/code\u003e is \u003ccode\u003estart_of_line\u003c/code\u003e. ([\u003ca href=\"https://github.com/krororo\"\u003e\u003ccode\u003e@​krororo\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14756\"\u003e#14756\u003c/a\u003e: Fix \u003ccode\u003eLint/Void\u003c/code\u003e to detect void expressions in \u003ccode\u003ecase\u003c/code\u003e/\u003ccode\u003ewhen\u003c/code\u003e branches. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14874\"\u003e#14874\u003c/a\u003e: Fix a \u003ccode\u003eParser::ClobberingError\u003c/code\u003e in \u003ccode\u003eLint/UselessAssignment\u003c/code\u003e when autocorrecting a useless assignment that wraps a block containing another useless assignment. ([\u003ca href=\"https://github.com/koic\"\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/14880\"\u003e#14880\u003c/a\u003e: Fix a false negative in \u003ccode\u003eLayout/MultilineAssignmentLayout\u003c/code\u003e when using \u003ccode\u003enumblock\u003c/code\u003e or \u003ccode\u003eitblock\u003c/code\u003e with \u003ccode\u003eSupportedTypes: ['block']\u003c/code\u003e. ([\u003ca href=\"https://github.com/bbatsov\"\u003e\u003ccode\u003e@​bbatsov\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/11462\"\u003e#11462\u003c/a\u003e: Fix over-indentation when autocorrecting nested hashes with \u003ccode\u003eLayout/FirstHashElementIndentation\u003c/code\u003e. ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14880\"\u003e#14880\u003c/a\u003e: Recognize block on different line from left side of multi-line assignment in \u003ccode\u003eLayout/MultilineAssignmentLayout\u003c/code\u003e. ([\u003ca href=\"https://github.com/sanfrecce-osaka\"\u003e\u003ccode\u003e@​sanfrecce-osaka\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/fd076726f524a9a551f9a528eec2df57e2762146\"\u003e\u003ccode\u003efd07672\u003c/code\u003e\u003c/a\u003e Cut 1.85.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/5c41f90877049254f9921ebef7c06204047fff9d\"\u003e\u003ccode\u003e5c41f90\u003c/code\u003e\u003c/a\u003e Update Changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/5e8e49241a0e95121dd9977cd8e305e3a871639f\"\u003e\u003ccode\u003e5e8e492\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14975\"\u003e#14975\u003c/a\u003e from sferik/fix_14973\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/90f37805a90515a09870e3770299728d827d5e52\"\u003e\u003ccode\u003e90f3780\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eStyle/ReduceToHash\u003c/code\u003e false positive when accumulator is read in key/value\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/90c795960da9c7fbd40b16f3b245eb26a6d564fa\"\u003e\u003ccode\u003e90c7959\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14972\"\u003e#14972\u003c/a\u003e from lovro-bikic/relevant-options-digest-cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/3c20e8dfc234f00a734072ece4db77d0c1e793d7\"\u003e\u003ccode\u003e3c20e8d\u003c/code\u003e\u003c/a\u003e Cache relevant options digest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/e305f79a463c5b281ec6c1309a028da7718eaa8f\"\u003e\u003ccode\u003ee305f79\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14969\"\u003e#14969\u003c/a\u003e from lovro-bikic/autoload-formatter-constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/3f0a304d9cc50088bff9fb715efb0d6d3f461daf\"\u003e\u003ccode\u003e3f0a304\u003c/code\u003e\u003c/a\u003e Autoload formatters; they're required only when actually used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/eb973f45f8f61d247ef53346d4f88b88ef5fa094\"\u003e\u003ccode\u003eeb973f4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14966\"\u003e#14966\u003c/a\u003e from koic/fix_false_positives_in_style_redundant_pa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop/commit/3338a40a194fefa010220a9a7cdc4d4005bb5e79\"\u003e\u003ccode\u003e3338a40\u003c/code\u003e\u003c/a\u003e [Fix \u003ca href=\"https://redirect.github.com/rubocop/rubocop/issues/14964\"\u003e#14964\u003c/a\u003e] Fix false positives in \u003ccode\u003eStyle/RedundantParentheses\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop/compare/v1.82.0...v1.85.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-md` from 2.0.3 to 2.0.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-md/blob/master/CHANGELOG.md\"\u003erubocop-md's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.4 (2026-01-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable caching when no offenses detected.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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-md/commit/d96f4a38ece3f3fd23560d5ac40275457fe8fec1\"\u003e\u003ccode\u003ed96f4a3\u003c/code\u003e\u003c/a\u003e Bump 2.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/a006b52f3dc76e2716256d8f606ff3927f4f502d\"\u003e\u003ccode\u003ea006b52\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-md/issues/47\"\u003e#47\u003c/a\u003e from byroot/fix-caching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/03c1346a45d732d7637e0f73bcd1727a5a40b8f9\"\u003e\u003ccode\u003e03c1346\u003c/code\u003e\u003c/a\u003e Allow caching when there is no offenses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/da7add1c9e6d1b8e4efaea48b18825acc5d0b7fc\"\u003e\u003ccode\u003eda7add1\u003c/code\u003e\u003c/a\u003e Bump 2.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/88d1fe82ccb9f99062cd6cf0c0d38afc6e387761\"\u003e\u003ccode\u003e88d1fe8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-md/issues/46\"\u003e#46\u003c/a\u003e from rubocop/dependabot/github_actions/actions/checkout-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-md/commit/18bac0ece9175022b59a78b81629d98a9a2282bb\"\u003e\u003ccode\u003e18bac0e\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rubocop/rubocop-md/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\nUpdates `rubocop-rspec` from 3.8.0 to 3.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/releases\"\u003erubocop-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRuboCop RSpec v3.9.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). (\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. (\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). (\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. (\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md\"\u003erubocop-rspec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.0 (2026-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/LeakyLocalVariable\u003c/code\u003e when variables are used only in example metadata (e.g., skip messages). ([\u003ca href=\"https://github.com/ydah\"\u003e\u003ccode\u003e@​ydah\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/ScatteredSetup\u003c/code\u003e when the hook is defined inside a class method. ([\u003ca href=\"https://github.com/d4rky-pl\"\u003e\u003ccode\u003e@​d4rky-pl\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eFix a false positive for \u003ccode\u003eRSpec/DescribedClass\u003c/code\u003e inside dynamically evaluated blocks (\u003ccode\u003eclass_eval\u003c/code\u003e, \u003ccode\u003emodule_eval\u003c/code\u003e, \u003ccode\u003einstance_eval\u003c/code\u003e, \u003ccode\u003eclass_exec\u003c/code\u003e, \u003ccode\u003emodule_exec\u003c/code\u003e, \u003ccode\u003einstance_exec\u003c/code\u003e). ([\u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/Output\u003c/code\u003e. ([\u003ca href=\"https://github.com/kevinrobell-st\"\u003e\u003ccode\u003e@​kevinrobell-st\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003cli\u003eAdd new cop \u003ccode\u003eRSpec/DiscardedMatcher\u003c/code\u003e to detect matchers in void context (e.g. missing \u003ccode\u003e.and\u003c/code\u003e between compound matchers). ([\u003ca href=\"https://github.com/ydakuka\"\u003e\u003ccode\u003e@​ydakuka\u003c/code\u003e\u003c/a\u003e])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/f7aecf0580cda23bd5b25c3cfddddefabb6228bc\"\u003e\u003ccode\u003ef7aecf0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2151\"\u003e#2151\u003c/a\u003e from rubocop/release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/893a25b941233616ee055201917bcb25781ce522\"\u003e\u003ccode\u003e893a25b\u003c/code\u003e\u003c/a\u003e Bump version to 3.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/91ad43dfa70d99b8d9637526a00e7cb69ace1af1\"\u003e\u003ccode\u003e91ad43d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2150\"\u003e#2150\u003c/a\u003e from kevinrobell-st/patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/802b3863b24c1d55c9efcb40912bcfd36b9eb075\"\u003e\u003ccode\u003e802b386\u003c/code\u003e\u003c/a\u003e Fix CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/a03e0c7ea939b279b2df7f9bd6ad001d47524f64\"\u003e\u003ccode\u003ea03e0c7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2149\"\u003e#2149\u003c/a\u003e from rubocop/ci-test-ruby-4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/68f25d9d79d280ae1859c876638b2ac3a1f51d57\"\u003e\u003ccode\u003e68f25d9\u003c/code\u003e\u003c/a\u003e Temporarily add irb to Gemfile\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b9e50b86916704e039ab60966684943ad82780bb\"\u003e\u003ccode\u003eb9e50b8\u003c/code\u003e\u003c/a\u003e CI: Test with Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/b63bcd80ceba07294f5507ebd4692a54a9ebeb09\"\u003e\u003ccode\u003eb63bcd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2148\"\u003e#2148\u003c/a\u003e from sucicfilip/fix-described-class-inside-eval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/278245a100f00a923bab3e2e0acac5cd5d7b7b46\"\u003e\u003ccode\u003e278245a\u003c/code\u003e\u003c/a\u003e Fix RSpec/DescribedClass to ignore *_eval and *_exec blocks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rubocop/rubocop-rspec/commit/ca18f5e7e9abc08bfd826c6e1b66963b48db5d71\"\u003e\u003ccode\u003eca18f5e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/rubocop/rubocop-rspec/issues/2144\"\u003e#2144\u003c/a\u003e from rubocop/dont-use-ruby-version\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rubocop/rubocop-rspec/compare/v3.8.0...v3.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rubocop-sorbet` from 0.11.0 to 0.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/shopify/rubocop-sorbet/releases\"\u003erubocop-sorbet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.12.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck that \u003ccode\u003eon_failure\u003c/code\u003e is used with \u003ccode\u003echecked(:{tests,always})\u003c/code\u003e by \u003ca href=\"https://github.com/issyl0\"\u003e\u003ccode\u003e@​issyl0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/358\"\u003eShopify/rubocop-sorbet#358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSorbet/ForbidTStruct\u003c/code\u003e crash when \u003ccode\u003eLayout/LineLength\u003c/code\u003e is disabled by \u003ca href=\"https://github.com/sambostock\"\u003e\u003ccode\u003e@​sambostock\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/365\"\u003eShopify/rubocop-sorbet#365\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ObsoleteStrictMemoization crash when Layout/LineLength is disabled by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/366\"\u003eShopify/rubocop-sorbet#366\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/issyl0\"\u003e\u003ccode\u003e@​issyl0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/rubocop-sorbet/pull/358\"\u003eShopify/rubocop-sorbet#358\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Shopify/rubocop-sorbet/compare/v0.11.0...v0.12.0\"\u003ehttps://github.com/Shopify/rubocop-sorbet/compare/v0.11.0...v0.12.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/Shopify/rubocop-sorbet/commit/d41d1fefce2a3ff422763f7b7908a923c1e9523a\"\u003e\u003ccode\u003ed41d1fe\u003c/code\u003e\u003c/a\u003e Prepare for 0.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/b67f89238b146d02d6125d8468d538a41e021460\"\u003e\u003ccode\u003eb67f892\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/366\"\u003e#366\u003c/a\u003e from Shopify/rm-fix-rubocop-1-82\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/6d3a46f67d724308dc1435185281e9a9b5be4132\"\u003e\u003ccode\u003e6d3a46f\u003c/code\u003e\u003c/a\u003e Fix ObsoleteStrictMemoization crash when Layout/LineLength is disabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/5b5202854ae2170a57d5049c749a8ab9b7776cc1\"\u003e\u003ccode\u003e5b52028\u003c/code\u003e\u003c/a\u003e Use nix for development setup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/824251a65e7e946f9c2aa333972344c7a7d73f9a\"\u003e\u003ccode\u003e824251a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/365\"\u003e#365\u003c/a\u003e from Shopify/fix-forbid-t-struct-nil-max-line-length\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/77b81e43d8b81c8c9b9d7f42ee4dd5f48edcc460\"\u003e\u003ccode\u003e77b81e4\u003c/code\u003e\u003c/a\u003e Fix ForbidTStruct crash when Layout/LineLength is disabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/371fc96adb67778f6152391727e1811cdd1fd1ce\"\u003e\u003ccode\u003e371fc96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/363\"\u003e#363\u003c/a\u003e from Shopify/dependabot/github_actions/actions/checko...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/ce5b22196822d5959d629e794272963ac205b8ad\"\u003e\u003ccode\u003ece5b221\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6.0.1 to 6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/f5690a83ab6fe909ffb2845e4b39633638d59429\"\u003e\u003ccode\u003ef5690a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/shopify/rubocop-sorbet/issues/361\"\u003e#361\u003c/a\u003e from Shopify/dependabot/github_actions/dependabot/fet...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/rubocop-sorbet/commit/bf567fd86c5702414e1a75cd9461991c2faa3dc5\"\u003e\u003ccode\u003ebf567fd\u003c/code\u003e\u003c/a\u003e Bump dependabot/fetch-metadata from 2.4.0 to 2.5.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/shopify/rubocop-sorbet/compare/v0.11.0...v0.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `test-prof` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/test-prof/test-prof/releases\"\u003etest-prof's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd TPS profiler. \u003ca href=\"https://test-prof.evilmartians.io/guide/profilers/tps_prof\"\u003eDocs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eTPS (tests-per-second) profiler helps to identify example groups (files) that have a good potential for speed-up by sharing setup data (via \u003ccode\u003ebefore_all\u003c/code\u003e or \u003ccode\u003elet_it_be\u003c/code\u003e or fixtures): the more examples and the lower the TPS, the more opportunity to cut the group's total time.\u003c/p\u003e\n\u003cp\u003eTPS profiler also supports the \u003cstrong\u003estrict mode\u003c/strong\u003e: example groups violating user-configured threshold (e.g., too low TPS) are marked as failures.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd GC profiling mode to MemoryProf.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded custom Sidekiq instrumentation to Sidekiq 8.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRSpecStamp now uses Prism if available.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgraded RSpecDissect to always show the total setup time and let breakdowns.\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/test-prof/test-prof/blob/master/CHANGELOG.md\"\u003etest-prof's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.0 (2026-03-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd TPS profiler. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd GC profiling to MemoryProf. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade to Sidekiq 8. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRSpecStamp now uses Prism if available. ([\u003ca href=\"https://github.com/kddnewton\"\u003e\u003ccode\u003e@​kddnewton\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade RSpecDissect to show total setup time and let breakdowns. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.2 (2026-02-03)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using \u003ccode\u003eGem.loaded_specs\u003c/code\u003e methods in RuboCop plugin version check. ([\u003ca href=\"https://github.com/Rylan12\"\u003e\u003ccode\u003e@​Rylan12\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.5.1 (2026-01-27)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix RuboCop plugin. ([\u003ca href=\"https://github.com/palkan\"\u003e\u003ccode\u003e@​palkan\u003c/code\u003e\u003c/a\u003e][])\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNow you should use \u003ccode\u003e--plugin test-prof\u003c/code\u003e or \u003ccode\u003eplugins: [test-prof]\u003c/code\u003e (in YAML) (so LintRoller can correctly obtain the plugin class name from the gemspec).\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/8d7a58ca25104fc845a8b552edcd8f5d3cf26e7a\"\u003e\u003ccode\u003e8d7a58c\u003c/code\u003e\u003c/a\u003e Bump 1.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/50bdad471e3cc87a10c584a4a44d1396e3ad2d7e\"\u003e\u003ccode\u003e50bdad4\u003c/code\u003e\u003c/a\u003e + tps_prof: ignore + custom strict handler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/91b75271c2ce78dd5211819c89d310aa633f0e76\"\u003e\u003ccode\u003e91b7527\u003c/code\u003e\u003c/a\u003e - Ruby \u0026lt;3.1 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/c3ca05446ebef175724b695439a5f135384a98ef\"\u003e\u003ccode\u003ec3ca054\u003c/code\u003e\u003c/a\u003e + tps_prof docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/390cb3a2a99227a896fe5818e1d13175471c6a1c\"\u003e\u003ccode\u003e390cb3a\u003c/code\u003e\u003c/a\u003e + memory_prof: gc mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/cf7922eaa587ac793268125abfc958751dafad76\"\u003e\u003ccode\u003ecf7922e\u003c/code\u003e\u003c/a\u003e + tps_prof strict mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/e817ee2cbb6a917fa56d0e8c8bf7fb28c68e01f1\"\u003e\u003ccode\u003ee817ee2\u003c/code\u003e\u003c/a\u003e * upgrade to Sidekiq 8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/5daed7eb81471b8ceda4d633da1c79c9d60daf10\"\u003e\u003ccode\u003e5daed7e\u003c/code\u003e\u003c/a\u003e Use Prism for parsing if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/7ebc0c1d228c488f53e7cc1828502f53ecee2646\"\u003e\u003ccode\u003e7ebc0c1\u003c/code\u003e\u003c/a\u003e - tps_prof: update sorting logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/test-prof/test-prof/commit/b21822a34c34c277d8d5ba016e9b35687fdfbc2f\"\u003e\u003ccode\u003eb21822a\u003c/code\u003e\u003c/a\u003e feat: RSpecDissect upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/test-prof/test-prof/compare/v1.5.0...v1.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `parallel_tests` from 5.5.0 to 5.6.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md\"\u003eparallel_tests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.6.0 - 2026-02-05\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed grammar in duration message to use singular \u0026quot;second\u0026quot; when appropriate (e.g., \u0026quot;Took 1 second\u0026quot; instead of \u0026quot;Took 1 seconds\u0026quot;)\u003c/li\u003e\n\u003cli\u003eReturn correct exit status when process was terminated\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grosser/parallel_tests/commit/eb11d1f4082fd74b149c0f880dc16aa98dea5df5\"\u003e\u003ccode\u003eeb11d1f\u003c/code\u003e\u003c/a\u003e v5.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grosser/parallel_tests/commit/4dc7953029e1dcfcb74a258a7af99138f90fec06\"\u003e\u003ccode\u003e4dc7953\u003c/code\u003e\u003c/a\u003e Handle signal-terminated processes in exit status (\u003ca href=\"https://redirect.github.com/grosser/parallel_tests/issues/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/grosser/parallel_tests/commit/01bbd80b96df477430c10bb83e654601929f6daf\"\u003e\u003ccode\u003e01bbd80\u003c/code\u003e\u003c/a\u003e Fix pluralization of \u0026quot;seconds\u0026quot; in test output (\u003ca href=\"https://redirect.github.com/grosser/parallel_tests/issues/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/grosser/parallel_tests/compare/v5.5.0...v5.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sorbet-static-and-runtime` from 0.6.12865 to 0.6.13051\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sorbet/sorbet/releases\"\u003esorbet-static-and-runtime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esorbet 0.6.13050.20260319175804-a7962c649\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13050', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13050'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13049.20260319173927-f453daaa4\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13049', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13049'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13048.20260318161407-561dad245\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13048', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13048'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13047.20260318160905-80f84fa13\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13047', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13047'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13046.20260318160029-0d0963134\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13046', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13046'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13045.20260318092630-f0cb50575\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13045', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13045'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13044.20260318091651-c06b994fc\u003c/h2\u003e\n\u003cp\u003eTo use Sorbet add this line to your Gemfile:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003egem 'sorbet', '0.6.13044', :group =\u0026gt; :development\ngem 'sorbet-runtime', '0.6.13044'\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003esorbet 0.6.13043.20260317175527-bccdfa9b8\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sorbet/sorbet/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tapioca` from 0.17.10 to 0.18.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/tapioca/releases\"\u003etapioca's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.18.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🚧 Breaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSwitch to Package URI for source location comments by \u003ca href=\"https://github.com/paracycle\"\u003e\u003ccode\u003e@​paracycle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2480\"\u003eShopify/tapioca#2480\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e✨ Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eunscoped\u003c/code\u003e to Active Record relations compiler by \u003ca href=\"https://github.com/bdewater-thatch\"\u003e\u003ccode\u003e@​bdewater-thatch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2465\"\u003eShopify/tapioca#2465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake gem compatible with Ruby 4.0 by \u003ca href=\"https://github.com/paracycle\"\u003e\u003ccode\u003e@​paracycle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2473\"\u003eShopify/tapioca#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd compiler for Rails.env methods by \u003ca href=\"https://github.com/bdewater-thatch\"\u003e\u003ccode\u003e@​bdewater-thatch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2450\"\u003eShopify/tapioca#2450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse explicit type annotations for CurrentAttributes methods by \u003ca href=\"https://github.com/tavianator\"\u003e\u003ccode\u003e@​tavianator\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2511\"\u003eShopify/tapioca#2511\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix find_in_batches without block return type and AR batches order kwarg by \u003ca href=\"https://github.com/bdewater-thatch\"\u003e\u003ccode\u003e@​bdewater-thatch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2466\"\u003eShopify/tapioca#2466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake ActiveRecord delete/destroy_by argument a rest parameters by \u003ca href=\"https://github.com/caleb\"\u003e\u003ccode\u003e@​caleb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2497\"\u003eShopify/tapioca#2497\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/larouxn\"\u003e\u003ccode\u003e@​larouxn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2491\"\u003eShopify/tapioca#2491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caleb\"\u003e\u003ccode\u003e@​caleb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2497\"\u003eShopify/tapioca#2497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tavianator\"\u003e\u003ccode\u003e@​tavianator\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Shopify/tapioca/pull/2511\"\u003eShopify/tapioca#2511\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Shopify/tapioca/compare/v0.17.10...v0.18.0\"\u003ehttps://github.com/Shopify/tapioca/compare/v0.17.10...v0.18.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/Shopify/tapioca/commit/daa4f71223e267dda073233cbb37647934409710\"\u003e\u003ccode\u003edaa4f71\u003c/code\u003e\u003c/a\u003e Bump version to 0.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/bb81f14765747dcc40f123b8ae40ea45c9c664f7\"\u003e\u003ccode\u003ebb81f14\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2535\"\u003e#2535\u003c/a\u003e from Shopify/trusted-publisher-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/f91479ae0500d592ec88ed8acb47d787a0c18ad9\"\u003e\u003ccode\u003ef91479a\u003c/code\u003e\u003c/a\u003e Migrate release workflow to use trusted publisher\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/849f91e91a29cc3dac850bef5c966a246ecfeee7\"\u003e\u003ccode\u003e849f91e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2532\"\u003e#2532\u003c/a\u003e from Shopify/dependabot/bundler/action_text-trix-2.1.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/ba038a89bf5147a55d57edf840e2395412bca259\"\u003e\u003ccode\u003eba038a8\u003c/code\u003e\u003c/a\u003e bin/tapioca gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/5d7911f5c56614ed738ed63fad29145a83202768\"\u003e\u003ccode\u003e5d7911f\u003c/code\u003e\u003c/a\u003e Bump action_text-trix from 2.1.16 to 2.1.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/c7968a1ba505fc136eaded63d13442c678660706\"\u003e\u003ccode\u003ec7968a1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2528\"\u003e#2528\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/6e2183bc0ad2adaa97cd813459bbdfcc26b73bfe\"\u003e\u003ccode\u003e6e2183b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/tapioca/issues/2529\"\u003e#2529\u003c/a\u003e from Shopify/dependabot/bundler/minor-and-patch-40b8...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/49147cc2592b0010281f4250b1a3995174bd86d1\"\u003e\u003ccode\u003e49147cc\u003c/code\u003e\u003c/a\u003e exe/tapioca gem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/tapioca/commit/43770a62f42b94c070c00dc4c19dc308c8e8ff52\"\u003e\u003ccode\u003e43770a6\u003c/code\u003e\u003c/a\u003e Bump the minor-and-patch group with 3 updates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/tapioca/compare/v0.17.10...v0.18.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp` from 0.26.4 to 0.26.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com...\n\n_Description has been truncated_","html_url":"https://github.com/Keepit-development/qa-Homebrew-medium180mb-/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Keepit-development%2Fqa-Homebrew-medium180mb-/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"0.26.8","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-26T18:04:58.000Z","version_change":"0.26.8 → 0.26.9","issue":{"uuid":"4146222167","node_id":"PR_kwDOLtWGsc7N0B9w","number":368,"state":"open","title":"Bump ruby-lsp from 0.26.8 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T18:04:58.000Z","updated_at":"2026-04-12T12:40:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/wave-walker/wave-walker/pull/368","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wave-walker%2Fwave-walker/issues/368","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/368/packages"}},{"old_version":"0.26.8","new_version":"0.26.9","update_type":"patch","path":"/test","pr_created_at":"2026-03-26T05:32:39.000Z","version_change":"0.26.8 → 0.26.9","issue":{"uuid":"4140783161","node_id":"PR_kwDOMT-GHc7Nlg0B","number":1018,"state":"open","title":"test(deps): bump ruby-lsp from 0.26.8 to 0.26.9 in /test","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T05:32:39.000Z","updated_at":"2026-03-26T05:43:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"test(deps)","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":"/test","ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.8\u0026new-version=0.26.9)](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/alexfalkowski/web/pull/1018","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexfalkowski%2Fweb/issues/1018","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1018/packages"}},{"old_version":"0.26.8","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-26T04:11:08.000Z","version_change":"0.26.8 → 0.26.9","issue":{"uuid":"4140386732","node_id":"PR_kwDOQb4kXs7NkgJq","number":258,"state":"closed","title":"chore(deps-dev): bump ruby-lsp from 0.26.8 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T14:48:32.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-26T04:11:08.000Z","updated_at":"2026-04-01T14:48:35.000Z","time_to_close":556644,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.8\u0026new-version=0.26.9)](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/DFE-Digital/teacher-training-entitlement/pull/258","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DFE-Digital%2Fteacher-training-entitlement/issues/258","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/258/packages"}},{"old_version":"0.26.8","new_version":"0.26.9","update_type":"patch","path":null,"pr_created_at":"2026-03-26T04:03:49.000Z","version_change":"0.26.8 → 0.26.9","issue":{"uuid":"4140347371","node_id":"PR_kwDOBUVFKs7Nkajw","number":3359,"state":"open","title":"Bump ruby-lsp from 0.26.8 to 0.26.9","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-26T04:03:49.000Z","updated_at":"2026-03-26T04:07:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.8","new_version":"0.26.9","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.8 to 0.26.9.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.9\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent workspace_dependencies failing if directory gets removed during execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3980\"\u003eShopify/ruby-lsp#3980\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix semantic token \u003ccode\u003edefaultLibrary\u003c/code\u003e modifier casing (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4005\"\u003eShopify/ruby-lsp#4005\u003c/a\u003e) by \u003ca href=\"https://github.com/a-lavis\"\u003e\u003ccode\u003e@​a-lavis\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix document links for source comments above sig blocks (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/4018\"\u003eShopify/ruby-lsp#4018\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\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/Shopify/ruby-lsp/commit/29ecc8d29dde87e6157a75bc2f0a3eb62db02ea3\"\u003e\u003ccode\u003e29ecc8d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/f6d9ee44200cb2c0bd3feeb75ff9b7547accd6ad\"\u003e\u003ccode\u003ef6d9ee4\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/97f817d489a212faa6dd876bf129b300ea492fbc\"\u003e\u003ccode\u003e97f817d\u003c/code\u003e\u003c/a\u003e Remove --branch flag from server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/9e53e7e8366a13e44079f252ee8e5d5000803fe2\"\u003e\u003ccode\u003e9e53e7e\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/eb746d3554f8666e980fa3cffc0d03d7aa062fdd\"\u003e\u003ccode\u003eeb746d3\u003c/code\u003e\u003c/a\u003e Bump extension version to v0.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8834520c7d4ebd067527bc9ba0db3aff586e5df8\"\u003e\u003ccode\u003e8834520\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4030\"\u003e#4030\u003c/a\u003e from Shopify/use-prism-parser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e4026eac5293387aa1e77a62253ae5dc5a9806b5\"\u003e\u003ccode\u003ee4026ea\u003c/code\u003e\u003c/a\u003e Use Prism parser for Sorbet\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/81843e7a15f2b5428dbe73d87ef3a3ceccb6c411\"\u003e\u003ccode\u003e81843e7\u003c/code\u003e\u003c/a\u003e Bump Sorbet to 0.6.13055\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/b61a59498b70e864ac67c87bafbf72851ecb2ba7\"\u003e\u003ccode\u003eb61a594\u003c/code\u003e\u003c/a\u003e Remove rubyLsp.branch setting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/8c1e9b6b3f69a45dd6853d43d3dfae158f9e555d\"\u003e\u003ccode\u003e8c1e9b6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4028\"\u003e#4028\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.8...v0.26.9\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.8\u0026new-version=0.26.9)](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/ujh/fountainpencompanion/pull/3359","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ujh%2Ffountainpencompanion/issues/3359","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3359/packages"}},{"old_version":"0.26.6","new_version":"0.26.8","update_type":"patch","path":null,"pr_created_at":"2026-03-23T19:23:43.000Z","version_change":"0.26.6 → 0.26.8","issue":{"uuid":"4123182056","node_id":"PR_kwDOPdfcoc7MyIXh","number":490,"state":"open","title":"deps(deps): bump the minor-updates group across 1 directory with 10 updates","user":"dependabot[bot]","labels":["dependencies","ruby","paid-generated"],"assignees":["viamin"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-23T19:23:43.000Z","updated_at":"2026-03-24T23:15:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"minor-updates","update_count":10,"packages":[{"name":"ruby-lsp","old_version":"0.26.6","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"},{"name":"ruby-lsp-rspec","old_version":"0.1.28","new_version":"0.1.29","repository_url":"https://github.com/st0012/ruby-lsp-rspec"},{"name":"standard","old_version":"1.53.0","new_version":"1.54.0","repository_url":"https://github.com/standardrb/standard"},{"name":"webmock","old_version":"3.26.1","new_version":"3.26.2","repository_url":"https://github.com/bblimke/webmock"},{"name":"agent-harness","old_version":"0.3.0","new_version":"0.5.0","repository_url":"https://github.com/viamin/agent-harness"},{"name":"ruby_llm","old_version":"1.11.0","new_version":"1.14.0","repository_url":"https://github.com/crmne/ruby_llm"},{"name":"ruby_tree_sitter","old_version":"2.0.0","new_version":"2.1.0","repository_url":"https://github.com/Faveod/ruby-tree-sitter"},{"name":"sqlite3","old_version":"2.9.0","new_version":"2.9.2","repository_url":"https://github.com/sparklemotion/sqlite3-ruby"},{"name":"temporalio","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/temporalio/sdk-ruby"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps the minor-updates group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [ruby-lsp](https://github.com/Shopify/ruby-lsp) | `0.26.6` | `0.26.8` |\n| [ruby-lsp-rspec](https://github.com/st0012/ruby-lsp-rspec) | `0.1.28` | `0.1.29` |\n| [standard](https://github.com/standardrb/standard) | `1.53.0` | `1.54.0` |\n| [webmock](https://github.com/bblimke/webmock) | `3.26.1` | `3.26.2` |\n| [agent-harness](https://github.com/viamin/agent-harness) | `0.3.0` | `0.5.0` |\n| [ruby_llm](https://github.com/crmne/ruby_llm) | `1.11.0` | `1.14.0` |\n| [ruby_tree_sitter](https://github.com/Faveod/ruby-tree-sitter) | `2.0.0` | `2.1.0` |\n| [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) | `2.9.0` | `2.9.2` |\n| [temporalio](https://github.com/temporalio/sdk-ruby) | `1.2.0` | `1.3.0` |\n\n\nUpdates `ruby-lsp` from 0.26.6 to 0.26.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.6...v0.26.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby-lsp-rspec` from 0.1.28 to 0.1.29\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/releases\"\u003eruby-lsp-rspec's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.1.29\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\u003eHandle starting tests for the whole project by \u003ca href=\"https://github.com/elmuerte\"\u003e\u003ccode\u003e@​elmuerte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/79\"\u003est0012/ruby-lsp-rspec#79\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add capybara keyword support by \u003ca href=\"https://github.com/nathanscottdaniels\"\u003e\u003ccode\u003e@​nathanscottdaniels\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/88\"\u003est0012/ruby-lsp-rspec#88\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix formatter crash on backtrace lines without file:line format by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/100\"\u003est0012/ruby-lsp-rspec#100\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠 Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies and regenerate RBI 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/st0012/ruby-lsp-rspec/pull/99\"\u003est0012/ruby-lsp-rspec#99\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd trusted publisher workflow for automated gem releases by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/pull/102\"\u003est0012/ruby-lsp-rspec#102\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/compare/v0.1.28...v0.1.29\"\u003ehttps://github.com/st0012/ruby-lsp-rspec/compare/v0.1.28...v0.1.29\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/f2413f47e524babc9fc3ae797e8ba4af2ce75eef\"\u003e\u003ccode\u003ef2413f4\u003c/code\u003e\u003c/a\u003e Bump version to v0.1.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/e3f8339d999a48ebd29c602b595ba1ec82cfd78e\"\u003e\u003ccode\u003ee3f8339\u003c/code\u003e\u003c/a\u003e Add trusted publisher workflow for automated gem releases (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/102\"\u003e#102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/d69e7b238b5ea4d6b4059c07103e26a614238c6b\"\u003e\u003ccode\u003ed69e7b2\u003c/code\u003e\u003c/a\u003e Fix formatter crash on backtrace lines without file:line format (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/100\"\u003e#100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/1328283d162313e2b2e02c721978c7796acee9c5\"\u003e\u003ccode\u003e1328283\u003c/code\u003e\u003c/a\u003e Update dependencies and regenerate RBI files (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/99\"\u003e#99\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/e7ff414c88a2851211273e112ce7eb6e20722f8f\"\u003e\u003ccode\u003ee7ff414\u003c/code\u003e\u003c/a\u003e feat: add capybara keyword support (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/88\"\u003e#88\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/commit/5814750b98923214e652c92284056687469eb34c\"\u003e\u003ccode\u003e5814750\u003c/code\u003e\u003c/a\u003e Handle starting tests for the whole project (\u003ca href=\"https://redirect.github.com/st0012/ruby-lsp-rspec/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/st0012/ruby-lsp-rspec/compare/v0.1.28...v0.1.29\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `standard` from 1.53.0 to 1.54.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/standardrb/standard/blob/main/CHANGELOG.md\"\u003estandard's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.54.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdates rubocop to \u003ca href=\"https://github.com/rubocop/rubocop/releases/tag/v1.84.2\"\u003e1.84.0\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/standardrb/standard/commit/d8f9776ecf5ec7d83232352b0f8ce535ccb71c66\"\u003e\u003ccode\u003ed8f9776\u003c/code\u003e\u003c/a\u003e 🍩 v1.54.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/11f7712871bdfbf524ccf5fffb0d28f7ea24dc71\"\u003e\u003ccode\u003e11f7712\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/standardrb/standard/issues/789\"\u003e#789\u003c/a\u003e from standardrb/updates-2026-02-12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/1e14e5c18ed7f72aa5df0b83b3fd63341f763872\"\u003e\u003ccode\u003e1e14e5c\u003c/code\u003e\u003c/a\u003e Adds the changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/5a7c15f565a404e4dcf96bf6743e001123755b84\"\u003e\u003ccode\u003e5a7c15f\u003c/code\u003e\u003c/a\u003e Updates Rubocop to v1.84\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/abc2bec303c28a8286c721678a69e3681ee5240e\"\u003e\u003ccode\u003eabc2bec\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/standardrb/standard/issues/784\"\u003e#784\u003c/a\u003e from standardrb/depbot-cooldown\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/c80e6b7b6cac1b3e7defc5270a382ccc7b552bd4\"\u003e\u003ccode\u003ec80e6b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/standardrb/standard/issues/783\"\u003e#783\u003c/a\u003e from standardrb/dependabot/github_actions/step-securi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/a98a527bfa034044b61d9eeb91180d994b3493b4\"\u003e\u003ccode\u003ea98a527\u003c/code\u003e\u003c/a\u003e Decrease depbot frequency for GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/standardrb/standard/commit/779ac18b31f82ac24c89c42fc26b5dd9e13a8e97\"\u003e\u003ccode\u003e779ac18\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.14.0 to 2.14.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/standardrb/standard/compare/v1.53.0...v1.54.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `webmock` from 3.26.1 to 3.26.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/releases\"\u003ewebmock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.26.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support to parse http/2 request on curb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCurbAdapter alias \u003ccode\u003ecode\u003c/code\u003e from \u003ccode\u003eresponse_code\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd HTTP.rb v6.0.0 compatibility to http_rb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/sferik\"\u003eErik Berlin\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bblimke/webmock/blob/master/CHANGELOG.md\"\u003ewebmock's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.26.2\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support to parse http/2 request on curb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCurbAdapter alias \u003ccode\u003ecode\u003c/code\u003e from \u003ccode\u003eresponse_code\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/criess\"\u003eChristoph Rieß\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd HTTP.rb v6.0.0 compatibility to http_rb adapter\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/sferik\"\u003eErik Berlin\u003c/a\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/bblimke/webmock/commit/ce700d989d015ace217f0c2720910abff25a029d\"\u003e\u003ccode\u003ece700d9\u003c/code\u003e\u003c/a\u003e Version 3.26.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/ddf8a439d943452f315c27ee105d31afd9bb2553\"\u003e\u003ccode\u003eddf8a43\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1121\"\u003e#1121\u003c/a\u003e from criess/cr/curb-http-2-parse-headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/035e9fcc66ab99efb063e54266fc27d2ea156d97\"\u003e\u003ccode\u003e035e9fc\u003c/code\u003e\u003c/a\u003e [fix] add support to parse http/2 request on curb adapter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/29d3532b1bd60c595a753606c9e88da19090e672\"\u003e\u003ccode\u003e29d3532\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1123\"\u003e#1123\u003c/a\u003e from sferik/support-http_rb-6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/801ad3b5936c0ca77fbda4157ba92ad470925b0c\"\u003e\u003ccode\u003e801ad3b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1122\"\u003e#1122\u003c/a\u003e from criess/cr/curb-easy-code-as-alias\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/a4de224de9e38f68196fd9a60b4716b8ab8fc3f4\"\u003e\u003ccode\u003ea4de224\u003c/code\u003e\u003c/a\u003e Add HTTP.rb 6.0.0 compatibility to http_rb adapter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/c6cf2f153f568f7d8fb595eb007b839de1d4c6d2\"\u003e\u003ccode\u003ec6cf2f1\u003c/code\u003e\u003c/a\u003e [fix] CurbAdapter alias \u003ccode\u003ecode\u003c/code\u003e from \u003ccode\u003eresponse_code\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/596d8a8949c2e01113217263333a08507d2881eb\"\u003e\u003ccode\u003e596d8a8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1113\"\u003e#1113\u003c/a\u003e from koic/ci_against_ruby_4_0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/86977f8fa543a58ae831d2387b3c516e23d9624b\"\u003e\u003ccode\u003e86977f8\u003c/code\u003e\u003c/a\u003e Run CI against Ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bblimke/webmock/commit/cc11b7873fab478c9722461eecb17a5957de5d28\"\u003e\u003ccode\u003ecc11b78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bblimke/webmock/issues/1114\"\u003e#1114\u003c/a\u003e from koic/remove_pride_option_from_minitest_rake_task\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bblimke/webmock/compare/v3.26.1...v3.26.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `agent-harness` from 0.3.0 to 0.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/viamin/agent-harness/releases\"\u003eagent-harness's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eagent-harness: v0.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.4.0...agent-harness/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eparse token usage from Claude CLI JSON output (\u003ca href=\"https://github.com/viamin/agent-harness/commit/a0e6d7cafb5f5b74806a44d3d4f487e87fdfa05e\"\u003ea0e6d7c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/19\"\u003e#19\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport authentication error detection and token refresh for CLI agents (\u003ca href=\"https://github.com/viamin/agent-harness/commit/83f2c71c555483322c8a19d8a6ae195bd7720296\"\u003e83f2c71\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/20\"\u003e#20\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd file lock to refresh_claude_auth to prevent lost-update races (\u003ca href=\"https://github.com/viamin/agent-harness/commit/eb00e1935dcd574f952ea37c263e9794de23f9a7\"\u003eeb00e19\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/6d1106743c79f5ae4c3a98f078e4c4d4c93db465\"\u003e6d11067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for resolve_provider and conductor docs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/5975b3b8e087f681b57cc9935499e0691f865360\"\u003e5975b3b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for auth error handling (\u003ca href=\"https://github.com/viamin/agent-harness/commit/70d7ea7eb4d13fd80d7c2724af57053a6dea9972\"\u003e70d7ea7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/b098682448104a833a3e50c89531bcb838910b52\"\u003eb098682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for token handling in authentication (\u003ca href=\"https://github.com/viamin/agent-harness/commit/03398b9be4b43c12c31694d8c7864dfde891da29\"\u003e03398b9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress remaining PR review feedback for auth behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/893b549bb080345bb1c0dfe718bb1840ff2a1f5e\"\u003e893b549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealign ErrorTaxonomy auth_expired action with Conductor behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/76976375708f56c4fbcaf635bebafd8da9f35de1\"\u003e7697637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclear expiry metadata on token refresh and align docs with API (\u003ca href=\"https://github.com/viamin/agent-harness/commit/9bba06e00c7b65722afef4b4492ec777e65578e0\"\u003e9bba06e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect method for checking module inclusion in provider validation (\u003ca href=\"https://github.com/viamin/agent-harness/commit/4cf57fcebed92261e065aa6cf526f1f3851f57e7\"\u003e4cf57fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edifferentiate credential read errors instead of returning generic nil (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cada3c5404144b4eaf122d5dbe5f023eb30e5d95\"\u003ecada3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eguard against non-Hash JSON in refresh_claude_auth credentials (\u003ca href=\"https://github.com/viamin/agent-harness/commit/74e1301ec7835f929bd43dc15f4a87e62bcf7237\"\u003e74e1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove accidentally committed bundler binstubs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/8207ef0df67add5d1db8f3af9ef495c0b832d0b6\"\u003e8207ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate tokens are non-empty strings in authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/55a12e45616839079afe509e079c771a1a71a1a5\"\u003e55a12e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eagent-harness: v0.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.3.0...agent-harness/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-02-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/85826e5ece76d9f073329902769093f846cfd8b7\"\u003e85826e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cb18f2e2f1d16ef52ea2ce54c51970d73fcae6c8\"\u003ecb18f2e\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/viamin/agent-harness/blob/main/CHANGELOG.md\"\u003eagent-harness's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.4.0...agent-harness/v0.5.0\"\u003e0.5.0\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eparse token usage from Claude CLI JSON output (\u003ca href=\"https://github.com/viamin/agent-harness/commit/a0e6d7cafb5f5b74806a44d3d4f487e87fdfa05e\"\u003ea0e6d7c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/19\"\u003e#19\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003esupport authentication error detection and token refresh for CLI agents (\u003ca href=\"https://github.com/viamin/agent-harness/commit/83f2c71c555483322c8a19d8a6ae195bd7720296\"\u003e83f2c71\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/20\"\u003e#20\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd file lock to refresh_claude_auth to prevent lost-update races (\u003ca href=\"https://github.com/viamin/agent-harness/commit/eb00e1935dcd574f952ea37c263e9794de23f9a7\"\u003eeb00e19\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/6d1106743c79f5ae4c3a98f078e4c4d4c93db465\"\u003e6d11067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress code review feedback for resolve_provider and conductor docs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/5975b3b8e087f681b57cc9935499e0691f865360\"\u003e5975b3b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for auth error handling (\u003ca href=\"https://github.com/viamin/agent-harness/commit/70d7ea7eb4d13fd80d7c2724af57053a6dea9972\"\u003e70d7ea7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/b098682448104a833a3e50c89531bcb838910b52\"\u003eb098682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress PR review feedback for token handling in authentication (\u003ca href=\"https://github.com/viamin/agent-harness/commit/03398b9be4b43c12c31694d8c7864dfde891da29\"\u003e03398b9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaddress remaining PR review feedback for auth behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/893b549bb080345bb1c0dfe718bb1840ff2a1f5e\"\u003e893b549\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealign ErrorTaxonomy auth_expired action with Conductor behavior (\u003ca href=\"https://github.com/viamin/agent-harness/commit/76976375708f56c4fbcaf635bebafd8da9f35de1\"\u003e7697637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclear expiry metadata on token refresh and align docs with API (\u003ca href=\"https://github.com/viamin/agent-harness/commit/9bba06e00c7b65722afef4b4492ec777e65578e0\"\u003e9bba06e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecorrect method for checking module inclusion in provider validation (\u003ca href=\"https://github.com/viamin/agent-harness/commit/4cf57fcebed92261e065aa6cf526f1f3851f57e7\"\u003e4cf57fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edifferentiate credential read errors instead of returning generic nil (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cada3c5404144b4eaf122d5dbe5f023eb30e5d95\"\u003ecada3c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eguard against non-Hash JSON in refresh_claude_auth credentials (\u003ca href=\"https://github.com/viamin/agent-harness/commit/74e1301ec7835f929bd43dc15f4a87e62bcf7237\"\u003e74e1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove accidentally committed bundler binstubs (\u003ca href=\"https://github.com/viamin/agent-harness/commit/8207ef0df67add5d1db8f3af9ef495c0b832d0b6\"\u003e8207ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003evalidate tokens are non-empty strings in authentication module (\u003ca href=\"https://github.com/viamin/agent-harness/commit/55a12e45616839079afe509e079c771a1a71a1a5\"\u003e55a12e4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.3.0...agent-harness/v0.4.0\"\u003e0.4.0\u003c/a\u003e (2026-02-16)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/85826e5ece76d9f073329902769093f846cfd8b7\"\u003e85826e5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd DockerCommandExecutor for container-based command execution (\u003ca href=\"https://github.com/viamin/agent-harness/commit/cb18f2e2f1d16ef52ea2ce54c51970d73fcae6c8\"\u003ecb18f2e\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/viamin/agent-harness/commit/0592569a107ea83ed61901ebb8dfeddc6b9897a7\"\u003e\u003ccode\u003e0592569\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/18\"\u003e#18\u003c/a\u003e from viamin/release-please--branches--main--components...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/b9af417b9116c3ebf42b7e239c9dff2c3ae4a631\"\u003e\u003ccode\u003eb9af417\u003c/code\u003e\u003c/a\u003e chore(main): release agent-harness 0.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/c8ac633d697fcd03fec3394b4a65e8bccd2013e7\"\u003e\u003ccode\u003ec8ac633\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/viamin/agent-harness/issues/22\"\u003e#22\u003c/a\u003e from viamin/paid/20-support-authentication-error-detec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/cada3c5404144b4eaf122d5dbe5f023eb30e5d95\"\u003e\u003ccode\u003ecada3c5\u003c/code\u003e\u003c/a\u003e fix: differentiate credential read errors instead of returning generic nil\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/76976375708f56c4fbcaf635bebafd8da9f35de1\"\u003e\u003ccode\u003e7697637\u003c/code\u003e\u003c/a\u003e fix: align ErrorTaxonomy auth_expired action with Conductor behavior\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/5975b3b8e087f681b57cc9935499e0691f865360\"\u003e\u003ccode\u003e5975b3b\u003c/code\u003e\u003c/a\u003e fix: address code review feedback for resolve_provider and conductor docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/9bba06e00c7b65722afef4b4492ec777e65578e0\"\u003e\u003ccode\u003e9bba06e\u003c/code\u003e\u003c/a\u003e fix: clear expiry metadata on token refresh and align docs with API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/70d7ea7eb4d13fd80d7c2724af57053a6dea9972\"\u003e\u003ccode\u003e70d7ea7\u003c/code\u003e\u003c/a\u003e fix: address PR review feedback for auth error handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/eb00e1935dcd574f952ea37c263e9794de23f9a7\"\u003e\u003ccode\u003eeb00e19\u003c/code\u003e\u003c/a\u003e fix: add file lock to refresh_claude_auth to prevent lost-update races\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/viamin/agent-harness/commit/8207ef0df67add5d1db8f3af9ef495c0b832d0b6\"\u003e\u003ccode\u003e8207ef0\u003c/code\u003e\u003c/a\u003e fix: remove accidentally committed bundler binstubs\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/viamin/agent-harness/compare/agent-harness/v0.3.0...agent-harness/v0.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby_llm` from 1.11.0 to 1.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crmne/ruby_llm/releases\"\u003eruby_llm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0\u003c/h2\u003e\n\u003ch1\u003eRubyLLM 1.14: Tailwind Chat UI + Rails AI Generators + Config DSL 🎨🤖🛠️\u003c/h1\u003e\n\u003cp\u003eThis release overhauls the Rails experience.\u003c/p\u003e\n\u003cp\u003eRubyLLM \u003ccode\u003e1.14\u003c/code\u003e ships a complete Tailwind-powered chat UI, new Rails generators for agents/tools/schemas, a simplified configuration DSL where providers self-register their options, and a batch of bug fixes across logging, agents, associations, and dependency constraints.\u003c/p\u003e\n\u003ch2\u003e🎨 Tailwind Chat UI\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/65422091-9338-47da-a303-92b918bd1345\"\u003ehttps://github.com/user-attachments/assets/65422091-9338-47da-a303-92b918bd1345\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThe Rails chat UI generator now produces a polished Tailwind-based interface out of the box. Run the generator and get a working chat app with message streaming, model selection, tool call display, and proper empty states — all styled with Tailwind CSS.\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ebin/rails generate ruby_llm:chat_ui\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe generated views use role-aware partials (\u003ccode\u003e_user\u003c/code\u003e, \u003ccode\u003e_assistant\u003c/code\u003e, \u003ccode\u003e_system\u003c/code\u003e, \u003ccode\u003e_tool\u003c/code\u003e, \u003ccode\u003e_error\u003c/code\u003e) for clean message rendering, Turbo Stream templates for real-time updates, and \u003ccode\u003ebroadcasts_to\u003c/code\u003e for simplified broadcasting.\u003c/p\u003e\n\u003ch2\u003e🏗️ Rails AI Generators\u003c/h2\u003e\n\u003cp\u003eNew generators scaffold agents, tools, and schemas with a single command:\u003c/p\u003e\n\u003cpre lang=\"bash\"\u003e\u003ccode\u003ebin/rails generate ruby_llm:agent SupportAgent\r\nbin/rails generate ruby_llm:tool WeatherTool\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe install generator now creates conventional directories (\u003ccode\u003eapp/agents\u003c/code\u003e, \u003ccode\u003eapp/tools\u003c/code\u003e, \u003ccode\u003eapp/schemas\u003c/code\u003e, \u003ccode\u003eapp/prompts\u003c/code\u003e) with \u003ccode\u003e.gitkeep\u003c/code\u003e files. Tool partials follow a new naming convention for tool-specific rendering, and the generator produces matching specs.\u003c/p\u003e\n\u003ch2\u003e⚙️ Simplified Configuration DSL\u003c/h2\u003e\n\u003cp\u003eProvider configuration options are now self-registered by each provider using a declarative \u003ccode\u003econfiguration_options\u003c/code\u003e method, replacing the monolithic \u003ccode\u003eattr_accessor\u003c/code\u003e list in \u003ccode\u003eConfiguration\u003c/code\u003e. When a provider is registered, its options become \u003ccode\u003eattr_accessor\u003c/code\u003es on \u003ccode\u003eRubyLLM::Configuration\u003c/code\u003e automatically.\u003c/p\u003e\n\u003cp\u003eEach provider declares its own option keys following the \u003ccode\u003e\u0026lt;provider_slug\u0026gt;_\u0026lt;option\u0026gt;\u003c/code\u003e convention:\u003c/p\u003e\n\u003cpre lang=\"ruby\"\u003e\u003ccode\u003e# In the provider class:\r\nclass DeepSeek \u0026lt; RubyLLM::Provider\r\n  class \u0026lt;\u0026lt; self\r\n    def configuration_options\r\n      %i[deepseek_api_key deepseek_api_base]\r\n    end\r\n  end\r\nend\r\n\u003ch1\u003eThese become available in configuration automatically:\u003c/h1\u003e\n\u003cp\u003eRubyLLM.configure do |config|\nconfig.deepseek_api_key  = ENV[\u0026quot;DEEPSEEK_API_KEY\u0026quot;]\nconfig.deepseek_api_base = ENV[\u0026quot;DEEPSEEK_API_BASE\u0026quot;]\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/4034c05af47563276883106f17d2845015e1c018\"\u003e\u003ccode\u003e4034c05\u003c/code\u003e\u003c/a\u003e Fixing CI error for Azure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/ce76568fdfed225da602559a3cc6a7dd35580fa1\"\u003e\u003ccode\u003ece76568\u003c/code\u003e\u003c/a\u003e Bump to 1.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/9c84bfe6fdf0b746e4df23f52cf7334c268904e6\"\u003e\u003ccode\u003e9c84bfe\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/crmne/ruby_llm/issues/682\"\u003e#682\u003c/a\u003e gemspec Faraday constraint regression\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/3091d510e4c231de57c6af57cc57e924c683d9a0\"\u003e\u003ccode\u003e3091d51\u003c/code\u003e\u003c/a\u003e Harden brittle parallel-tool assertion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/81793c3d346b7e41e3729f7b1322d116a5298ecc\"\u003e\u003ccode\u003e81793c3\u003c/code\u003e\u003c/a\u003e Fallback to plain rspec for JRuby in rspec-queue wrapper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/e8d9db30e02ef07dc404e526daeaac3825a1554e\"\u003e\u003ccode\u003ee8d9db3\u003c/code\u003e\u003c/a\u003e Fix RuboCop offenses in custom rspec-queue runner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/33da5f8e5f2e1b13fc1037a3d31bf18c9c0a0122\"\u003e\u003ccode\u003e33da5f8\u003c/code\u003e\u003c/a\u003e Use custom test-queue runner for DB isolation and SimpleCov\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/1107f7d5eae6eecc250f424e68ebe54866acbdee\"\u003e\u003ccode\u003e1107f7d\u003c/code\u003e\u003c/a\u003e Normalize appraisal gemfile ordering for test-queue\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/a87c01a099c22cedb2b002a1af3e18cab78a9e54\"\u003e\u003ccode\u003ea87c01a\u003c/code\u003e\u003c/a\u003e Switch test runs to test-queue and keep rspec for coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crmne/ruby_llm/commit/404a270ce13ad43b4019376b5e2ec81395be37fa\"\u003e\u003ccode\u003e404a270\u003c/code\u003e\u003c/a\u003e Fix agent not propagating assume_model_exists from class config (\u003ca href=\"https://redirect.github.com/crmne/ruby_llm/issues/680\"\u003e#680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crmne/ruby_llm/compare/1.11.0...1.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruby_tree_sitter` from 2.0.0 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/releases\"\u003eruby_tree_sitter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003ch2\u003eAPI Changes for tree-sitter 0.26 compatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated to tree-sitter v0.26.5\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking Changes in tree-sitter 0.26.x API\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ets_language_version\u003c/code\u003e renamed to \u003ccode\u003ets_language_abi_version\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTSInputEncodingUTF16\u003c/code\u003e split into \u003ccode\u003eTSInputEncodingUTF16LE\u003c/code\u003e and \u003ccode\u003eTSInputEncodingUTF16BE\u003c/code\u003e\n(now using UTF16LE as default for backward compatibility)\u003c/li\u003e\n\u003cli\u003eCancellation flag API (\u003ccode\u003ets_parser_cancellation_flag\u003c/code\u003e, \u003ccode\u003ets_parser_set_cancellation_flag\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#cancellation_flag\u003c/code\u003e and \u003ccode\u003eParser#cancellation_flag=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTimeout API (\u003ccode\u003ets_parser_timeout_micros\u003c/code\u003e, \u003ccode\u003ets_parser_set_timeout_micros\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#timeout_micros\u003c/code\u003e and \u003ccode\u003eParser#timeout_micros=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eTSParseOptions\u003c/code\u003e with \u003ccode\u003eprogress_callback\u003c/code\u003e for cancellation/timeout functionality in 0.26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_LANGUAGE_VERSION\u003c/code\u003e is now 15 (was 14)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION\u003c/code\u003e is now 13 (was 6)\u003c/li\u003e\n\u003cli\u003eGrammar files (.so) must be built against tree-sitter 0.26+ to work with this version\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed duplicate method definition in QueryCursor (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/99\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a use-after-free in the logger (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/100\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a potential buffer overflow when loading parsers.\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/Faveod/ruby-tree-sitter/blob/master/News.md\"\u003eruby_tree_sitter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev2.1.0 (19-02-2026)\u003c/h1\u003e\n\u003ch2\u003eAPI Changes for tree-sitter 0.26 compatibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated to tree-sitter v0.26.5\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking Changes in tree-sitter 0.26.x API\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ets_language_version\u003c/code\u003e renamed to \u003ccode\u003ets_language_abi_version\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTSInputEncodingUTF16\u003c/code\u003e split into \u003ccode\u003eTSInputEncodingUTF16LE\u003c/code\u003e and \u003ccode\u003eTSInputEncodingUTF16BE\u003c/code\u003e\n(now using UTF16LE as default for backward compatibility)\u003c/li\u003e\n\u003cli\u003eCancellation flag API (\u003ccode\u003ets_parser_cancellation_flag\u003c/code\u003e, \u003ccode\u003ets_parser_set_cancellation_flag\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#cancellation_flag\u003c/code\u003e and \u003ccode\u003eParser#cancellation_flag=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eTimeout API (\u003ccode\u003ets_parser_timeout_micros\u003c/code\u003e, \u003ccode\u003ets_parser_set_timeout_micros\u003c/code\u003e) removed\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eParser#timeout_micros\u003c/code\u003e and \u003ccode\u003eParser#timeout_micros=\u003c/code\u003e are now no-ops for backward compatibility\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eTSParseOptions\u003c/code\u003e with \u003ccode\u003eprogress_callback\u003c/code\u003e for cancellation/timeout functionality in 0.26+\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_LANGUAGE_VERSION\u003c/code\u003e is now 15 (was 14)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION\u003c/code\u003e is now 13 (was 6)\u003c/li\u003e\n\u003cli\u003eGrammar files (.so) must be built against tree-sitter 0.26+ to work with this version\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed duplicate method definition in QueryCursor (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/99\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a use-after-free in the logger (\u003ca href=\"https://redirect.github.com/Faveod/ruby-tree-sitter/pull/100\"\u003e#100\u003c/a\u003e by \u003ca href=\"https://github.com/yancya\"\u003eyancya\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a potential buffer overflow when loading parsers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/7905b77b83779f9bcfb9d28522beb8b08347929e\"\u003e\u003ccode\u003e7905b77\u003c/code\u003e\u003c/a\u003e bump: tree-sitter: v0.26.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/549dc10ea5387b63361f6c660bae233f1208ff20\"\u003e\u003ccode\u003e549dc10\u003c/code\u003e\u003c/a\u003e bump: v2.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/5698383c1e77acea64cf67408afc1914b09009d1\"\u003e\u003ccode\u003e5698383\u003c/code\u003e\u003c/a\u003e language: avoid a potential buffer overflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/bfd19f804e648150ea2694be176298c321a5173d\"\u003e\u003ccode\u003ebfd19f8\u003c/code\u003e\u003c/a\u003e fix: mark Logger in Parser GC to prevent use-after-free\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/2cc3388f7d6f8f3f0b49fda5b07c5a45c142a8f1\"\u003e\u003ccode\u003e2cc3388\u003c/code\u003e\u003c/a\u003e fix: Remove duplicate method definitions in QueryCursor to eliminate warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/3c3ef848a19c77782bbab96ca9a862cff5f3d854\"\u003e\u003ccode\u003e3c3ef84\u003c/code\u003e\u003c/a\u003e bump: ci: add ruby 4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/125204a0f0b8540f4541da60fcdc32136d02320f\"\u003e\u003ccode\u003e125204a\u003c/code\u003e\u003c/a\u003e bump: ruby: minimum required is 3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/20012f4ef5071eb6e5e6c83750164ac0b1528da2\"\u003e\u003ccode\u003e20012f4\u003c/code\u003e\u003c/a\u003e ext: language: \u003ccode\u003elang\u003c/code\u003e is now a \u003ccode\u003econst TSLanguage *\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/24bccc25ff3599cc728e48381011d61cdde87b50\"\u003e\u003ccode\u003e24bccc2\u003c/code\u003e\u003c/a\u003e refactor: rubofix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/commit/5442b3f55e1ec4ec266ad8c0f0c73dfae4a1ac8d\"\u003e\u003ccode\u003e5442b3f\u003c/code\u003e\u003c/a\u003e refactor: justfile\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Faveod/ruby-tree-sitter/compare/v2.0.0...v2.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zeitwerk` from 2.7.4 to 2.7.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.5 (19 Feb 2026)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf available, tree traversal is based on \u003ccode\u003eDir.scan\u003c/code\u003e, which saves syscalls in common platforms. This method is a recent addition to Ruby contributed by \u003ca href=\"https://github.com/byroot\"\u003e\u003ccode\u003e@​byroot\u003c/code\u003e\u003c/a\u003e, so you need to be on Ruby \u003ccode\u003emaster\u003c/code\u003e to leverage this for now.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eTree traversal is a tad more performant, regardless of the previous point. Gains are marginal when eager loading, because it is dominated by loading the code, but \u003ccode\u003eZeitwerk::Loader#all_expected_cpaths\u003c/code\u003e was 14% faster in some benchmarks, for example.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cem\u003eREADME.md\u003c/em\u003e documents \u003ca href=\"https://github.com/fxn/zeitwerk?tab=readme-ov-file#autoloaded-constants\"\u003ehow to collect autoloaded constants\u003c/a\u003e using an \u003ccode\u003eon_load\u003c/code\u003e callback.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eInternal maintenance.\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/fxn/zeitwerk/commit/adfeec494ae4a08a8c19ea7e600dd54b4be53293\"\u003e\u003ccode\u003eadfeec4\u003c/code\u003e\u003c/a\u003e Ready for 2.7.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/a22d742a8ea6a8fe688da60b18f33b794e53d989\"\u003e\u003ccode\u003ea22d742\u003c/code\u003e\u003c/a\u003e Use the now yielded cwd in a few tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/5df497f97671dcc7924c2c24e1b245de1b2d7a6e\"\u003e\u003ccode\u003e5df497f\u003c/code\u003e\u003c/a\u003e Adds unit tests for Zeitwerk::Loader::FileSystem\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/0a7021a492b7f57c5b382b13f6034834b169529e\"\u003e\u003ccode\u003e0a7021a\u003c/code\u003e\u003c/a\u003e Let with_(files|setup) yield the cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/976b8f113b25bf93e3b3250baa39ba9ab47a6231\"\u003e\u003ccode\u003e976b8f1\u003c/code\u003e\u003c/a\u003e Update code comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/8398da896de628ba89b3f80eb815bf9b1227ed39\"\u003e\u003ccode\u003e8398da8\u003c/code\u003e\u003c/a\u003e Let the log method take a block\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/812d0eee5559736c9f3bcd2166c833bbb5f78491\"\u003e\u003ccode\u003e812d0ee\u003c/code\u003e\u003c/a\u003e Use Dir.scan if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/f845a27db608282272c2de287f86aeb477c7a87f\"\u003e\u003ccode\u003ef845a27\u003c/code\u003e\u003c/a\u003e Delete PoC file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/112cfdf4be72c25891205f84a94178d224f37550\"\u003e\u003ccode\u003e112cfdf\u003c/code\u003e\u003c/a\u003e directory -\u0026gt; dir for consistency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fxn/zeitwerk/commit/064b76cbc454eee442ddc51efeb8199c34b73e8c\"\u003e\u003ccode\u003e064b76c\u003c/code\u003e\u003c/a\u003e Add a section about predicates to PROJECT_RULES.md\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fxn/zeitwerk/compare/v2.7.4...v2.7.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlite3` from 2.9.0 to 2.9.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/releases\"\u003esqlite3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSHA256 Checksums\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003eeeb86db55645b85327ba75129e3614658d974bf4da8fdc87018a0d42c59f6e42  sqlite3-2.9.2-aarch64-linux-gnu.gem\r\n4feff91fb8c2b13688da34b5627c9d1ed9cedb3ee87a7114ec82209147f07a6d  sqlite3-2.9.2-aarch64-linux-musl.gem\r\n1ee2eb06b5301aaf5ce343a6e88d99ac932d95202d7b350f0e7b6d8d588580d7  sqlite3-2.9.2-arm-linux-gnu.gem\r\n8ca0de6aceede968de0394e22e95d549834c4d8e318f69a92a52f049878a0057  sqlite3-2.9.2-arm-linux-musl.gem\r\nd15bd9609a05f9d54930babe039585efc8cadd57517c15b64ec7dfa75158a5e9  sqlite3-2.9.2-arm64-darwin.gem\r\nb1b10d8c45a495b1e5b6338f7baa11297522bb9809b01e7e575090edd685953e  sqlite3-2.9.2-x64-mingw-ucrt.gem\r\n066bc904522f8a7072236a81237c03a4a1dfe070a25107e392de03d1e4ad0e6d  sqlite3-2.9.2-x86-linux-gnu.gem\r\n6503c76278f5e8629b12b6518ff43a9a4f6d9381de73f0b086c9fa1226db5ede  sqlite3-2.9.2-x86-linux-musl.gem\r\ned691b5021674d72582d03c5a38e89634b961902735fb6225273892805421d13  sqlite3-2.9.2-x86_64-darwin.gem\r\ndce83ffcb7e72f9f7aeb6e5404f15d277a45332fe18ccce8a8b3ed51e8d23aee  sqlite3-2.9.2-x86_64-linux-gnu.gem\r\ne8dd906a613f13b60f6d47ae9dda376384d9de1ab3f7e3f2fdf2fd18a871a2d7  sqlite3-2.9.2-x86_64-linux-musl.gem\r\n86814150714b6b06a328d083f46408e7a4a83b5f0a9673ed934ee3a1cb7a73b1  sqlite3-2.9.2.gem\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eSHA256 checksums:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e85535ddf1c37f116ebebe0330bbbffc2ccb55d09f69717a565f8cfb35142f136  sqlite3-2.9.1-aarch64-linux-gnu.gem\r\n646a28a655fc0298ff4266de0af89b66477a2d9ad65cebb5abad190bb64ed092  sqlite3-2.9.1-aarch64-linux-musl.gem\r\ned25696b0fb4694ca4f47287eaaa9e0d46a0a0c92990c453743d6ab6b4f51fa0  sqlite3-2.9.1-arm-linux-gnu.gem\r\n82ca90eefe50935c827ab0c8dffff5219f57b5da0c92039e3e27f7dbccc9e992  sqlite3-2.9.1-arm-linux-musl.gem\r\ne0cc5521aa03361e2da56635f3745242510b0b98c4608a3824b7e31ab2e7ffb9  sqlite3-2.9.1-arm64-darwin.gem\r\nffae7b4c712f4e29cef2a95125bb2144624e4c675fb5c19175231a20f128dfd1  sqlite3-2.9.1-x64-mingw-ucrt.gem\r\nc3517e6f0df1f3a99fb73c5b0e6f02fc93b3b6b2ca0de72cb6d3956153310603  sqlite3-2.9.1-x86-linux-gnu.gem\r\n2216ab52dbff54bbc5ea87789e02c60f1c749f7ce052cef36da542ecc9aadc25  sqlite3-2.9.1-x86-linux-musl.gem\r\n5ce2c05eed8dc7c6debd560e2c5960e36521652b9a43bc3e42bc431db600c36f  sqlite3-2.9.1-x86_64-darwin.gem\r\n1cbb644204ed143e5c96f6d59b5c571ba6f18b18a9dc5aa11c101187ff227afd  sqlite3-2.9.1-x86_64-linux-gnu.gem\r\nbbd50dd1caca78b6c069701d9009ef714461495985d4c374ea1a1def061ba67c  sqlite3-2.9.1-x86_64-linux-musl.gem\r\nf6ddc2ec850434ac14498944da9d768fe154dbcd4163fc9e173a524d95e2f887  sqlite3-2.9.1.gem\r\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/sqlite3-ruby/blob/main/CHANGELOG.md\"\u003esqlite3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.9.2 / 2026-03-15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_3.html\"\u003ev3.51.3\u003c/a\u003e (from v3.51.2). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/688\"\u003e#688\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.9.1 / 2026-02-28\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVendored sqlite is updated to \u003ca href=\"https://www.sqlite.org/releaselog/3_51_2.html\"\u003ev3.51.2\u003c/a\u003e (from v3.51.1). \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/683\"\u003e#683\u003c/a\u003e \u003ca href=\"https://github.com/flavorjones\"\u003e\u003ccode\u003e@​flavorjones\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/efc56aa1e407a7aa6a96caefecd2c900e1f39223\"\u003e\u003ccode\u003eefc56aa\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8635618dca7edca3a804175610d0a81381e3554b\"\u003e\u003ccode\u003e8635618\u003c/code\u003e\u003c/a\u003e doc: new automated release process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/7aa67360cbfc088d551a8b6d422dfb118b496614\"\u003e\u003ccode\u003e7aa6736\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/690\"\u003e#690\u003c/a\u003e from sparklemotion/publish-pipeline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/05c922b4aec8ff147954dea7d8fc662cc3d8ae22\"\u003e\u003ccode\u003e05c922b\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2.rc2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/21a4782af583fe7d6d1dcc1f7a9e558c882a4f94\"\u003e\u003ccode\u003e21a4782\u003c/code\u003e\u003c/a\u003e dev: update test-gem-build to support a release flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/a57b16884836cebaf9981887cb77e3ac8242d7ca\"\u003e\u003ccode\u003ea57b168\u003c/code\u003e\u003c/a\u003e ci: add release pipeline for publishing gems to RubyGems\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/e1c65b19bfc8cc46e2ca3b8288339aac51955293\"\u003e\u003ccode\u003ee1c65b1\u003c/code\u003e\u003c/a\u003e version bump to v2.9.2.rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/63f6cbd4e919b43147de28c1fb67923fe68345f3\"\u003e\u003ccode\u003e63f6cbd\u003c/code\u003e\u003c/a\u003e ci: skeleton for release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/8c3c0a051390401c564a0da7e12e1cfa940d01af\"\u003e\u003ccode\u003e8c3c0a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/sparklemotion/sqlite3-ruby/issues/689\"\u003e#689\u003c/a\u003e from sparklemotion/harden-github-actions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/commit/9ebda352723ac2db6929cabe66f1e148948a704d\"\u003e\u003ccode\u003e9ebda35\u003c/code\u003e\u003c/a\u003e ci: address zizmor artipacked and template-injection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sparklemotion/sqlite3-ruby/compare/v2.9.0...v2.9.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `temporalio` from 1.2.0 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/temporalio/sdk-ruby/releases\"\u003etemporalio'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\u003ch3\u003eNexus Caller Support (experimental)\u003c/h3\u003e\n\u003cp\u003eAdd support for calling Nexus operations and fetching results. This does not include implementing Nexus handlers.\u003c/p\u003e\n\u003cp\u003e⚠️ This is experimental and subject to change.\u003c/p\u003e\n\u003ch3\u003eClient Environment Configuration General Availability\u003c/h3\u003e\n\u003cp\u003eThe client environment configuration feature is no longer experimental and is now generally available.\u003c/p\u003e\n\u003ch3\u003eDeployment-Based Worker Versioning General Availability\u003c/h3\u003e\n\u003cp\u003eThe deployment-based worker versioning feature is no longer experimental and is now generally available. The older style worker deployment APIs have been marked as obsolete.\u003c/p\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed memory leak where a heap allocated function pointer would not always be freed.\u003c/li\u003e\n\u003cli\u003eAdded backoff on ResourceExhausted errors in Poller autoscaler to prevent hot retry loop\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSpecific Changes\u003c/h2\u003e\n\u003cp\u003e2026-02-05 - 7d14a90 - remove experimental warning for new worker versioning APIs and envconfig, add deprecation warnings for old worker versioning APIs (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/383\"\u003e#383\u003c/a\u003e)\n2026-02-09 - ec8412c - Fix leak issues (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/385\"\u003e#385\u003c/a\u003e)\n2026-02-17 - 4c357f7 - Nexus caller-only support (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/381\"\u003e#381\u003c/a\u003e)\n2026-02-17 - bdd0604 - Add backoff on ResourceExhausted errors in Poller autoscaler (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/387\"\u003e#387\u003c/a\u003e)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/c40a65892e12d9e3b0113acf6ba22fc4c576b4ef\"\u003e\u003ccode\u003ec40a658\u003c/code\u003e\u003c/a\u003e Make search attribute type more lenient when parsing (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/391\"\u003e#391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/568d01d857634052270ea6bad7587f67b4fa1476\"\u003e\u003ccode\u003e568d01d\u003c/code\u003e\u003c/a\u003e chore: add GHA workaround for bundle install (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/392\"\u003e#392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/c156d5aebf4b6080f2c31587c350b1cc304d9e7b\"\u003e\u003ccode\u003ec156d5a\u003c/code\u003e\u003c/a\u003e chore: bump version to 1.3.0 (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/388\"\u003e#388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/28d185f25e98bf5d24e5c5b3813c8bf6fc789522\"\u003e\u003ccode\u003e28d185f\u003c/code\u003e\u003c/a\u003e Bump bytes from 1.11.0 to 1.11.1 in /temporalio (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/382\"\u003e#382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/bdd06046d342088b7e6c666f3dd75b9259a186a5\"\u003e\u003ccode\u003ebdd0604\u003c/code\u003e\u003c/a\u003e Add backoff on ResourceExhausted errors in Poller autoscaler (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/387\"\u003e#387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/4c357f79ef841421654a0fd7b0125fccbcf895fe\"\u003e\u003ccode\u003e4c357f7\u003c/code\u003e\u003c/a\u003e Nexus caller-only support (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/381\"\u003e#381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/ec8412ce568f318a7f7141d00c68f9b38a142f80\"\u003e\u003ccode\u003eec8412c\u003c/code\u003e\u003c/a\u003e Fix leak issues (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/385\"\u003e#385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/7d14a90dca8b3c149e5bee4fe1dbf6a378f6b94a\"\u003e\u003ccode\u003e7d14a90\u003c/code\u003e\u003c/a\u003e remove experimental warning for new worker versioning APIs and envconfig, add...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/temporalio/sdk-ruby/commit/025308de4fac43fc9b15fb2fe5c0355d9fd1b864\"\u003e\u003ccode\u003e025308d\u003c/code\u003e\u003c/a\u003e chore: pin rubocop (\u003ca href=\"https://redirect.github.com/temporalio/sdk-ruby/issues/384\"\u003e#384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/temporalio/sdk-ruby/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/viamin/aidp/pull/490","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/viamin%2Faidp/issues/490","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/490/packages"}},{"old_version":"0.26.4","new_version":"0.26.8","update_type":"patch","path":null,"pr_created_at":"2026-03-17T00:10:31.000Z","version_change":"0.26.4 → 0.26.8","issue":{"uuid":"4085444487","node_id":"PR_kwDOQ9PGIc7LEncF","number":17,"state":"closed","title":"Bump ruby-lsp from 0.26.4 to 0.26.8","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-31T00:11:12.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-17T00:10:31.000Z","updated_at":"2026-03-31T00:11:13.000Z","time_to_close":1209641,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.4","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.4 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.7\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSkip disable line action for self-resolving cops (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3945\"\u003eShopify/ruby-lsp#3945\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix test runner silent failure on dual-stack IPv4/IPv6 systems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3953\"\u003eShopify/ruby-lsp#3953\u003c/a\u003e) by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Bundler::GemNotFound error introduced in 0.26.5 (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3961\"\u003eShopify/ruby-lsp#3961\u003c/a\u003e) by \u003ca href=\"https://github.com/jesse-shopify\"\u003e\u003ccode\u003e@​jesse-shopify\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix incompatible addon version activation when Bundler.setup fails after retry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3963\"\u003eShopify/ruby-lsp#3963\u003c/a\u003e) by \u003ca href=\"https://github.com/KaanOzkan\"\u003e\u003ccode\u003e@​KaanOzkan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid failing if \u003ccode\u003eneeds_update\u003c/code\u003e file is deleted by concurrent process (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3964\"\u003eShopify/ruby-lsp#3964\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport IPv4 and IPv6 for LSP reporter connection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3965\"\u003eShopify/ruby-lsp#3965\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDecouple test reporter IO from test execution (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3962\"\u003eShopify/ruby-lsp#3962\u003c/a\u003e) by \u003ca href=\"https://github.com/alexcrocha\"\u003e\u003ccode\u003e@​alexcrocha\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.6\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix infinite loop when collecting transitive excluded gems (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3913\"\u003eShopify/ruby-lsp#3913\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't include test files in the gem package (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3916\"\u003eShopify/ruby-lsp#3916\u003c/a\u003e) by \u003ca href=\"https://github.com/rafaelfranca\"\u003e\u003ccode\u003e@​rafaelfranca\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rbs to composed bundle update commands (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3938\"\u003eShopify/ruby-lsp#3938\u003c/a\u003e) by \u003ca href=\"https://github.com/modille\"\u003e\u003ccode\u003e@​modille\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExtract GEMS_TO_UPDATE constant and fix missing prism in command path (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3939\"\u003eShopify/ruby-lsp#3939\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[DOC] Add security documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3928\"\u003eShopify/ruby-lsp#3928\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003ev0.26.5\u003c/h1\u003e\n\u003ch2\u003e✨ Enhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSync \u003ccode\u003eURI::Source\u003c/code\u003e with Tapioca (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3891\"\u003eShopify/ruby-lsp#3891\u003c/a\u003e) by \u003ca href=\"https://github.com/amomchilov\"\u003e\u003ccode\u003e@​amomchilov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;toggle block style\u0026quot; refactor when there's no selection (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3818\"\u003eShopify/ruby-lsp#3818\u003c/a\u003e) by \u003ca href=\"https://github.com/rolandcrosby-columntax\"\u003e\u003ccode\u003e@​rolandcrosby-columntax\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement goto definition for send and public send (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3882\"\u003eShopify/ruby-lsp#3882\u003c/a\u003e) by \u003ca href=\"https://github.com/sucicfilip\"\u003e\u003ccode\u003e@​sucicfilip\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExclude magic comments from documentation (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3844\"\u003eShopify/ruby-lsp#3844\u003c/a\u003e) by \u003ca href=\"https://github.com/thomasmarshall\"\u003e\u003ccode\u003e@​thomasmarshall\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.4...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.4\u0026new-version=0.26.8)](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/atharva-anchanto/lite_wms/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/atharva-anchanto%2Flite_wms/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"0.26.7","new_version":"0.26.8","update_type":"patch","path":null,"pr_created_at":"2026-03-12T07:13:07.000Z","version_change":"0.26.7 → 0.26.8","issue":{"uuid":"4062692178","node_id":"PR_kwDOFNmnQc7J71X7","number":3136,"state":"open","title":"Bump ruby-lsp from 0.26.7 to 0.26.8","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-03-12T07:13:07.000Z","updated_at":"2026-03-14T05:10:11.685Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.8)](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/aldwin7894/project-cyan/pull/3136","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldwin7894%2Fproject-cyan/issues/3136","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3136/packages"}},{"old_version":"0.26.7","new_version":"0.26.8","update_type":"patch","path":null,"pr_created_at":"2026-03-12T06:03:36.000Z","version_change":"0.26.7 → 0.26.8","issue":{"uuid":"4062413963","node_id":"PR_kwDOAbAFe87J67Jk","number":44047,"state":"open","title":"Build(deps-dev): Bump ruby-lsp from 0.26.7 to 0.26.8","user":"dependabot[bot]","labels":["in-progress","needs-rebase","dependencies","ruby"],"assignees":["dependabot[bot]"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-12T06:03:36.000Z","updated_at":"2026-03-12T06:05:31.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Build(deps-dev): Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.8)](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/home-assistant/home-assistant.io/pull/44047","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/home-assistant%2Fhome-assistant.io/issues/44047","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/44047/packages"}},{"old_version":"0.26.7","new_version":"0.26.8","update_type":"patch","path":null,"pr_created_at":"2026-03-12T05:38:31.000Z","version_change":"0.26.7 → 0.26.8","issue":{"uuid":"4062304083","node_id":"PR_kwDOQsoqx87J6jv9","number":108,"state":"open","title":"Bump ruby-lsp from 0.26.7 to 0.26.8","user":"dependabot[bot]","labels":["dependencies","ruby"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-12T05:38:31.000Z","updated_at":"2026-03-12T05:39:32.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"ruby-lsp","old_version":"0.26.7","new_version":"0.26.8","repository_url":"https://github.com/Shopify/ruby-lsp"}],"path":null,"ecosystem":"rubygems"},"body":"Bumps [ruby-lsp](https://github.com/Shopify/ruby-lsp) from 0.26.7 to 0.26.8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Shopify/ruby-lsp/releases\"\u003eruby-lsp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev0.26.8\u003c/h1\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix send_log_message ignoring type parameter (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3969\"\u003eShopify/ruby-lsp#3969\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly reset state after leaving a regex capture (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3970\"\u003eShopify/ruby-lsp#3970\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClean up cancelled requests after processing them (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3971\"\u003eShopify/ruby-lsp#3971\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply lower bound \u003ccode\u003eruby-lsp\u003c/code\u003e version constraint in composed bundle (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3985\"\u003eShopify/ruby-lsp#3985\u003c/a\u003e) by \u003ca href=\"https://github.com/st0012\"\u003e\u003ccode\u003e@​st0012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3986\"\u003eShopify/ruby-lsp#3986\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3987\"\u003eShopify/ruby-lsp#3987\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Other Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart accepting --beta flag to install beta server version (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/pull/3976\"\u003eShopify/ruby-lsp#3976\u003c/a\u003e) by \u003ca href=\"https://github.com/vinistock\"\u003e\u003ccode\u003e@​vinistock\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/Shopify/ruby-lsp/commit/177fb2ebd372fae4dd2601ef98e8a99a4664860d\"\u003e\u003ccode\u003e177fb2e\u003c/code\u003e\u003c/a\u003e Bump version to v0.26.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/4d49bc3e3b50e5b2289739027fd4879ced8d26be\"\u003e\u003ccode\u003e4d49bc3\u003c/code\u003e\u003c/a\u003e Ensure bundle is re-composed when CLI arguments change (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ad931b90cbdc032bd60731c2a4ddba1308c39a91\"\u003e\u003ccode\u003ead931b9\u003c/code\u003e\u003c/a\u003e Suppress version manager environment errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4003\"\u003e#4003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/a2a7d90b7f63121c3fa996798656357eee539b20\"\u003e\u003ccode\u003ea2a7d90\u003c/code\u003e\u003c/a\u003e Ensure the original CLI arguments are used when updating (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3986\"\u003e#3986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/e93f0438ef6b1f9cc8510cebbdbaf9b5c21d0d84\"\u003e\u003ccode\u003ee93f043\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3999\"\u003e#3999\u003c/a\u003e from Shopify/dependabot/github_actions/actions/setup...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/c188dc3d03dc5c48fe24a923ece28a0547bfc732\"\u003e\u003ccode\u003ec188dc3\u003c/code\u003e\u003c/a\u003e Suppress missing Ruby version errors from extension telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/46e55e4d8d2e4e1d10f96fbd420578429760c62d\"\u003e\u003ccode\u003e46e55e4\u003c/code\u003e\u003c/a\u003e Suppress Bundler::InstallError from telemetry (\u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3994\"\u003e#3994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/619f1cf65bf1af6e1bd6d7dba3af719ae05c35cc\"\u003e\u003ccode\u003e619f1cf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4001\"\u003e#4001\u003c/a\u003e from Shopify/dependabot/npm_and_yarn/vscode/minor-an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/cab4e72548fa5c0f8d1e2ee26b4159ab2aff1f7c\"\u003e\u003ccode\u003ecab4e72\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/4000\"\u003e#4000\u003c/a\u003e from Shopify/dependabot/github_actions/ruby/setup-ru...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Shopify/ruby-lsp/commit/ae999a4da25a6a819b592614a01861e82b45f6d2\"\u003e\u003ccode\u003eae999a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Shopify/ruby-lsp/issues/3998\"\u003e#3998\u003c/a\u003e from Shopify/dependabot/submodules/test/fixtures/pri...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Shopify/ruby-lsp/compare/v0.26.7...v0.26.8\"\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=ruby-lsp\u0026package-manager=bundler\u0026previous-version=0.26.7\u0026new-version=0.26.8)](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/aldwin7894/project-airona/pull/108","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldwin7894%2Fproject-airona/issues/108","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/108/packages"}}]}