{"id":2469,"name":"zip","ecosystem":"cargo","repository_url":"https://github.com/zip-rs/zip2","issues_count":2678,"created_at":"2025-06-06T15:02:04.875Z","updated_at":"2025-06-06T15:02:04.875Z","purl":"pkg:cargo/zip","metadata":{"id":4305578,"name":"zip","ecosystem":"cargo","description":"Library to support the reading and writing of zip files.\n","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/zip-rs/zip2","keywords_array":["compression","zip","archive"],"namespace":null,"versions_count":101,"first_release_published_at":"2014-11-21T08:59:07.210Z","latest_release_published_at":"2025-05-21T21:46:27.413Z","latest_release_number":"4.0.0","last_synced_at":"2025-06-05T23:30:24.543Z","created_at":"2022-04-13T09:31:24.269Z","updated_at":"2025-06-05T23:30:27.251Z","registry_url":"https://crates.io/crates/zip/","install_command":"cargo install zip","documentation_url":"https://docs.rs/zip/","metadata":{"categories":[]},"repo_metadata":{"id":154404455,"uuid":"631680896","full_name":"zip-rs/zip2","owner":"zip-rs","description":"Zip implementation in Rust","archived":false,"fork":false,"pushed_at":"2025-06-05T23:02:12.000Z","size":169304,"stargazers_count":201,"open_issues_count":67,"forks_count":69,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-05T23:25:39.172Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"zip-rs/zip-old","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zip-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-23T19:26:38.000Z","updated_at":"2025-06-05T23:01:22.000Z","dependencies_parsed_at":"2025-05-14T21:10:45.626Z","dependency_job_id":"52fb1b12-725c-454d-be2f-319045a712fb","html_url":"https://github.com/zip-rs/zip2","commit_stats":{"total_commits":1826,"total_committers":108,"mean_commits":16.90740740740741,"dds":0.6801752464403067,"last_synced_commit":"06632924e81805742605cda313863b04dfaa1879"},"previous_names":["pr0methean/zip","zip-rs/zip2","pr0methean/zip-next"],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zip-rs","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258312891,"owners_count":22682005,"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":"zip-rs","name":"zip-rs","uuid":"71210431","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/71210431?v=4","repositories_count":1,"last_synced_at":"2024-03-25T18:48:44.189Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/zip-rs","funding_links":[],"total_stars":737,"followers":2,"following":0,"created_at":"2022-11-02T16:36:59.167Z","updated_at":"2024-03-25T18:48:44.386Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zip-rs","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zip-rs/repositories"},"tags":[{"name":"v4.0.0","sha":"b87a2482e2d2a05b96e77eba93a504d13a6348e0","kind":"tag","published_at":"2025-05-21T21:46:31.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v4.0.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v4.0.0/manifests"},{"name":"v3.0.0","sha":"8c01cb7fec6c4f696f8306f1942044dcf1a8f5b2","kind":"tag","published_at":"2025-05-15T02:33:29.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v3.0.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v3.0.0/manifests"},{"name":"v2.6.1","sha":"1d42731efcad72e9f653a5ca46ed8306f4a3ca72","kind":"tag","published_at":"2025-04-04T21:03:40.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.6.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.6.1/manifests"},{"name":"v2.6.0","sha":"081443d9858ace59607bba1a68939c6745bad676","kind":"tag","published_at":"2025-04-03T16:54:29.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.6.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.6.0/manifests"},{"name":"v2.5.0","sha":"77cde6a909feac44c75603811d78049a832a6fa2","kind":"tag","published_at":"2025-03-23T17:27:17.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.5.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.5.0/manifests"},{"name":"v2.4.2","sha":"2283915c1e03477ce7cf9e6a0cfb92408c6108ec","kind":"tag","published_at":"2025-03-19T02:26:46.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.4.2","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.4.2/manifests"},{"name":"v2.4.1","sha":"cfdec05c27d38deffb65abe888b87e4780ede2ca","kind":"tag","published_at":"2025-03-17T20:31:02.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.4.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.4.1/manifests"},{"name":"v2.4.0","sha":"a0625454eb071372934cf32ef414836e3e99c60a","kind":"tag","published_at":"2025-03-17T17:38:21.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.4.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.4.0/manifests"},{"name":"v2.3.0","sha":"6eab5f5cc64cf051f2712428745ca2fea088097c","kind":"tag","published_at":"2025-03-16T17:32:00.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.3.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.3.0/manifests"},{"name":"v2.2.3","sha":"57cb3a8eefce0d697986f96e2a2f45c55063d1ae","kind":"tag","published_at":"2025-02-26T05:25:28.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.2.3","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.3/manifests"},{"name":"v2.2.2","sha":"e074e09b83df2406ebc904200c1a4dc94345d7db","kind":"tag","published_at":"2024-12-16T17:24:29.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.2.2","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.2/manifests"},{"name":"v2.2.1","sha":"2c03abc965de39b9f4d6fa204df64c1fbf349c7a","kind":"tag","published_at":"2024-11-21T14:56:55.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.2.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.1/manifests"},{"name":"v2.2.0","sha":"6d3945645b7f3805068dd8c50d4fe56a66651069","kind":"tag","published_at":"2024-08-20T01:41:00.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.2.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.2.0/manifests"},{"name":"v2.1.6","sha":"beab418695d3ccfbaa6b2f8dc8c5f9d846125ed9","kind":"tag","published_at":"2024-07-31T10:57:09.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.1.6","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.6/manifests"},{"name":"v2.1.5","sha":"8fb107ad5ebb2b8e9cbefb7e91a2ebcab80d6988","kind":"tag","published_at":"2024-07-20T21:16:18.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.1.5","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.5/manifests"},{"name":"v2.1.4","sha":"9caa3b678fd1ca252928dfdfcebcb642e09d7af0","kind":"tag","published_at":"2024-07-19T09:50:26.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.1.4","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.4/manifests"},{"name":"v2.1.3","sha":"b5eb25d52fb457bcfe1bd535a5b5cda91825ae32","kind":"tag","published_at":"2024-06-05T06:48:59.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.1.3","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.3/manifests"},{"name":"v2.1.2","sha":"999d41d438b9a68f4b0c3994e95261eddebb29ad","kind":"tag","published_at":"2024-06-02T19:26:01.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.1.2","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.2/manifests"},{"name":"v2.1.1","sha":"0b5fe20e10e6b1d444c7c4637c223b2b70faa9ea","kind":"tag","published_at":"2024-05-28T12:17:05.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.1.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"6d4e460556bbeed91d9f5b7535031b1454998794","kind":"tag","published_at":"2024-05-25T12:13:51.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.1.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"94765a4a3444cea8958b434a702a21e998dee70a","kind":"tag","published_at":"2024-05-24T06:14:53.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v2.0.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v2.0.0/manifests"},{"name":"v1.3.1","sha":"6c60c67d92c31dc610bed5cc4626e9c20efdc61b","kind":"tag","published_at":"2024-05-22T03:45:40.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.3.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"102e31113daa5e9553db14c985b1db3f519174a8","kind":"tag","published_at":"2024-05-17T10:40:21.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.3.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.3.0/manifests"},{"name":"v1.2.3","sha":"adb40b83d2b7efd9dc4bd2ea06fda14637dcdde4","kind":"tag","published_at":"2024-05-11T06:30:02.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.2.3","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.3/manifests"},{"name":"v1.2.2","sha":"af776797f0efc326cb40528db0808f19e7972cbf","kind":"tag","published_at":"2024-05-09T18:07:02.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.2.2","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"b725303cce4fda36737da2c93d2228581bfd7632","kind":"tag","published_at":"2024-05-07T02:24:53.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.2.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"026b26bcdb0667551fdab66ae988b561e7328971","kind":"tag","published_at":"2024-05-06T14:30:53.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.2.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.2.0/manifests"},{"name":"v1.1.4","sha":"a9482ea8ca3d49bed824a38433160af1aae6aa44","kind":"tag","published_at":"2024-05-04T16:24:20.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.1.4","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.1.4/manifests"},{"name":"v1.1.3","sha":"2156d8833416e94cb2746d0dce3ed0252d0b12b1","kind":"tag","published_at":"2024-04-30T18:16:44.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.1.3","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.1.3/manifests"},{"name":"v1.1.2","sha":"12b988b824fcfec786e3d4e4be8cb99ab8815718","kind":"tag","published_at":"2024-04-28T17:51:46.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v1.1.2","html_url":"https://github.com/zip-rs/zip2/releases/tag/v1.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v1.1.2/manifests"},{"name":"1.1.1","sha":"1184ba4491229da87d88e70d575dfabf593432d0","kind":"commit","published_at":"2024-04-22T03:29:19.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/1.1.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.1.1/manifests"},{"name":"1.1.0","sha":"48977fea683a40dd01539b9b838fbfc570e093d5","kind":"commit","published_at":"2024-04-18T02:19:54.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/1.1.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.1.0/manifests"},{"name":"1.0.1","sha":"4a5d7d49aac92094f1ec39e57b7e52984d71d0f4","kind":"commit","published_at":"2024-04-10T20:07:47.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/1.0.1","html_url":"https://github.com/zip-rs/zip2/releases/tag/1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.0.1/manifests"},{"name":"1.0.0","sha":"2acc0d04dc13c7ba7b1f87c0d0c1eebc8ffc0698","kind":"commit","published_at":"2024-04-08T19:31:11.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/1.0.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/1.0.0/manifests"},{"name":"0.11.0","sha":"c4492b9635d89a047ced710e4ef37c741601b6a8","kind":"commit","published_at":"2024-03-16T22:24:15.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/0.11.0","html_url":"https://github.com/zip-rs/zip2/releases/tag/0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/0.11.0/manifests"},{"name":"0.10.3","sha":"8b6baf9fdda65f489630b13cc8355ee49f4b3255","kind":"commit","published_at":"2023-06-18T00:58:56.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/0.10.3","html_url":"https://github.com/zip-rs/zip2/releases/tag/0.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/0.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/0.10.3/manifests"},{"name":"v0.6.4","sha":"f7dcc666b75256e766295589a5ac5dc5a9617c39","kind":"tag","published_at":"2023-02-01T14:11:33.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v0.6.4","html_url":"https://github.com/zip-rs/zip2/releases/tag/v0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.6.4/manifests"},{"name":"v0.5.12","sha":"88e6f87884a906ee63962d3a2cf87f890878a46d","kind":"commit","published_at":"2021-04-16T15:59:20.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v0.5.12","html_url":"https://github.com/zip-rs/zip2/releases/tag/v0.5.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.12/manifests"},{"name":"v0.5.11","sha":"08adaa5fbfcc4aae019a15068f3ae56a3fe7a877","kind":"commit","published_at":"2021-03-01T12:06:16.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v0.5.11","html_url":"https://github.com/zip-rs/zip2/releases/tag/v0.5.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.11/manifests"},{"name":"v0.5.9","sha":"229fe94bdfa35ed20d16e7548441c0009060a8cd","kind":"commit","published_at":"2020-12-06T23:37:48.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v0.5.9","html_url":"https://github.com/zip-rs/zip2/releases/tag/v0.5.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.9/manifests"},{"name":"v0.5.8","sha":"9884c68315cd985b81f35a4dea44143c80a40e5b","kind":"commit","published_at":"2020-09-10T10:44:48.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v0.5.8","html_url":"https://github.com/zip-rs/zip2/releases/tag/v0.5.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.8/manifests"},{"name":"v0.5.7","sha":"d4b93b68950623ae2e8de0dea2818e6b855e0e27","kind":"tag","published_at":"2020-09-04T18:14:54.000Z","download_url":"https://codeload.github.com/zip-rs/zip2/tar.gz/v0.5.7","html_url":"https://github.com/zip-rs/zip2/releases/tag/v0.5.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zip-rs%2Fzip2/tags/v0.5.7/manifests"}]},"repo_metadata_updated_at":"2025-06-05T23:30:27.251Z","dependent_packages_count":969,"downloads":74094521,"downloads_period":"total","dependent_repos_count":10046,"rankings":{"downloads":0.33075452936239835,"dependent_repos_count":0.2884405170772301,"dependent_packages_count":0.0796913898037335,"stargazers_count":6.268820920047674,"forks_count":3.6241951522246594,"docker_downloads_count":1.871689810080608,"average":2.077265386432717},"purl":"pkg:cargo/zip","advisories":[{"uuid":"GSA_kwCzR0hTQS05NHZoLWdwaHYtOHBtOM4ABFj9","url":"https://github.com/advisories/GHSA-94vh-gphv-8pm8","title":"zip Incorrectly Canonicalizes Paths during Archive Extraction Leading to Arbitrary File Write","description":"### Summary\n\n\nIn the archive extraction routine of affected versions of the `zip` crate, symbolic links earlier in the archive are allowed to be used for later files in the archive without validation of the final canonicalized path, allowing maliciously crafted archives to overwrite arbitrary files in the file system when extracted.\n\n### Details\n\nThis is a variant of the [zip-slip](https://github.com/snyk/zip-slip-vulnerability) vulnerability, we can make the extraction logic step outside of the target directory by creating a symlink to the parent directory and then extracting further files through that symlink.\n\nThe documentation of the [`::zip::read::ZipArchive::extract`] method is in my opinion implying this should not happen:\n\n\u003e \"Paths are sanitized with ZipFile::enclosed_name.\" ...\n\u003e [`::zip::read::FileOptions::enclosed_name`] ... is resistant to path-based exploits ... can’t resolve to a path outside the current directory.\n\n\nMost archive software either decline to extract symlinks that traverse out of the directory or defer creation of symlinks after all files have been created to prevent unexpected behavior when later entries depend on earlier symbolic link entries.\n\n### PoC\n\nhttps://gist.github.com/eternal-flame-AD/bf71ef4f6828e741eb12ce7fd47b7b85\n\n### Impact\n\nUsers who extract untrusted archive files using the following high-level API method may be affected and critical files on the system may be overwritten with arbitrary file permissions, which can potentially lead to code execution.\n\n- zip::unstable::stream::ZipStreamReader::extract\n- zip::read::ZipArchive::extract","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2025-03-17T21:26:32.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.3,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:H/SI:H/SA:H","references":["https://github.com/zip-rs/zip2/security/advisories/GHSA-94vh-gphv-8pm8","https://nvd.nist.gov/vuln/detail/CVE-2025-29787","https://github.com/zip-rs/zip2/commit/a2e062f37066c3b12860a32eb1cb44856cfb7afe","https://gist.github.com/eternal-flame-AD/bf71ef4f6828e741eb12ce7fd47b7b85","https://github.com/zip-rs/zip2/releases/tag/v2.3.0","https://github.com/advisories/GHSA-94vh-gphv-8pm8"],"source_kind":"github","identifiers":["GHSA-94vh-gphv-8pm8","CVE-2025-29787"],"repository_url":"https://github.com/zip-rs/zip2","blast_radius":29.21455016891177,"packages":[{"versions":[{"first_patched_version":"2.3.0","vulnerable_version_range":"\u003e= 1.3.0, \u003c 2.3.0"}],"ecosystem":"cargo","package_name":"zip"}],"created_at":"2025-03-17T22:07:27.189Z","updated_at":"2025-05-25T01:08:03.501Z","epss_percentage":0.00121,"epss_percentile":0.32572}],"docker_usage_url":"https://docker.ecosyste.ms/usage/cargo/zip","docker_dependents_count":169,"docker_downloads_count":25050799,"usage_url":"https://repos.ecosyste.ms/usage/cargo/zip","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/cargo/zip/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/zip/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/zip/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/zip/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages/zip/related_packages","maintainers":[{"uuid":"84480","login":"Plecra","name":null,"email":null,"url":"https://github.com/Plecra","packages_count":7,"html_url":"https://crates.io/users/Plecra","role":null,"created_at":"2022-11-08T03:56:16.731Z","updated_at":"2022-11-08T03:56:16.731Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers/Plecra/packages"},{"uuid":"209322","login":"Pr0methean","name":"Chris Hennick","email":null,"url":"https://github.com/Pr0methean","packages_count":3,"html_url":"https://crates.io/users/Pr0methean","role":null,"created_at":"2024-04-20T18:32:46.329Z","updated_at":"2024-04-20T18:32:46.329Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers/Pr0methean/packages"}],"registry":{"name":"crates.io","url":"https://crates.io","ecosystem":"cargo","default":true,"packages_count":192305,"maintainers_count":47545,"namespaces_count":0,"keywords_count":49253,"github":"rust-lang","metadata":{"funded_packages_count":18707},"icon_url":"https://github.com/rust-lang.png","created_at":"2022-04-04T15:19:22.689Z","updated_at":"2025-06-05T05:11:10.324Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/crates.io/namespaces"}},"unique_repositories_count":733,"unique_repositories_count_past_30_days":31,"recent_issues":[{"uuid":"5950719337","node_id":"PR_kwDOVRbLRc8AAAABJqYzgw","number":8,"state":"closed","title":"chore(deps): bump the cargo-dependencies group with 25 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-21T15:42:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-20T22:30:53.000Z","updated_at":"2026-10-21T15:42:24.000Z","time_to_close":61891,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"cargo-dependencies","update_count":25,"packages":[{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"proptest","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/proptest-rs/proptest"},{"name":"egui","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/emilk/egui"},{"name":"eframe","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/emilk/egui"},{"name":"egui_kittest","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/emilk/egui"},{"name":"rmcp","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/modelcontextprotocol/rust-sdk"},{"name":"tokio","old_version":"1.53.1","new_version":"1.53.3","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"base64","old_version":"0.22.1","new_version":"0.23.1","repository_url":"https://github.com/marshallpierce/rust-base64"},{"name":"schemars","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GREsau/schemars"},{"name":"symphonia","old_version":"0.5.5","new_version":"0.6.1","repository_url":"https://github.com/pdeljanov/Symphonia"},{"name":"rustls","old_version":"0.23.45","new_version":"0.23.46","repository_url":"https://github.com/rustls/rustls"},{"name":"pollster","old_version":"0.4.0","new_version":"1.0.1","repository_url":"https://github.com/zesterer/pollster"},{"name":"libloading","old_version":"0.8.9","new_version":"0.9.0","repository_url":"https://github.com/nagisa/rust_libloading"},{"name":"candle-core","old_version":"0.9.2","new_version":"0.11.0","repository_url":"https://github.com/huggingface/candle"},{"name":"candle-nn","old_version":"0.9.2","new_version":"0.11.0","repository_url":"https://github.com/huggingface/candle"},{"name":"sha2","old_version":"0.10.9","new_version":"0.11.1","repository_url":"https://github.com/RustCrypto/hashes"},{"name":"skrifa","old_version":"0.44.0","new_version":"0.47.0","repository_url":"https://github.com/googlefonts/fontations"},{"name":"harfrust","old_version":"0.12.0","new_version":"0.13.3","repository_url":"https://github.com/harfbuzz/harfrust"},{"name":"zip","old_version":"7.2.0","new_version":"8.6.0","repository_url":"https://github.com/zip-rs/zip2"},{"name":"cpal","old_version":"0.16.0","new_version":"0.18.2","repository_url":"https://github.com/RustAudio/cpal"},{"name":"arboard","old_version":"3.6.1","new_version":"3.7.0","repository_url":"https://github.com/1Password/arboard"},{"name":"muda","old_version":"0.21.0","new_version":"0.21.2","repository_url":"https://github.com/tauri-apps/muda"},{"name":"objc2","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/madsmtm/objc2"},{"name":"zbus","old_version":"5.19.0","new_version":"6.0.0","repository_url":"https://github.com/z-galaxy/zbus"},{"name":"winresource","old_version":"0.1.31","new_version":"0.1.34","repository_url":"https://github.com/BenjaminRi/winresource"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the cargo-dependencies group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [serde_json](https://github.com/serde-rs/json) | `1.0.151` | `1.0.154` |\n| [proptest](https://github.com/proptest-rs/proptest) | `1.11.0` | `1.12.0` |\n| [egui](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |\n| [eframe](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |\n| [egui_kittest](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |\n| [rmcp](https://github.com/modelcontextprotocol/rust-sdk) | `3.5.0` | `3.5.1` |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.3` |\n| [base64](https://github.com/marshallpierce/rust-base64) | `0.22.1` | `0.23.1` |\n| [schemars](https://github.com/GREsau/schemars) | `1.2.2` | `1.2.3` |\n| [symphonia](https://github.com/pdeljanov/Symphonia) | `0.5.5` | `0.6.1` |\n| [rustls](https://github.com/rustls/rustls) | `0.23.45` | `0.23.46` |\n| [pollster](https://github.com/zesterer/pollster) | `0.4.0` | `1.0.1` |\n| [libloading](https://github.com/nagisa/rust_libloading) | `0.8.9` | `0.9.0` |\n| [candle-core](https://github.com/huggingface/candle) | `0.9.2` | `0.11.0` |\n| [candle-nn](https://github.com/huggingface/candle) | `0.9.2` | `0.11.0` |\n| [sha2](https://github.com/RustCrypto/hashes) | `0.10.9` | `0.11.1` |\n| [skrifa](https://github.com/googlefonts/fontations) | `0.44.0` | `0.47.0` |\n| [harfrust](https://github.com/harfbuzz/harfrust) | `0.12.0` | `0.13.3` |\n| [zip](https://github.com/zip-rs/zip2) | `7.2.0` | `8.6.0` |\n| [cpal](https://github.com/RustAudio/cpal) | `0.16.0` | `0.18.2` |\n| [arboard](https://github.com/1Password/arboard) | `3.6.1` | `3.7.0` |\n| [muda](https://github.com/tauri-apps/muda) | `0.21.0` | `0.21.2` |\n| [objc2](https://github.com/madsmtm/objc2) | `0.6.4` | `0.6.5` |\n| [zbus](https://github.com/z-galaxy/zbus) | `5.19.0` | `6.0.0` |\n| [winresource](https://github.com/BenjaminRi/winresource) | `0.1.31` | `0.1.34` |\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `proptest` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/70cf37d46b7d83393b6ed94c611f8c52209f585d\"\u003e\u003ccode\u003e70cf37d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/675\"\u003e#675\u003c/a\u003e from proptest-rs/prep-1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/729e0ffa5d0d9574c2a0b49ab34c9d9b726dadc0\"\u003e\u003ccode\u003e729e0ff\u003c/code\u003e\u003c/a\u003e prepare next releases and fix panic handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/28c1fade6db79d3404949e59a931bd71dc25c9b6\"\u003e\u003ccode\u003e28c1fad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/664\"\u003e#664\u003c/a\u003e from Expyron/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/5ddd9a4b67e6983a1172b4d6b578b455a138b995\"\u003e\u003ccode\u003e5ddd9a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/668\"\u003e#668\u003c/a\u003e from toddATavail/fix-fork-persisted-failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/a6a9ac703f7091a653b03bba68279be5419d6c42\"\u003e\u003ccode\u003ea6a9ac7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/673\"\u003e#673\u003c/a\u003e from glaziermag/fix-book-deploy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/d57d88b6221f1313c4bb27f83941d4c53ca07c50\"\u003e\u003ccode\u003ed57d88b\u003c/code\u003e\u003c/a\u003e Replace \u003ccode\u003erand_chacha\u003c/code\u003e with \u003ccode\u003echacha20\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/9411213ce80add5bd59d92dfcf3b04cff17b6848\"\u003e\u003ccode\u003e9411213\u003c/code\u003e\u003c/a\u003e Deploy the book on pushes to main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/171974566466656059fbc16cb4c80a9f6f18aaf4\"\u003e\u003ccode\u003e1719745\u003c/code\u003e\u003c/a\u003e fix: terminate the fork replay when a persisted failure fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/0f55b7a3e8dd92406915ef7452cd8152cf185757\"\u003e\u003ccode\u003e0f55b7a\u003c/code\u003e\u003c/a\u003e test: a persisted failure in a forked test must be reported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/4b0594eb07c53695dc3c24d3fa06bdceb98540e9\"\u003e\u003ccode\u003e4b0594e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/669\"\u003e#669\u003c/a\u003e from proptest-rs/no-fail-fast\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/proptest-rs/proptest/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `egui` from 0.36.2 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/releases\"\u003eegui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eegui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.\u003c/p\u003e\n\u003cp\u003eTry it now: \u003ca href=\"https://www.egui.rs/\"\u003ehttps://www.egui.rs/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eegui development is sponsored by \u003ca href=\"https://www.rerun.io/\"\u003eRerun\u003c/a\u003e, a startup building an SDK for visualizing streams of multimodal data.\u003c/p\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\r\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\r\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\r\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\r\n    let mut style: ButtonStyle = DefaultStyle.style(args);\r\n    if args.has_class(\u0026quot;primary\u0026quot;) {\r\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\r\n    }\r\n    style\r\n  }\r\n}\r\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/blob/main/CHANGELOG.md\"\u003eegui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\n    let mut style: ButtonStyle = DefaultStyle.style(args);\n    if args.has_class(\u0026quot;primary\u0026quot;) {\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\n    }\n    style\n  }\n}\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;CheckboxStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n// ...\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eRecord videos of integration tests\u003c/h4\u003e\n\u003cp\u003eReading an integration test to understand what its doing can be challenging, so we've added a \u003ccode\u003eegui_kittest/video\u003c/code\u003e\nfeature that records a mp4 video from it, using \u003ccode\u003effmpeg\u003c/code\u003e! Enable it and pass \u003ccode\u003eEGUI_KITTEST_RECORD=1\u003c/code\u003e or \u003ccode\u003eEGUI_KITTEST_RECORD=open\u003c/code\u003e,\nand a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/841a328ba2dd8f6996beb7189ebb7fc00e668a2a\"\u003e\u003ccode\u003e841a328\u003c/code\u003e\u003c/a\u003e Release 0.37.0 - Color emojis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/22b31b7f1b59c6b35a3f6856d0ab09b9974e4e76\"\u003e\u003ccode\u003e22b31b7\u003c/code\u003e\u003c/a\u003e Fix typo in publish_crates.sh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/cb2c39cc15ee5678fe3410f770054c4de500f280\"\u003e\u003ccode\u003ecb2c39c\u003c/code\u003e\u003c/a\u003e Fix egui_demo_lib not compiling standalone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/9d317be94fc96df23bd5d9316f357efa2d3631d8\"\u003e\u003ccode\u003e9d317be\u003c/code\u003e\u003c/a\u003e Fix dep cycle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/3c6eb8261c3293ad9c7ea1ed58487e038860ebef\"\u003e\u003ccode\u003e3c6eb82\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/eee824c0ac91bee672971e2cbffb5fcf1af7dbfa\"\u003e\u003ccode\u003eeee824c\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eegui_system_fonts\u003c/code\u003e to \u003ccode\u003eegui_system_font_provider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8724\"\u003e#8724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/4821fc54ae083ac516e137a61e70550330e55169\"\u003e\u003ccode\u003e4821fc5\u003c/code\u003e\u003c/a\u003e Update rustls to 0.23.46 to fix cargo-deny advisories (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8721\"\u003e#8721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/2de51d29583114d9e1cb89a22006b996d72a664d\"\u003e\u003ccode\u003e2de51d2\u003c/code\u003e\u003c/a\u003e Fix README.md about Label builder (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8713\"\u003e#8713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/efcf49788df313b7ff701995f211aa543d2c9ac5\"\u003e\u003ccode\u003eefcf497\u003c/code\u003e\u003c/a\u003e Fix premultiplied alpha when copying images to the clipboard (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8715\"\u003e#8715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/43743e2c32a9145df9ebb99f306a88f3b5f20ba3\"\u003e\u003ccode\u003e43743e2\u003c/code\u003e\u003c/a\u003e Make Margin::sum const (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/emilk/egui/compare/0.36.2...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eframe` from 0.36.2 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/releases\"\u003eeframe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eegui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.\u003c/p\u003e\n\u003cp\u003eTry it now: \u003ca href=\"https://www.egui.rs/\"\u003ehttps://www.egui.rs/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eegui development is sponsored by \u003ca href=\"https://www.rerun.io/\"\u003eRerun\u003c/a\u003e, a startup building an SDK for visualizing streams of multimodal data.\u003c/p\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\r\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\r\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\r\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\r\n    let mut style: ButtonStyle = DefaultStyle.style(args);\r\n    if args.has_class(\u0026quot;primary\u0026quot;) {\r\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\r\n    }\r\n    style\r\n  }\r\n}\r\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/blob/main/CHANGELOG.md\"\u003eeframe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\n    let mut style: ButtonStyle = DefaultStyle.style(args);\n    if args.has_class(\u0026quot;primary\u0026quot;) {\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\n    }\n    style\n  }\n}\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;CheckboxStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n// ...\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eRecord videos of integration tests\u003c/h4\u003e\n\u003cp\u003eReading an integration test to understand what its doing can be challenging, so we've added a \u003ccode\u003eegui_kittest/video\u003c/code\u003e\nfeature that records a mp4 video from it, using \u003ccode\u003effmpeg\u003c/code\u003e! Enable it and pass \u003ccode\u003eEGUI_KITTEST_RECORD=1\u003c/code\u003e or \u003ccode\u003eEGUI_KITTEST_RECORD=open\u003c/code\u003e,\nand a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/cb2c39cc15ee5678fe3410f770054c4de500f280\"\u003e\u003ccode\u003ecb2c39c\u003c/code\u003e\u003c/a\u003e Fix egui_demo_lib not compiling standalone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/9d317be94fc96df23bd5d9316f357efa2d3631d8\"\u003e\u003ccode\u003e9d317be\u003c/code\u003e\u003c/a\u003e Fix dep cycle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/3c6eb8261c3293ad9c7ea1ed58487e038860ebef\"\u003e\u003ccode\u003e3c6eb82\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/eee824c0ac91bee672971e2cbffb5fcf1af7dbfa\"\u003e\u003ccode\u003eeee824c\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eegui_system_fonts\u003c/code\u003e to \u003ccode\u003eegui_system_font_provider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8724\"\u003e#8724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/efcf49788df313b7ff701995f211aa543d2c9ac5\"\u003e\u003ccode\u003eefcf497\u003c/code\u003e\u003c/a\u003e Fix premultiplied alpha when copying images to the clipboard (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8715\"\u003e#8715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/43743e2c32a9145df9ebb99f306a88f3b5f20ba3\"\u003e\u003ccode\u003e43743e2\u003c/code\u003e\u003c/a\u003e Make Margin::sum const (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/b25d2d45b7858cff7599d128915f4f2ba4db756d\"\u003e\u003ccode\u003eb25d2d4\u003c/code\u003e\u003c/a\u003e Improve window restoration logic (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8687\"\u003e#8687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/4166a93ffdad82b17ac8842220cd997683aa4a36\"\u003e\u003ccode\u003e4166a93\u003c/code\u003e\u003c/a\u003e Fix missing Chinese characters from system fonts on Windows (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8688\"\u003e#8688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/dfe33185e4934adc779159b4ae7d80b436f9982c\"\u003e\u003ccode\u003edfe3318\u003c/code\u003e\u003c/a\u003e Improve the fallback syntax highlighter in \u003ccode\u003eegui_extras\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8708\"\u003e#8708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/bb622334e2f58afd84f6bb61980824f480c7e3d4\"\u003e\u003ccode\u003ebb62233\u003c/code\u003e\u003c/a\u003e Fix not being able to click autocomplete items (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8690\"\u003e#8690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/emilk/egui/compare/0.36.2...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `egui_kittest` from 0.36.2 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/releases\"\u003eegui_kittest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eegui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.\u003c/p\u003e\n\u003cp\u003eTry it now: \u003ca href=\"https://www.egui.rs/\"\u003ehttps://www.egui.rs/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eegui development is sponsored by \u003ca href=\"https://www.rerun.io/\"\u003eRerun\u003c/a\u003e, a startup building an SDK for visualizing streams of multimodal data.\u003c/p\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\r\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\r\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\r\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\r\n    let mut style: ButtonStyle = DefaultStyle.style(args);\r\n    if args.has_class(\u0026quot;primary\u0026quot;) {\r\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\r\n    }\r\n    style\r\n  }\r\n}\r\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/blob/main/CHANGELOG.md\"\u003eegui_kittest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\n    let mut style: ButtonStyle = DefaultStyle.style(args);\n    if args.has_class(\u0026quot;primary\u0026quot;) {\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\n    }\n    style\n  }\n}\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;CheckboxStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n// ...\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eRecord videos of integration tests\u003c/h4\u003e\n\u003cp\u003eReading an integration test to understand what its doing can be challenging, so we've added a \u003ccode\u003eegui_kittest/video\u003c/code\u003e\nfeature that records a mp4 video from it, using \u003ccode\u003effmpeg\u003c/code\u003e! Enable it and pass \u003ccode\u003eEGUI_KITTEST_RECORD=1\u003c/code\u003e or \u003ccode\u003eEGUI_KITTEST_RECORD=open\u003c/code\u003e,\nand a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/841a328ba2dd8f6996beb7189ebb7fc00e668a2a\"\u003e\u003ccode\u003e841a328\u003c/code\u003e\u003c/a\u003e Release 0.37.0 - Color emojis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/22b31b7f1b59c6b35a3f6856d0ab09b9974e4e76\"\u003e\u003ccode\u003e22b31b7\u003c/code\u003e\u003c/a\u003e Fix typo in publish_crates.sh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/cb2c39cc15ee5678fe3410f770054c4de500f280\"\u003e\u003ccode\u003ecb2c39c\u003c/code\u003e\u003c/a\u003e Fix egui_demo_lib not compiling standalone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/9d317be94fc96df23bd5d9316f357efa2d3631d8\"\u003e\u003ccode\u003e9d317be\u003c/code\u003e\u003c/a\u003e Fix dep cycle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/3c6eb8261c3293ad9c7ea1ed58487e038860ebef\"\u003e\u003ccode\u003e3c6eb82\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/eee824c0ac91bee672971e2cbffb5fcf1af7dbfa\"\u003e\u003ccode\u003eeee824c\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eegui_system_fonts\u003c/code\u003e to \u003ccode\u003eegui_system_font_provider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8724\"\u003e#8724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/4821fc54ae083ac516e137a61e70550330e55169\"\u003e\u003ccode\u003e4821fc5\u003c/code\u003e\u003c/a\u003e Update rustls to 0.23.46 to fix cargo-deny advisories (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8721\"\u003e#8721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/2de51d29583114d9e1cb89a22006b996d72a664d\"\u003e\u003ccode\u003e2de51d2\u003c/code\u003e\u003c/a\u003e Fix README.md about Label builder (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8713\"\u003e#8713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/efcf49788df313b7ff701995f211aa543d2c9ac5\"\u003e\u003ccode\u003eefcf497\u003c/code\u003e\u003c/a\u003e Fix premultiplied alpha when copying images to the clipboard (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8715\"\u003e#8715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/43743e2c32a9145df9ebb99f306a88f3b5f20ba3\"\u003e\u003ccode\u003e43743e2\u003c/code\u003e\u003c/a\u003e Make Margin::sum const (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/emilk/egui/compare/0.36.2...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rmcp` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/releases\"\u003ermcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ermcp-macros-v3.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(macros)\u003c/em\u003e accept const paths and concat! in tool/prompt descriptions (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ermcp-v3.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(server)\u003c/em\u003e keep discover lifecycle bootstrap-neutral (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ekeep handler-generated invalid params errors in-band (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(model)\u003c/em\u003e export object! macro without macros feature (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1318\"\u003e#1318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(server)\u003c/em\u003e default missing cache hints for 2026-07-28 peers (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[rmcp] Notify credential stores when a refresh token is rejected (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1285\"\u003e#1285\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/modelcontextprotocol/rust-sdk/commit/79437f291b2c44053d00dcd5db969fd0cca7c887\"\u003e\u003ccode\u003e79437f2\u003c/code\u003e\u003c/a\u003e chore: release v3.5.1 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/4a226c7cb9816e9b82e7d638d76ec4d58ba342d1\"\u003e\u003ccode\u003e4a226c7\u003c/code\u003e\u003c/a\u003e fix(server): keep discover lifecycle bootstrap-neutral (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/931d47133adefd082599be494e3e77c1b9ade3e5\"\u003e\u003ccode\u003e931d471\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 6 updates (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/cf1e9aa74590f0556809099dc76465bd498fd916\"\u003e\u003ccode\u003ecf1e9aa\u003c/code\u003e\u003c/a\u003e fix: keep handler-generated invalid params errors in-band (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/deef9bb8952ffc042bc8cce7ce70b5ea51ec4adf\"\u003e\u003ccode\u003edeef9bb\u003c/code\u003e\u003c/a\u003e fix(model): export object! macro without macros feature (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1318\"\u003e#1318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/c0d667e003d7cce82c17bdb3cb776f1d6cda39eb\"\u003e\u003ccode\u003ec0d667e\u003c/code\u003e\u003c/a\u003e fix(server): default missing cache hints for 2026-07-28 peers (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/94c5c039a6a15ea8853c3d9a711d40d771709be9\"\u003e\u003ccode\u003e94c5c03\u003c/code\u003e\u003c/a\u003e fix: use MSRV-aware dependency resolver (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1316\"\u003e#1316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/8f9a28ecdb5f9237dd7927f915df82cd4d02d09b\"\u003e\u003ccode\u003e8f9a28e\u003c/code\u003e\u003c/a\u003e fix(examples): fix complex auth server discovery (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1309\"\u003e#1309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/ae2f9c9b45a2c98d24ee345406e79f507c9f9282\"\u003e\u003ccode\u003eae2f9c9\u003c/code\u003e\u003c/a\u003e [rmcp] Notify credential stores when a refresh token is rejected (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1285\"\u003e#1285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/bdd93dc6eb7060967b8054767d94106b922bbc35\"\u003e\u003ccode\u003ebdd93dc\u003c/code\u003e\u003c/a\u003e ci: reject multi-line codex auth secret (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/compare/rmcp-v3.5.0...rmcp-v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokio` from 1.53.1 to 1.53.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tokio-rs/tokio/releases\"\u003etokio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTokio v1.53.3\u003c/h2\u003e\n\u003ch1\u003e1.53.3 (October 13th, 2026)\u003c/h1\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: add \u003ccode\u003eAsyncFd::register\u003c/code\u003e and \u003ccode\u003eAsyncFd::register_with_interest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: deprecate \u003ccode\u003eAsyncFd::{new, with_interest, try_new, try_with_interest}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emacros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eruntime: fix paused time auto-advancing when I/O wakes a task on \u003ccode\u003ecurrent_thread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake waiters outside the lock when closing a semaphore (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix several flaky tests (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed (unstable)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ert: keep \u003ccode\u003eio_uring\u003c/code\u003e op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8185\"\u003etokio-rs/tokio#8185\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8196\"\u003etokio-rs/tokio#8196\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8427\"\u003etokio-rs/tokio#8427\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8518\"\u003etokio-rs/tokio#8518\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8529\"\u003etokio-rs/tokio#8529\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8587\"\u003etokio-rs/tokio#8587\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8595\"\u003etokio-rs/tokio#8595\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8609\"\u003etokio-rs/tokio#8609\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8618\"\u003etokio-rs/tokio#8618\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTokio v1.53.2\u003c/h2\u003e\n\u003ch1\u003e1.53.2 (October 3rd, 2026)\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eio: revert \u0026quot;always cleanup \u003ccode\u003eAsyncFd\u003c/code\u003e registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprocess: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix mpsc index wraparound in block reclamation (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: forget mpsc \u003ccode\u003ePermit\u003c/code\u003e before sending value (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: validate \u003ccode\u003eMAX_PERMITS\u003c/code\u003e in \u003ccode\u003eSemaphore::acquire\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake broadcast \u003ccode\u003eSender::closed\u003c/code\u003e outside mutex (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etask: drop replaced waker outside lock in \u003ccode\u003eJoinSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop timer lock before dropping waker in \u003ccode\u003eclear_entry\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: expire timers directly on shutdown without rotating wheel (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\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/tokio-rs/tokio/commit/a85c3f5baa298a6b554fd3700daf0342289881af\"\u003e\u003ccode\u003ea85c3f5\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.3 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8639\"\u003e#8639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/df4443e989689956cc4f8034172c1944b27d8011\"\u003e\u003ccode\u003edf4443e\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.6' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8638\"\u003e#8638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/f00b2e6c932f51126b327cee6f8fa94e7b0e396d\"\u003e\u003ccode\u003ef00b2e6\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.6 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8637\"\u003e#8637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/482eaddec0347431b37566b45a63f2be62db5ab4\"\u003e\u003ccode\u003e482eadd\u003c/code\u003e\u003c/a\u003e runtime: record time wake when unparking tasks on current thread (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/55fbab70dc8b80d7af925e3829f124c2f0d236d7\"\u003e\u003ccode\u003e55fbab7\u003c/code\u003e\u003c/a\u003e io: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/c5e4d9e69c17e0d349f6de349274093e3e41238b\"\u003e\u003ccode\u003ec5e4d9e\u003c/code\u003e\u003c/a\u003e runtime: keep io_uring op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/0448618493188e1c34e284908ef3c17f2edfc6b2\"\u003e\u003ccode\u003e0448618\u003c/code\u003e\u003c/a\u003e sync: make \u003ccode\u003etracing_sync\u003c/code\u003e tests synchronous (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/2bc1146787aaaf0546f74bd5e1183d5278f58777\"\u003e\u003ccode\u003e2bc1146\u003c/code\u003e\u003c/a\u003e net: accept ConnectionReset in shutdown_after_tcp_reset test (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/bb28a941498e89aa15dd226d3f04194b414905c3\"\u003e\u003ccode\u003ebb28a94\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.x' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8624\"\u003e#8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/6b97913c4677dd387f591ad96f8667bbd27e2178\"\u003e\u003ccode\u003e6b97913\u003c/code\u003e\u003c/a\u003e macros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-1.53.1...tokio-1.53.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `base64` from 0.22.1 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md\"\u003ebase64's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.23.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMake the tests build again on non-SIMD architectures\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.23.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded more consts for preconfigured configs and engines\u003c/li\u003e\n\u003cli\u003eMake DecodeError::InvalidLastSymbol more clear by including the decoded value\u003c/li\u003e\n\u003cli\u003eAdded SIMD-accelerated engines behind the default-on \u003ccode\u003esimd-unsafe\u003c/code\u003e feature: \u003ccode\u003eSimd\u003c/code\u003e picks the best\ninstruction set at runtime (AVX2 on \u003ccode\u003ex86_64\u003c/code\u003e, NEON on \u003ccode\u003eaarch64\u003c/code\u003e) and falls back to the scalar\n\u003ccode\u003eGeneralPurpose\u003c/code\u003e engine, while \u003ccode\u003eAvx2\u003c/code\u003e and \u003ccode\u003eNeon\u003c/code\u003e target one instruction set with no runtime\ndetection and work in \u003ccode\u003eno_std\u003c/code\u003e. The engines support the standard and URL-safe alphabets.\u003c/li\u003e\n\u003cli\u003eUpdate MSRV to 1.71.0\u003c/li\u003e\n\u003cli\u003eAdd support for custom padding symbols\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/069bf7067b949f5c0a92b6ceb82492920502f2c2\"\u003e\u003ccode\u003e069bf70\u003c/code\u003e\u003c/a\u003e v0.23.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/6ab1fb0a5843013557a52c45c84b91f5d1bb87af\"\u003e\u003ccode\u003e6ab1fb0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/310\"\u003e#310\u003c/a\u003e from musicinmybrain/test-on-non-simd-arches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/7cffce6f971acdf48f83112cbdd63bd61125ba06\"\u003e\u003ccode\u003e7cffce6\u003c/code\u003e\u003c/a\u003e Fix testing on architectures without unsafe SIMD support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/e34f9a08c5c89a4641350ac22033f3fa4f5d4d97\"\u003e\u003ccode\u003ee34f9a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/308\"\u003e#308\u003c/a\u003e from atouchet/com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/e9240c9a01e0a4934c5619e74740caa6d1f67ce9\"\u003e\u003ccode\u003ee9240c9\u003c/code\u003e\u003c/a\u003e Remove outdated comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/9e9220a4166f628de7c8803289e120ae1e944f78\"\u003e\u003ccode\u003e9e9220a\u003c/code\u003e\u003c/a\u003e v0.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/870326ec592eebde9d6bfe4c5d8130c591273e9c\"\u003e\u003ccode\u003e870326e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/306\"\u003e#306\u003c/a\u003e from marshallpierce/mp/trailing-bits-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/fbec5f1050f9fc16e6a826ebabaa2b7b0644bd67\"\u003e\u003ccode\u003efbec5f1\u003c/code\u003e\u003c/a\u003e Document no trailing trailing bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/0a23549968f059b53cf39e96eba8f46779f322a7\"\u003e\u003ccode\u003e0a23549\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/305\"\u003e#305\u003c/a\u003e from marshallpierce/mp/edition-2021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/f10b7e20614135aa61289140683fc93e5a45d338\"\u003e\u003ccode\u003ef10b7e2\u003c/code\u003e\u003c/a\u003e Update deps \u0026amp; edition\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshallpierce/rust-base64/compare/v0.22.1...v0.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `schemars` from 1.2.2 to 1.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GREsau/schemars/releases\"\u003eschemars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/blob/master/CHANGELOG.md\"\u003eschemars's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.3] - 2026-10-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/commit/4791bb7352555d339e45658ca09c092ed9fa1f5d\"\u003e\u003ccode\u003e4791bb7\u003c/code\u003e\u003c/a\u003e v1.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c6a89b7ecff45fe8ee26027db5e17ba5859c0476\"\u003e\u003ccode\u003ec6a89b7\u003c/code\u003e\u003c/a\u003e Put the tag of an internally tagged enum first in \u003ccode\u003eproperties\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c5cd8b5d9aac224be13704bb236677e27703f40f\"\u003e\u003ccode\u003ec5cd8b5\u003c/code\u003e\u003c/a\u003e fix: schema creation panics with arbitrary precision JSON numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/766d70b2d2efab2e047f2cc09fddb15938078223\"\u003e\u003ccode\u003e766d70b\u003c/code\u003e\u003c/a\u003e Resolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint in crate and generated code - \u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/d07655e96fb77f726819ce856db2631d64ce29d6\"\u003e\u003ccode\u003ed07655e\u003c/code\u003e\u003c/a\u003e Resolve clippy error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GREsau/schemars/compare/v1.2.2...v1.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `symphonia` from 0.5.5 to 0.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pdeljanov/Symphonia/releases\"\u003esymphonia's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.1\u003c/h2\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTimeBase\u003c/code\u003e now provides a helper to calculate a clock time from a \u003ccode\u003eDuration\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eGenericAudioBuffer\u003c/code\u003e and \u003ccode\u003eAudioSlice\u003c/code\u003es are now cloneable\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eGenericAudioBuffer\u003c/code\u003e and \u003ccode\u003eGenericAudioBufferRef\u003c/code\u003e are now sliceable.\u003c/li\u003e\n\u003cli\u003eChannel information is parsed for Opus tracks in ISO BMFF containers (M4A, MP4, etc.).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes \u0026amp; Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved performance of loading media files with large attachments, visuals, or metadata.\u003c/li\u003e\n\u003cli\u003eFixed a bug where silent sections were not decoded if certain conditions were met for MP3 files.\u003c/li\u003e\n\u003cli\u003eFixed a bug where Xing/Info and VBRI tags were ignored if the MPEG frame containing it had a CRC.\u003c/li\u003e\n\u003cli\u003eFixed decoding of mono MP1 audio.\u003c/li\u003e\n\u003cli\u003eAll \u003ccode\u003eunwrap\u003c/code\u003es have either been replaced with \u003ccode\u003eexpect\u003c/code\u003e or made to return a runtime error.\u003c/li\u003e\n\u003cli\u003eHardened demuxers against allocating obscene amounts of memory when reading maliciously crafted files.\u003c/li\u003e\n\u003cli\u003eFixed a significant number of panics discovered by fuzzing or AI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsar-boomba\"\u003e\u003ccode\u003e@​tsar-boomba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/499\"\u003epdeljanov/Symphonia#499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kp-fyn\"\u003e\u003ccode\u003e@​kp-fyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/535\"\u003epdeljanov/Symphonia#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/537\"\u003epdeljanov/Symphonia#537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bolshoytoster\"\u003e\u003ccode\u003e@​bolshoytoster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/507\"\u003epdeljanov/Symphonia#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Noethix55555\"\u003e\u003ccode\u003e@​Noethix55555\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/520\"\u003epdeljanov/Symphonia#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MelonShooter\"\u003e\u003ccode\u003e@​MelonShooter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/542\"\u003epdeljanov/Symphonia#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/543\"\u003epdeljanov/Symphonia#543\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pdeljanov/Symphonia/compare/v0.6.0...v0.6.1\"\u003ehttps://github.com/pdeljanov/Symphonia/compare/v0.6.0...v0.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003cp\u003eWelcome to Symphonia 0.6! :wave:\u003c/p\u003e\n\u003cp\u003eSymphonia 0.6 is the culmination of two years of effort to rework Symphonia from an audio-focused multimedia framework to one that can be extended to support video and subtitles as well. While Symphonia does not yet support video and subtitle decoders, the groundwork laid in this release should allow easier prototyping of those features, and to more  seamlessly introduce them in the future. As such there are significant breaking changes present in this release for existing users.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/pdeljanov/Symphonia/blob/main/docs/guides/migration/0p6.md\"\u003emigration guide\u003c/a\u003e for detailed information on how to move to Symphonia 0.6.0.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat readers and decoders may now be registered with a preference tier/priority\u003c/li\u003e\n\u003cli\u003eFormat and metadata readers now provide methods to get information about themselves\u003c/li\u003e\n\u003cli\u003eFormat readers can now expose attachments (e.g., attached fonts)\u003c/li\u003e\n\u003cli\u003eDecoders can now decode from non-owning packets, eliminating a copy if using a non-Symphonia demuxer\u003c/li\u003e\n\u003cli\u003eID3v1, APEv1, and APEv2 metadata formats are now supported\u003c/li\u003e\n\u003cli\u003eAdded support for chapters for Matroska, ID3v2, and Vorbis Comments\u003c/li\u003e\n\u003cli\u003eAdded support for Matroska metadata\u003c/li\u003e\n\u003cli\u003eImage format and parameter detection for visuals\u003c/li\u003e\n\u003cli\u003eMetadata tags that have an official or defacto meaning are parsed where possible (e.g., a track number tag is parsed into an \u003ccode\u003eu64\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMediaSourceStream\u003c/code\u003e, and all downstream consumers (e.g., \u003ccode\u003eFormatReader\u003c/code\u003e), are now generic across the lifetime\u003c/li\u003e\n\u003cli\u003eSIMD optimizations are enabled by default\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes \u0026amp; Improvements\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/pdeljanov/Symphonia/commit/ee35874b571a35a9a6e15d3bc9a3aaf8f11fbeee\"\u003e\u003ccode\u003eee35874\u003c/code\u003e\u003c/a\u003e chore: Release v0.6.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/6114676036b710d84e324405c24bfc1bca24b7c4\"\u003e\u003ccode\u003e6114676\u003c/code\u003e\u003c/a\u003e core (formats): Refactor util into separate file.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/d11ecf321a9d4b5aad10bb37176f7290bdf68daa\"\u003e\u003ccode\u003ed11ecf3\u003c/code\u003e\u003c/a\u003e core (units): Add TimeBase helpers to calculate Time from a Duration. (\u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/660a9f8ad018a0335e76800ee4eaad6dd06148c9\"\u003e\u003ccode\u003e660a9f8\u003c/code\u003e\u003c/a\u003e core (audio): Add missing Clone and slice() to audio structs. (\u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/67760d1d740df8d6d8cc45a88623358969381b5a\"\u003e\u003ccode\u003e67760d1\u003c/code\u003e\u003c/a\u003e mp3: Clarify what the frame size in FrameHeader includes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/a9eef3b22438b8be64338be6c413eaaa27c99256\"\u003e\u003ccode\u003ea9eef3b\u003c/code\u003e\u003c/a\u003e mp3: Skip CRC in Xing/Info and VBRI tag heuristics. (\u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/7988c432528951465f45a25342899fbddd9e0a50\"\u003e\u003ccode\u003e7988c43\u003c/code\u003e\u003c/a\u003e core (io): Bypass MediaSourceStream buffer for large reads.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/ea66e4c3c53d248d964b26350a02c8101902f551\"\u003e\u003ccode\u003eea66e4c\u003c/code\u003e\u003c/a\u003e fuzz: Do not loop infinitely on end-of-media.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/d07550c040b0d5c5d534ed8e6464b49954199dfa\"\u003e\u003ccode\u003ed07550c\u003c/code\u003e\u003c/a\u003e fuzz: Run rustfmt and clippy on fuzzers.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/619c6806e5122b3206b8938773a801dd4a8a5950\"\u003e\u003ccode\u003e619c680\u003c/code\u003e\u003c/a\u003e mkv (ebml): Fix testing if the next element is a direct child of an ancestor.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pdeljanov/Symphonia/compare/v0.5.5...v0.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rustls` from 0.23.45 to 0.23.46\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/f04804fa13341a9b1dc02b5d1dd8a746f2c4b7fb\"\u003e\u003ccode\u003ef04804f\u003c/code\u003e\u003c/a\u003e Delay saving KX hint until handshake confirmation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/049d39b975ef5c39f546a10fa03d420dcf053510\"\u003e\u003ccode\u003e049d39b\u003c/code\u003e\u003c/a\u003e Bump version to 0.23.46\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/6d0ba089d6d446959d113bdad43042780949ba48\"\u003e\u003ccode\u003e6d0ba08\u003c/code\u003e\u003c/a\u003e Eliminate secret from impl Debug for \u003ccode\u003eServerSessionValue\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/2b82b8141ae090fa193a9961705598b81d3aae9c\"\u003e\u003ccode\u003e2b82b81\u003c/code\u003e\u003c/a\u003e unbuffered: update TLS 1.3 traffic keys before exhausting them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/74343e7047d7179b9bd7e67cef543b6c490518a1\"\u003e\u003ccode\u003e74343e7\u003c/code\u003e\u003c/a\u003e conn: update TLS 1.3 traffic keys within fragmented writes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/795eea719e9491ee45aae38acc62a60a98969fbe\"\u003e\u003ccode\u003e795eea7\u003c/code\u003e\u003c/a\u003e Advance the HPKE sequence only after seal succeeds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/d67cb716e6a086a9d88b69b966ab10c470087119\"\u003e\u003ccode\u003ed67cb71\u003c/code\u003e\u003c/a\u003e stream: provide backpressure while buffering received plaintext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/7a69adee8fb37d17f1af241e44212bc83a911804\"\u003e\u003ccode\u003e7a69ade\u003c/code\u003e\u003c/a\u003e util: fuse flushes from connections with errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/493d08934775c115b2e6d6727789dd359850070b\"\u003e\u003ccode\u003e493d089\u003c/code\u003e\u003c/a\u003e conn: fuse writes for connections with errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/db00e0187de977ab6f1018d8158511ba4432c53c\"\u003e\u003ccode\u003edb00e01\u003c/code\u003e\u003c/a\u003e util: keep flushing after short writes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rustls/rustls/compare/v/0.23.45...v/0.23.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pollster` from 0.4.0 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zesterer/pollster/blob/master/CHANGELOG.md\"\u003epollster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e[1.0.1] - 2026-07-10\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003edoc_cfg\u003c/code\u003e instead of \u003ccode\u003edoc_auto_cfg\u003c/code\u003e for docsrs builds\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e[1.0.0] - 2026-07-09\u003c/h1\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eFutureExt\u003c/code\u003e is now implemented for \u003ccode\u003eIntoFuture\u003c/code\u003e, not just \u003ccode\u003eFuture\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zesterer/pollster/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libloading` from 0.8.9 to 0.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nagisa/rust_libloading/commit/dab97c569b33bd515e16637b8dedbdc696d9ec9c\"\u003e\u003ccode\u003edab97c5\u003c/code\u003e\u003c/a\u003e 0.9.0 release rites\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nagisa/rust_libloading/commit/e89380446ed04ff14fe2f8adbd8cabc82ea54ad4\"\u003e\u003ccode\u003ee893804\u003c/code\u003e\u003c/a\u003e refactor: simplify null checks, remove some iffy implementations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nagisa/rust_libloading/commit/4b98285041defabf87df73f57051f5d55125758f\"\u003e\u003ccode\u003e4b98285\u003c/code\u003e\u003c/a\u003e add no-std support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nagisa/rust_libloading/compare/0.8.9...0.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `candle-core` from 0.9.2 to 0.11.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/huggingface/candle/commits/0.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `candle-nn` from 0.9.2 to 0.11.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/huggingface/candle/commits/0.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sha2` from 0.10.9 to 0.11.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/138dc5a05b93f8e49cda177fc6cfd7cc43673e5d\"\u003e\u003ccode\u003e138dc5a\u003c/code\u003e\u003c/a\u003e Release sha2 v0.11.1 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/927\"\u003e#927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/cf0105661369ca12811082b4fb0904231173c9b6\"\u003e\u003ccode\u003ecf01056\u003c/code\u003e\u003c/a\u003e sha2: fix \u003ccode\u003eunsafe_op_in_unsafe_fn\u003c/code\u003e lint, bump MSRV to 1.88 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/7c59cadcfb4cb503fa165e7d43171a61b1378281\"\u003e\u003ccode\u003e7c59cad\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/f57b947f978f7ba522df7209a958ba11c426b0d5\"\u003e\u003ccode\u003ef57b947\u003c/code\u003e\u003c/a\u003e streebog: tweak internal implementation (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/336611ffbed10eddafa5f1b9e976120e56a6091d\"\u003e\u003ccode\u003e336611f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ecargo::manual_readme\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/1df8877ae0adc264ac561a5a32d6022343d9ceed\"\u003e\u003ccode\u003e1df8877\u003c/code\u003e\u003c/a\u003e md2: fix \u003ccode\u003eclippy::needless_range_loop\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/6075989cbbd822dbab3ede104c33fcc03645f964\"\u003e\u003ccode\u003e6075989\u003c/code\u003e\u003c/a\u003e sha2: fix loading of round constants on AArch64 backends (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/eadfd90f0dd6272d20530a2cdb69d96319e4a85f\"\u003e\u003ccode\u003eeadfd90\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/913\"\u003e#913\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/HenryCorn/WaltCut/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenryCorn%2FWaltCut/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"5934651824","node_id":"PR_kwDOTx65aM8AAAABJdlMeQ","number":7,"state":"closed","title":"build(deps): bump zip from 9.0.3 to 9.0.4","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-21T02:05:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-20T02:06:02.000Z","updated_at":"2026-10-21T02:05:46.000Z","time_to_close":86382,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"9.0.3","new_version":"9.0.4","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 9.0.3 to 9.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.4\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.3...v9.0.4\"\u003e9.0.4\u003c/a\u003e - 2026-10-16\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\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/zip-rs/zip2/commit/7d9988688723f1136966e0e97200f41356dc57eb\"\u003e\u003ccode\u003e7d99886\u003c/code\u003e\u003c/a\u003e chore: release v9.0.4 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f61665ee0a61b1eb10cd99a224890ea54ebf5ca9\"\u003e\u003ccode\u003ef61665e\u003c/code\u003e\u003c/a\u003e ci(deps): bump the codeql group with 2 updates (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1072\"\u003e#1072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3f4f58c17fd51df93a1b5cdf6c668cc69dbf69ca\"\u003e\u003ccode\u003e3f4f58c\u003c/code\u003e\u003c/a\u003e ci(deps): bump release-plz/action from 0.5.139 to 0.5.140 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/8853a03262e809051e37cc027bbb404900a06f85\"\u003e\u003ccode\u003e8853a03\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.22.0 to 2.22.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3ea38eb8ac287e8e99e4ec9121141ba927cd857b\"\u003e\u003ccode\u003e3ea38eb\u003c/code\u003e\u003c/a\u003e ci(fuzz): Write errors to stderr rather than stdout (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a5a1a669ee418c178d0788ca19a9db15597db1fb\"\u003e\u003ccode\u003ea5a1a66\u003c/code\u003e\u003c/a\u003e ci(deps): bump github/codeql-action/upload-sarif from 4.38.2 to 4.38.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ca70ca9debcff67312a3d1a96d034ad268fed28e\"\u003e\u003ccode\u003eca70ca9\u003c/code\u003e\u003c/a\u003e ci(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/9d76832a37c9170612f0f96a14e1ec747a0da415\"\u003e\u003ccode\u003e9d76832\u003c/code\u003e\u003c/a\u003e fix: enclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/0ebefb80c3955729e85ce362ecdc873c7d4448b8\"\u003e\u003ccode\u003e0ebefb8\u003c/code\u003e\u003c/a\u003e fix: return \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b7c1a5b343550744b8afc23181c0401a0e88f386\"\u003e\u003ccode\u003eb7c1a5b\u003c/code\u003e\u003c/a\u003e ci: Exit read fuzzing early if a crash occurs (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.3...v9.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=9.0.3\u0026new-version=9.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/YangtseSu/fxrate/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/YangtseSu%2Ffxrate/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"5932456311","node_id":"PR_kwDOSUySH88AAAABJb3SIQ","number":30,"state":"closed","title":"build(deps): bump the all group across 1 directory with 9 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-21T21:19:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-19T22:17:27.000Z","updated_at":"2026-10-21T21:19:26.000Z","time_to_close":169317,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"all","update_count":9,"packages":[{"name":"tokio","old_version":"1.53.1","new_version":"1.53.3","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"thiserror","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"schemars","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GREsau/schemars"},{"name":"kreuzberg","old_version":"4.10.3","new_version":"4.10.4","repository_url":"https://github.com/kreuzberg-dev/kreuzberg-lts"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.4","repository_url":"https://github.com/zip-rs/zip2"},{"name":"zstd","old_version":"0.14.0","new_version":"0.14.3","repository_url":"https://github.com/gyscos/zstd-rs"},{"name":"libc","old_version":"0.2.189","new_version":"0.2.190","repository_url":"https://github.com/rust-lang/libc"},{"name":"tokio-util","old_version":"0.7.19","new_version":"0.7.20","repository_url":"https://github.com/tokio-rs/tokio"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the all group with 9 updates in the /fuzz directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.3` |\n| [serde_json](https://github.com/serde-rs/json) | `1.0.151` | `1.0.154` |\n| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [schemars](https://github.com/GREsau/schemars) | `1.2.2` | `1.2.3` |\n| [kreuzberg](https://github.com/kreuzberg-dev/kreuzberg-lts) | `4.10.3` | `4.10.4` |\n| [zip](https://github.com/zip-rs/zip2) | `8.6.0` | `9.0.4` |\n| [zstd](https://github.com/gyscos/zstd-rs) | `0.14.0` | `0.14.3` |\n| [libc](https://github.com/rust-lang/libc) | `0.2.189` | `0.2.190` |\n| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.19` | `0.7.20` |\n\n\nUpdates `tokio` from 1.53.1 to 1.53.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tokio-rs/tokio/releases\"\u003etokio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTokio v1.53.3\u003c/h2\u003e\n\u003ch1\u003e1.53.3 (October 13th, 2026)\u003c/h1\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: add \u003ccode\u003eAsyncFd::register\u003c/code\u003e and \u003ccode\u003eAsyncFd::register_with_interest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: deprecate \u003ccode\u003eAsyncFd::{new, with_interest, try_new, try_with_interest}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emacros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eruntime: fix paused time auto-advancing when I/O wakes a task on \u003ccode\u003ecurrent_thread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake waiters outside the lock when closing a semaphore (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix several flaky tests (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed (unstable)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ert: keep \u003ccode\u003eio_uring\u003c/code\u003e op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8185\"\u003etokio-rs/tokio#8185\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8196\"\u003etokio-rs/tokio#8196\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8427\"\u003etokio-rs/tokio#8427\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8518\"\u003etokio-rs/tokio#8518\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8529\"\u003etokio-rs/tokio#8529\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8587\"\u003etokio-rs/tokio#8587\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8595\"\u003etokio-rs/tokio#8595\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8609\"\u003etokio-rs/tokio#8609\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8618\"\u003etokio-rs/tokio#8618\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTokio v1.53.2\u003c/h2\u003e\n\u003ch1\u003e1.53.2 (October 3rd, 2026)\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eio: revert \u0026quot;always cleanup \u003ccode\u003eAsyncFd\u003c/code\u003e registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprocess: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix mpsc index wraparound in block reclamation (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: forget mpsc \u003ccode\u003ePermit\u003c/code\u003e before sending value (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: validate \u003ccode\u003eMAX_PERMITS\u003c/code\u003e in \u003ccode\u003eSemaphore::acquire\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake broadcast \u003ccode\u003eSender::closed\u003c/code\u003e outside mutex (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etask: drop replaced waker outside lock in \u003ccode\u003eJoinSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop timer lock before dropping waker in \u003ccode\u003eclear_entry\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: expire timers directly on shutdown without rotating wheel (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\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/tokio-rs/tokio/commit/a85c3f5baa298a6b554fd3700daf0342289881af\"\u003e\u003ccode\u003ea85c3f5\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.3 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8639\"\u003e#8639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/df4443e989689956cc4f8034172c1944b27d8011\"\u003e\u003ccode\u003edf4443e\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.6' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8638\"\u003e#8638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/f00b2e6c932f51126b327cee6f8fa94e7b0e396d\"\u003e\u003ccode\u003ef00b2e6\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.6 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8637\"\u003e#8637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/482eaddec0347431b37566b45a63f2be62db5ab4\"\u003e\u003ccode\u003e482eadd\u003c/code\u003e\u003c/a\u003e runtime: record time wake when unparking tasks on current thread (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/55fbab70dc8b80d7af925e3829f124c2f0d236d7\"\u003e\u003ccode\u003e55fbab7\u003c/code\u003e\u003c/a\u003e io: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/c5e4d9e69c17e0d349f6de349274093e3e41238b\"\u003e\u003ccode\u003ec5e4d9e\u003c/code\u003e\u003c/a\u003e runtime: keep io_uring op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/0448618493188e1c34e284908ef3c17f2edfc6b2\"\u003e\u003ccode\u003e0448618\u003c/code\u003e\u003c/a\u003e sync: make \u003ccode\u003etracing_sync\u003c/code\u003e tests synchronous (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/2bc1146787aaaf0546f74bd5e1183d5278f58777\"\u003e\u003ccode\u003e2bc1146\u003c/code\u003e\u003c/a\u003e net: accept ConnectionReset in shutdown_after_tcp_reset test (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/bb28a941498e89aa15dd226d3f04194b414905c3\"\u003e\u003ccode\u003ebb28a94\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.x' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8624\"\u003e#8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/6b97913c4677dd387f591ad96f8667bbd27e2178\"\u003e\u003ccode\u003e6b97913\u003c/code\u003e\u003c/a\u003e macros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-1.53.1...tokio-1.53.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `thiserror` from 2.0.20 to 2.0.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dtolnay/thiserror/releases\"\u003ethiserror's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of generic unit variants in display expressions (\u003ca href=\"https://redirect.github.com/dtolnay/thiserror/issues/459\"\u003e#459\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/dtolnay/thiserror/commit/b1827ee06f81a7d7f954e676771e19a97f9f8e3b\"\u003e\u003ccode\u003eb1827ee\u003c/code\u003e\u003c/a\u003e Release 2.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/58037b575a2a5543d0d54a49360554325b49f55a\"\u003e\u003ccode\u003e58037b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dtolnay/thiserror/issues/459\"\u003e#459\u003c/a\u003e from dtolnay/turbofish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/f82a0cf8f06c71263c2caa26e759f337d2778153\"\u003e\u003ccode\u003ef82a0cf\u003c/code\u003e\u003c/a\u003e Keep track of nested turbofish depth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/72ea49262d6412ccbc08f1696dda8626409e657d\"\u003e\u003ccode\u003e72ea492\u003c/code\u003e\u003c/a\u003e Raise required compiler to Rust 1.77\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/72eea0d4ddb17ff9fa873aa74469de850021b22e\"\u003e\u003ccode\u003e72eea0d\u003c/code\u003e\u003c/a\u003e Resolve io_other_error clippy lint in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/07f09a2ec934df58508ce4fa5e7fbf27cca552c2\"\u003e\u003ccode\u003e07f09a2\u003c/code\u003e\u003c/a\u003e Raise required compiler to Rust 1.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/2715388e8cc5787b3643251f7a7a637e89376688\"\u003e\u003ccode\u003e2715388\u003c/code\u003e\u003c/a\u003e Update ui test suite to nightly-2026-09-22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/5a306c7d0a8588caaaaa6a7567aeb25c1c10719b\"\u003e\u003ccode\u003e5a306c7\u003c/code\u003e\u003c/a\u003e Update ui test suite to nightly-2026-09-05\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/ef9383b37d7c96b01e10df35d3e9e313c7b98b5a\"\u003e\u003ccode\u003eef9383b\u003c/code\u003e\u003c/a\u003e Update ui test suite to nightly-2026-08-22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/8336b8407fbfe69177c504cdbc379db20cf6f131\"\u003e\u003ccode\u003e8336b84\u003c/code\u003e\u003c/a\u003e Update ui tests for version 2.0.20\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dtolnay/thiserror/compare/2.0.20...2.0.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `schemars` from 1.2.2 to 1.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GREsau/schemars/releases\"\u003eschemars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/blob/master/CHANGELOG.md\"\u003eschemars's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.3] - 2026-10-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/commit/4791bb7352555d339e45658ca09c092ed9fa1f5d\"\u003e\u003ccode\u003e4791bb7\u003c/code\u003e\u003c/a\u003e v1.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c6a89b7ecff45fe8ee26027db5e17ba5859c0476\"\u003e\u003ccode\u003ec6a89b7\u003c/code\u003e\u003c/a\u003e Put the tag of an internally tagged enum first in \u003ccode\u003eproperties\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c5cd8b5d9aac224be13704bb236677e27703f40f\"\u003e\u003ccode\u003ec5cd8b5\u003c/code\u003e\u003c/a\u003e fix: schema creation panics with arbitrary precision JSON numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/766d70b2d2efab2e047f2cc09fddb15938078223\"\u003e\u003ccode\u003e766d70b\u003c/code\u003e\u003c/a\u003e Resolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint in crate and generated code - \u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/d07655e96fb77f726819ce856db2631d64ce29d6\"\u003e\u003ccode\u003ed07655e\u003c/code\u003e\u003c/a\u003e Resolve clippy error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GREsau/schemars/compare/v1.2.2...v1.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `kreuzberg` from 4.10.3 to 4.10.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/releases\"\u003ekreuzberg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.10.4\u003c/h2\u003e\n\u003ch2\u003e[4.10.4] - 2026-09-21\u003c/h2\u003e\n\u003cp\u003ePatch release: CLI acceleration and output-formatting fixes, a dependency refresh, and a TLS advisory bump.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCLI release binaries honour \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e.\u003c/strong\u003e The CLI statically linked its bundled CPU ONNX Runtime, so \u003ccode\u003e--acceleration cuda\u003c/code\u003e failed with \u0026quot;CUDA execution provider requested but not available\u0026quot; even when \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e pointed at a GPU-enabled runtime. Release artifacts now load ONNX Runtime dynamically and ship a CPU fallback next to the binary. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/8\"\u003e#8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMarkdown formatting is no longer stripped from DOCX, EPUB and CSV output.\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/5\"\u003e#5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekreuzberg-tesseract\u003c/code\u003e releases the native text array when UTF-8 conversion fails\u003c/strong\u003e, closing an error-path leak. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/7\"\u003e#7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erustls\u003c/code\u003e bumped past RUSTSEC-2026-0285.\u003c/strong\u003e TLS 1.3 handshake messages were accepted across encryption-level boundaries; fixed in 0.23.45.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency refresh: \u003ccode\u003eliter-llm\u003c/code\u003e 1.19 → 2.0.3, \u003ccode\u003etree-sitter-language-pack\u003c/code\u003e 1.16.1 → 1.20.0, \u003ccode\u003ehtml-to-markdown-rs\u003c/code\u003e 3.12.0 → 3.14.3, and in-range bumps to \u003ccode\u003ereqwest\u003c/code\u003e, \u003ccode\u003etoml\u003c/code\u003e, \u003ccode\u003eencoding_rs\u003c/code\u003e, \u003ccode\u003email-parser\u003c/code\u003e, \u003ccode\u003ermcp\u003c/code\u003e and \u003ccode\u003ecc\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBreaking dependency bumps: \u003ccode\u003ecfb\u003c/code\u003e 0.15, \u003ccode\u003ecomrak\u003c/code\u003e 0.55, \u003ccode\u003elzma-rust2\u003c/code\u003e 0.21, \u003ccode\u003edirs\u003c/code\u003e 7, \u003ccode\u003elopdf\u003c/code\u003e 0.45, \u003ccode\u003ejsonschema\u003c/code\u003e 0.56, \u003ccode\u003ebindgen\u003c/code\u003e 0.73.\u003c/li\u003e\n\u003cli\u003eThe Node package builds with pnpm 12 (two-document lockfile).\u003c/li\u003e\n\u003cli\u003eInternal: shell sources are formatted by \u003ccode\u003epoly\u003c/code\u003e, and the script test suite gains Bats and Pester coverage.\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/kreuzberg-dev/kreuzberg-lts/blob/main/CHANGELOG.md\"\u003ekreuzberg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.10.4] - 2026-09-21\u003c/h2\u003e\n\u003cp\u003ePatch release: CLI acceleration and output-formatting fixes, a dependency refresh, and a TLS advisory bump.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCLI release binaries honour \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e.\u003c/strong\u003e The CLI statically linked its bundled CPU ONNX Runtime, so \u003ccode\u003e--acceleration cuda\u003c/code\u003e failed with \u0026quot;CUDA execution provider requested but not available\u0026quot; even when \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e pointed at a GPU-enabled runtime. Release artifacts now load ONNX Runtime dynamically and ship a CPU fallback next to the binary. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/8\"\u003e#8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMarkdown formatting is no longer stripped from DOCX, EPUB and CSV output.\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/5\"\u003e#5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekreuzberg-tesseract\u003c/code\u003e releases the native text array when UTF-8 conversion fails\u003c/strong\u003e, closing an error-path leak. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/7\"\u003e#7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erustls\u003c/code\u003e bumped past RUSTSEC-2026-0285.\u003c/strong\u003e TLS 1.3 handshake messages were accepted across encryption-level boundaries; fixed in 0.23.45.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency refresh: \u003ccode\u003eliter-llm\u003c/code\u003e 1.19 → 2.0.3, \u003ccode\u003etree-sitter-language-pack\u003c/code\u003e 1.16.1 → 1.20.0, \u003ccode\u003ehtml-to-markdown-rs\u003c/code\u003e 3.12.0 → 3.14.3, and in-range bumps to \u003ccode\u003ereqwest\u003c/code\u003e, \u003ccode\u003etoml\u003c/code\u003e, \u003ccode\u003eencoding_rs\u003c/code\u003e, \u003ccode\u003email-parser\u003c/code\u003e, \u003ccode\u003ermcp\u003c/code\u003e and \u003ccode\u003ecc\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBreaking dependency bumps: \u003ccode\u003ecfb\u003c/code\u003e 0.15, \u003ccode\u003ecomrak\u003c/code\u003e 0.55, \u003ccode\u003elzma-rust2\u003c/code\u003e 0.21, \u003ccode\u003edirs\u003c/code\u003e 7, \u003ccode\u003elopdf\u003c/code\u003e 0.45, \u003ccode\u003ejsonschema\u003c/code\u003e 0.56, \u003ccode\u003ebindgen\u003c/code\u003e 0.73.\u003c/li\u003e\n\u003cli\u003eThe Node package builds with pnpm 12 (two-document lockfile).\u003c/li\u003e\n\u003cli\u003eInternal: shell sources are formatted by \u003ccode\u003epoly\u003c/code\u003e, and the script test suite gains Bats and Pester coverage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/b8c96b3e25ade63d78c32fa0fa34a2afce6cd10e\"\u003e\u003ccode\u003eb8c96b3\u003c/code\u003e\u003c/a\u003e chore(release): prepare 4.10.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/1094f007542dca7ed3b56ed48aba0368b93b76aa\"\u003e\u003ccode\u003e1094f00\u003c/code\u003e\u003c/a\u003e fix(cli): load ONNX Runtime dynamically in release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/331c19d3142775cce8278b72ff52e8107d0f14e0\"\u003e\u003ccode\u003e331c19d\u003c/code\u003e\u003c/a\u003e fix(extraction): restore markdown formatting output (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/5\"\u003e#5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/ef63bc060c8824c6ecd341a1f6b44532856bdd25\"\u003e\u003ccode\u003eef63bc0\u003c/code\u003e\u003c/a\u003e chore(deps): breaking dependency bumps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/507ea51301b5c2f88efe4ed5cc3f7a50fd2fdfca\"\u003e\u003ccode\u003e507ea51\u003c/code\u003e\u003c/a\u003e chore(deps): compatible dependency bumps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/197fa604652ed54f7c0e1c5bf402615c9fb7cbff\"\u003e\u003ccode\u003e197fa60\u003c/code\u003e\u003c/a\u003e chore(deps): bump liter-llm, tree-sitter-language-pack, html-to-markdown-rs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/a66c5ecae92f5b6b75cc5e0459f0f5fd838d0c6d\"\u003e\u003ccode\u003ea66c5ec\u003c/code\u003e\u003c/a\u003e docs(ai-rulez): point the skills at modules that became directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/15182af9ccefacf1ce780f65ece1dccb9ede00df\"\u003e\u003ccode\u003e15182af\u003c/code\u003e\u003c/a\u003e fix(deps): bump rustls past RUSTSEC-2026-0285\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/fda4a140a6f65ed0e1319c9590fa95ad211afcf2\"\u003e\u003ccode\u003efda4a14\u003c/code\u003e\u003c/a\u003e style(shell): let poly format shell sources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/f6b3f98aa9813dbfd1d5c833f93606306867ca5c\"\u003e\u003ccode\u003ef6b3f98\u003c/code\u003e\u003c/a\u003e test(scripts): cover scripts/lib/tessdata.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/compare/v4.10.3...v4.10.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zip` from 8.6.0 to 9.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.4\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.3...v9.0.4\"\u003e9.0.4\u003c/a\u003e - 2026-10-16\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\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/zip-rs/zip2/commit/7d9988688723f1136966e0e97200f41356dc57eb\"\u003e\u003ccode\u003e7d99886\u003c/code\u003e\u003c/a\u003e chore: release v9.0.4 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f61665ee0a61b1eb10cd99a224890ea54ebf5ca9\"\u003e\u003ccode\u003ef61665e\u003c/code\u003e\u003c/a\u003e ci(deps): bump the codeql group with 2 updates (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1072\"\u003e#1072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3f4f58c17fd51df93a1b5cdf6c668cc69dbf69ca\"\u003e\u003ccode\u003e3f4f58c\u003c/code\u003e\u003c/a\u003e ci(deps): bump release-plz/action from 0.5.139 to 0.5.140 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/8853a03262e809051e37cc027bbb404900a06f85\"\u003e\u003ccode\u003e8853a03\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.22.0 to 2.22.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3ea38eb8ac287e8e99e4ec9121141ba927cd857b\"\u003e\u003ccode\u003e3ea38eb\u003c/code\u003e\u003c/a\u003e ci(fuzz): Write errors to stderr rather than stdout (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a5a1a669ee418c178d0788ca19a9db15597db1fb\"\u003e\u003ccode\u003ea5a1a66\u003c/code\u003e\u003c/a\u003e ci(deps): bump github/codeql-action/upload-sarif from 4.38.2 to 4.38.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ca70ca9debcff67312a3d1a96d034ad268fed28e\"\u003e\u003ccode\u003eca70ca9\u003c/code\u003e\u003c/a\u003e ci(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/9d76832a37c9170612f0f96a14e1ec747a0da415\"\u003e\u003ccode\u003e9d76832\u003c/code\u003e\u003c/a\u003e fix: enclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/0ebefb80c3955729e85ce362ecdc873c7d4448b8\"\u003e\u003ccode\u003e0ebefb8\u003c/code\u003e\u003c/a\u003e fix: return \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b7c1a5b343550744b8afc23181c0401a0e88f386\"\u003e\u003ccode\u003eb7c1a5b\u003c/code\u003e\u003c/a\u003e ci: Exit read fuzzing early if a crash occurs (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zstd` from 0.14.0 to 0.14.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/75bc74045a2f6ea0439aeed7e159a266da20aac0\"\u003e\u003ccode\u003e75bc740\u003c/code\u003e\u003c/a\u003e Release zstd 0.14.3, zstd-safe 8.2.0, and zstd-sys 2.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/1c580b6719acd5374fdb41f716a182006846ff33\"\u003e\u003ccode\u003e1c580b6\u003c/code\u003e\u003c/a\u003e zstd-safe: keep the one-shot reset check inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/502ee2fdf5baa654b92e7b50e573daeeb82cd6fb\"\u003e\u003ccode\u003e502ee2f\u003c/code\u003e\u003c/a\u003e zstd-safe: only reset after one-shot decompression if a stream may be open\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/5ded6e0c21a055f8e97aba7d58bc459749132024\"\u003e\u003ccode\u003e5ded6e0\u003c/code\u003e\u003c/a\u003e zstd-safe: apply rustfmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/e224018a2389915d68ed17f30109bebad36e9734\"\u003e\u003ccode\u003ee224018\u003c/code\u003e\u003c/a\u003e zstd-safe: refuse to unload a dictionary under unfinished zstdmt jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/6a1065b9ae9920e5d4fbf42f7815ba9c87f43565\"\u003e\u003ccode\u003e6a1065b\u003c/code\u003e\u003c/a\u003e Stop a single_frame() decoder when finish_frame() ends the frame\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/c7156df2ec854921350c67bd7d73c34d9df2dabe\"\u003e\u003ccode\u003ec7156df\u003c/code\u003e\u003c/a\u003e Don't let finish_frame() start a frame nothing was read from\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/b0fb8a747add66f67855790d71a0c253fbec30ec\"\u003e\u003ccode\u003eb0fb8a7\u003c/code\u003e\u003c/a\u003e Add write::Decoder::finish() to report incomplete frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/ab34d019b058c94806c64b8638d1fe62550ca9cc\"\u003e\u003ccode\u003eab34d01\u003c/code\u003e\u003c/a\u003e Don't retry a panicked writer when dropping AutoFlushDecoder/AutoFinishEncoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/74ace2dcdca62a2ce0f034895d6079458311e003\"\u003e\u003ccode\u003e74ace2d\u003c/code\u003e\u003c/a\u003e Reset the borrowed context's session in raw::{Encoder,Decoder}::with_context\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gyscos/zstd-rs/compare/v0.14.0...v0.14.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libc` from 0.2.189 to 0.2.190\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/libc/releases\"\u003elibc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.2.190\u003c/h2\u003e\n\u003cp\u003eThere is now a single config for enabling 64-bit \u003ccode\u003etime_t\u003c/code\u003e: \u003ccode\u003elibc_unstable_time64\u003c/code\u003e. This can be set\nunconditionally; it opts in to 64-bit \u003ccode\u003etime_t\u003c/code\u003e on the following platforms that use 32-bit by\ndefault:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e32-bit Linux-GNU\u003c/li\u003e\n\u003cli\u003e32-bit Linux-uClibc\u003c/li\u003e\n\u003cli\u003e32-bit Linux-musl. Note that setting this flag also enables some other changes that happend in\nmusl v1.2.\u003c/li\u003e\n\u003cli\u003e32-bit Windows-GNU\u003c/li\u003e\n\u003cli\u003eESP-IDF (all targets with this environment are 32-bit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMost other 32-bit platforms are either already using 64-bit \u003ccode\u003etime_t\u003c/code\u003e, or are considered legacy\nand will not be gaining support from their upstream maintainers.\u003c/p\u003e\n\u003cp\u003eYou can enable this using \u003ccode\u003eRUSTFLAGS\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003eRUSTFLAGS='--cfg=libc_unstable_time64' cargo ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNote that there may still be some changes to features gated by this config option, hence \u0026quot;unstable\u0026quot;\nin its name. In the near future we will rename it to just \u003ccode\u003elibc_time64\u003c/code\u003e. Until then, please test it\nout and report any bugs you find!\u003c/p\u003e\n\u003ch3\u003eSupport\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd initial support for HelenOS (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4355\"\u003e#4355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cp\u003eWe are slowly filling out the \u003ccode\u003eDefault\u003c/code\u003e implementations, to reduce the need for \u003ccode\u003emem::zeroed()\u003c/code\u003e in user code:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUnix: Implement \u003ccode\u003eDefault\u003c/code\u003e for a number of structs, especially on Apple platforms (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5576\"\u003e#5576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux, NetBSD: Give \u003ccode\u003estatvfs\u003c/code\u003e a \u003ccode\u003eDefault\u003c/code\u003e impl (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5583\"\u003e#5583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux: Add \u003ccode\u003eDefault\u003c/code\u003e to a \u003ccode\u003elinux/can.rs\u003c/code\u003e structs (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5257\"\u003e#5257\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther additions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExpose the \u003ccode\u003elibc_unstable_time64\u003c/code\u003e cfg (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5411\"\u003e#5411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid, Glibc: Add \u003ccode\u003epthread_gettid_np\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add \u003ccode\u003eRTLD_NEXT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5323\"\u003e#5323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add reuseport BPF socket options (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add TCP header flags, options and SACK limits (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5358\"\u003e#5358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eNET_RT_DUMP2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5442\"\u003e#5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eposix_spawn_file_actions_add(f)chdir(_np)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5558\"\u003e#5558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eBPF_WORDALIGN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003elchmod\u003c/code\u003e and \u003ccode\u003elchflags\u003c/code\u003e where supported (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5400\"\u003e#5400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eminherit\u003c/code\u003e and related constants (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4849\"\u003e#4849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Add more links to public headers and manual pages (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5407\"\u003e#5407\u003c/a\u003e), (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5485\"\u003e#5485\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/rust-lang/libc/blob/0.2.190/CHANGELOG.md\"\u003elibc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/libc/compare/0.2.189...0.2.190\"\u003e0.2.190\u003c/a\u003e - 2026-10-02\u003c/h2\u003e\n\u003cp\u003eThere is now a single config for enabling 64-bit \u003ccode\u003etime_t\u003c/code\u003e: \u003ccode\u003elibc_unstable_time64\u003c/code\u003e. This can be set\nunconditionally; it opts in to 64-bit \u003ccode\u003etime_t\u003c/code\u003e on the following platforms that use 32-bit by\ndefault:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e32-bit Linux-GNU\u003c/li\u003e\n\u003cli\u003e32-bit Linux-uClibc\u003c/li\u003e\n\u003cli\u003e32-bit Linux-musl. Note that setting this flag also enables some other changes that happend in\nmusl v1.2.\u003c/li\u003e\n\u003cli\u003e32-bit Windows-GNU\u003c/li\u003e\n\u003cli\u003eESP-IDF (all targets with this environment are 32-bit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMost other 32-bit platforms are either already using 64-bit \u003ccode\u003etime_t\u003c/code\u003e, or are considered legacy\nand will not be gaining support from their upstream maintainers.\u003c/p\u003e\n\u003cp\u003eYou can enable this using \u003ccode\u003eRUSTFLAGS\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003eRUSTFLAGS='--cfg=libc_unstable_time64' cargo ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNote that there may still be some changes to features gated by this config option, hence \u0026quot;unstable\u0026quot;\nin its name. In the near future we will rename it to just \u003ccode\u003elibc_time64\u003c/code\u003e. Until then, please test it\nout and report any bugs you find!\u003c/p\u003e\n\u003ch3\u003eSupport\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd initial support for HelenOS (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4355\"\u003e#4355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cp\u003eWe are slowly filling out the \u003ccode\u003eDefault\u003c/code\u003e implementations, to reduce the need for \u003ccode\u003emem::zeroed()\u003c/code\u003e in user code:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUnix: Implement \u003ccode\u003eDefault\u003c/code\u003e for a number of structs, especially on Apple platforms (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5576\"\u003e#5576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux, NetBSD: Give \u003ccode\u003estatvfs\u003c/code\u003e a \u003ccode\u003eDefault\u003c/code\u003e impl (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5583\"\u003e#5583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux: Add \u003ccode\u003eDefault\u003c/code\u003e to a \u003ccode\u003elinux/can.rs\u003c/code\u003e structs (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5257\"\u003e#5257\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther additions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExpose the \u003ccode\u003elibc_unstable_time64\u003c/code\u003e cfg (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5411\"\u003e#5411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid, Glibc: Add \u003ccode\u003epthread_gettid_np\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add \u003ccode\u003eRTLD_NEXT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5323\"\u003e#5323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add reuseport BPF socket options (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add TCP header flags, options and SACK limits (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5358\"\u003e#5358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eNET_RT_DUMP2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5442\"\u003e#5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eposix_spawn_file_actions_add(f)chdir(_np)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5558\"\u003e#5558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eBPF_WORDALIGN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003elchmod\u003c/code\u003e and \u003ccode\u003elchflags\u003c/code\u003e where supported (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5400\"\u003e#5400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eminherit\u003c/code\u003e and related constants (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4849\"\u003e#4849\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/rust-lang/libc/commit/7b0ab5528dc7f361f3a0b4c06c2cad9971617f75\"\u003e\u003ccode\u003e7b0ab55\u003c/code\u003e\u003c/a\u003e ci: Rename \u003ccode\u003epublish_0.2.yml\u003c/code\u003e to \u003ccode\u003erelease.yaml\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/ac85dde5fc269ab4a8cd935d3f76adf85372677c\"\u003e\u003ccode\u003eac85dde\u003c/code\u003e\u003c/a\u003e ci: Sync release permissions with \u003ccode\u003emain\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/8f8cd2032060e1477c08077cd5f89215384723e2\"\u003e\u003ccode\u003e8f8cd20\u003c/code\u003e\u003c/a\u003e libc: Release 0.2.190\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/052c6e6a0186eeecf22c743d57c65a9963571241\"\u003e\u003ccode\u003e052c6e6\u003c/code\u003e\u003c/a\u003e changelog: Fix an incorrect commit link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/ea19fd7fba435c629ed247de7138d5cdb1dea309\"\u003e\u003ccode\u003eea19fd7\u003c/code\u003e\u003c/a\u003e test: Remove explicit \u003ccode\u003elibc\u003c/code\u003e version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/6dbf3a29a0a972087b684bc6d6cbf20f92143b66\"\u003e\u003ccode\u003e6dbf3a2\u003c/code\u003e\u003c/a\u003e dragonfly: Move \u003ccode\u003eINHERIT_ZERO\u003c/code\u003e to the freebsd module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/8a64766c8514865dea77cfc3216f5a9dc38c6728\"\u003e\u003ccode\u003e8a64766\u003c/code\u003e\u003c/a\u003e apple: add \u003ccode\u003eposix_spawn_file_actions_add(f)chdir(_np)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/28de5147ff5665b835472f00ead49da71084a593\"\u003e\u003ccode\u003e28de514\u003c/code\u003e\u003c/a\u003e linux, netbsd: Give statvfs a \u003ccode\u003eDefault\u003c/code\u003e impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/a58a95f01d0561e75261052f5d8b3ad188f1ae4e\"\u003e\u003ccode\u003ea58a95f\u003c/code\u003e\u003c/a\u003e cygwin: Change \u003ccode\u003ePOSIX_SPAWN_*\u003c/code\u003e flags to \u003ccode\u003ec_short\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/d175264e718db4f216df7aad5f1291fd0ec34139\"\u003e\u003ccode\u003ed175264\u003c/code\u003e\u003c/a\u003e apple: \u003ccode\u003etimeval32\u003c/code\u003e is exhaustive\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rust-lang/libc/compare/0.2.189...0.2.190\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokio-util` from 0.7.19 to 0.7.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/5ec9e6b8d5a7111fe9cd35a637bd8b4e4eb1e483\"\u003e\u003ccode\u003e5ec9e6b\u003c/code\u003e\u003c/a\u003e chore: prepare tokio-util v0.7.20 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8608\"\u003e#8608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/afd1b2637014475a3176c4d82be01141c284918f\"\u003e\u003ccode\u003eafd1b26\u003c/code\u003e\u003c/a\u003e docs: fix stray braces and broken links in rustdoc (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8605\"\u003e#8605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/3eb95a40f1b88623470c4e902e2fa90e807fdeed\"\u003e\u003ccode\u003e3eb95a4\u003c/code\u003e\u003c/a\u003e wasm: use sleep on emscripten without JSPI (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8528\"\u003e#8528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/b22c80243589560ddbced2c2970a2950f996ae6f\"\u003e\u003ccode\u003eb22c802\u003c/code\u003e\u003c/a\u003e wasm: link emscripten_promise_await for Emscripten 4.x compatibility (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8528\"\u003e#8528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/16b1f9d2cfbdcab4966cdb80da0416786e8feeef\"\u003e\u003ccode\u003e16b1f9d\u003c/code\u003e\u003c/a\u003e ci: pin libc to 0.2.189 on FreeBSD (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8594\"\u003e#8594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/b2636752450484955e7ad334bac678424d51bc4a\"\u003e\u003ccode\u003eb263675\u003c/code\u003e\u003c/a\u003e time: clean up stale Err(Invalid) doc and typo (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8590\"\u003e#8590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/5d5cd8b5b896796445920b3b78c1ad5f9b853fc6\"\u003e\u003ccode\u003e5d5cd8b\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.53.2' into 'master' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8578\"\u003e#8578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/ff0c4068a4ba5f3af0fe3c5657ba42879b6ea599\"\u003e\u003ccode\u003eff0c406\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.2 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8580\"\u003e#8580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/a762700e41bf027630ba4620cfd80d127b7c801d\"\u003e\u003ccode\u003ea762700\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.5' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8577\"\u003e#8577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/ec31a9f62c9426cec415c8c79e0608dd2866bbf7\"\u003e\u003ccode\u003eec31a9f\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.5 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8579\"\u003e#8579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.19...tokio-util-0.7.20\"\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/timorunge/lore/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/timorunge%2Flore/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"},{"uuid":"5919422362","node_id":"PR_kwDOOcDGis8AAAABJRZuYQ","number":1846,"state":"closed","title":"Bump zip from 8.6.0 to 9.0.3 in /jszip-rs","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-22T03:25:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-19T07:04:57.000Z","updated_at":"2026-10-22T03:25:49.000Z","time_to_close":246044,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/jszip-rs","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n## Requirement / issue\n\nUpdate the Rust JSZip zip crate from 8.6 to 9.0.3.\n\n## Change and impact\n\nThis major dependency update changes archive handling internals; API and Rust MSRV compatibility require fresh jszip-rs CI evidence.\n\n## Verification\n\nPrior PR checks passed before branch refresh; the refreshed Linux, Windows, macOS and Rust test jobs are pending.\n\n## Risk and independence\n\nMajor-version compatibility remains the principal risk. Merge only after refreshed checks pass; revert the dependency commit if archive behavior regresses. This is a solo-maintainer self-review with automated checks; independent human review remains pending under the repository's release-readiness policy.\n\n- [x] Traceability from objective to implementation and verification is documented.\n- [x] New behavior or a defect fix has regression evidence, or the exception is justified with an owner and review date.\n- [x] No secrets, personal data, generated build output, or unrelated changes are included.\n","html_url":"https://github.com/rhamenator/ai-scraping-defense/pull/1846","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhamenator%2Fai-scraping-defense/issues/1846","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1846/packages"},{"uuid":"5917713571","node_id":"PR_kwDOQYUqPc8AAAABJQCLLQ","number":98,"state":"open","title":"chore(deps): bump zip from 8.6.0 to 9.0.3 in /apps/desktop/src-tauri","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-19T04:20:03.000Z","updated_at":"2026-10-19T04:20:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/apps/desktop/src-tauri","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/michaelseliger/slideflow/pull/98","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelseliger%2Fslideflow/issues/98","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/98/packages"},{"uuid":"5917704013","node_id":"PR_kwDOQYUqPc8AAAABJQBrRg","number":95,"state":"open","title":"chore(deps): bump zip from 8.6.0 to 9.0.3","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-19T04:19:05.000Z","updated_at":"2026-10-19T04:19:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/michaelseliger/slideflow/pull/95","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelseliger%2Fslideflow/issues/95","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/95/packages"},{"uuid":"5910693901","node_id":"PR_kwDOTifnUc8AAAABJKj7YA","number":1180,"state":"open","title":"build(deps): bump zip from 8.6.0 to 9.0.3","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-18T14:44:02.000Z","updated_at":"2026-10-18T14:44:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/jandira-tech/jubarte-redlines/pull/1180","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jandira-tech%2Fjubarte-redlines/issues/1180","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1180/packages"},{"uuid":"5907093699","node_id":"PR_kwDOOUDSTs8AAAABJHz1MQ","number":937,"state":"closed","title":"chore(rust)(deps): bump zip from 8.6.0 to 9.0.3","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-19T01:17:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-18T07:04:01.000Z","updated_at":"2026-10-19T01:17:31.000Z","time_to_close":65601,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(rust)(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/SylphxAI/anymd/pull/937","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SylphxAI%2Fanymd/issues/937","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/937/packages"},{"uuid":"5905980522","node_id":"PR_kwDOSzCZTs8AAAABJG9VdQ","number":23,"state":"closed","title":"chore(deps): Bump the cargo group with 3 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-18T08:02:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-18T04:04:48.000Z","updated_at":"2026-10-18T08:04:06.000Z","time_to_close":14275,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"cargo","update_count":3,"packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"},{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"sha2","old_version":"0.11.0","new_version":"0.11.1","repository_url":"https://github.com/RustCrypto/hashes"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the cargo group with 3 updates: [zip](https://github.com/zip-rs/zip2), [serde_json](https://github.com/serde-rs/json) and [sha2](https://github.com/RustCrypto/hashes).\n\nUpdates `zip` from 8.6.0 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sha2` from 0.11.0 to 0.11.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/138dc5a05b93f8e49cda177fc6cfd7cc43673e5d\"\u003e\u003ccode\u003e138dc5a\u003c/code\u003e\u003c/a\u003e Release sha2 v0.11.1 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/927\"\u003e#927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/cf0105661369ca12811082b4fb0904231173c9b6\"\u003e\u003ccode\u003ecf01056\u003c/code\u003e\u003c/a\u003e sha2: fix \u003ccode\u003eunsafe_op_in_unsafe_fn\u003c/code\u003e lint, bump MSRV to 1.88 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/7c59cadcfb4cb503fa165e7d43171a61b1378281\"\u003e\u003ccode\u003e7c59cad\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/f57b947f978f7ba522df7209a958ba11c426b0d5\"\u003e\u003ccode\u003ef57b947\u003c/code\u003e\u003c/a\u003e streebog: tweak internal implementation (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/336611ffbed10eddafa5f1b9e976120e56a6091d\"\u003e\u003ccode\u003e336611f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ecargo::manual_readme\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/1df8877ae0adc264ac561a5a32d6022343d9ceed\"\u003e\u003ccode\u003e1df8877\u003c/code\u003e\u003c/a\u003e md2: fix \u003ccode\u003eclippy::needless_range_loop\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/6075989cbbd822dbab3ede104c33fcc03645f964\"\u003e\u003ccode\u003e6075989\u003c/code\u003e\u003c/a\u003e sha2: fix loading of round constants on AArch64 backends (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/eadfd90f0dd6272d20530a2cdb69d96319e4a85f\"\u003e\u003ccode\u003eeadfd90\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/fa3084083d946ac12436567d5a59c0935d5db1fa\"\u003e\u003ccode\u003efa30840\u003c/code\u003e\u003c/a\u003e blake2 v0.11.0 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/f6c786d72ed4d37a32dcd32daa2e7277dd4683e1\"\u003e\u003ccode\u003ef6c786d\u003c/code\u003e\u003c/a\u003e ci: bump the all-deps group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/896\"\u003e#896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/RustCrypto/hashes/compare/sha2-v0.11.0...sha2-v0.11.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\n\n\n\u003c/details\u003e","html_url":"https://github.com/john-athan/sucher/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-athan%2Fsucher/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"5894360755","node_id":"PR_kwDOUpBk0M8AAAABI9_pdw","number":53,"state":"closed","title":"build(deps): bump zip from 8.6.0 to 9.0.3 in /apps/desktop/src-tauri","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-17T10:23:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-17T03:24:50.000Z","updated_at":"2026-10-17T10:23:42.000Z","time_to_close":25130,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/apps/desktop/src-tauri","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/sanskarIN/RepoDNA/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanskarIN%2FRepoDNA/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"},{"uuid":"5874041710","node_id":"PR_kwDOSrdnKM8AAAABIt3-pw","number":207,"state":"closed","title":"chore(deps): bump zip from 9.0.1 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-16T10:15:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-15T21:14:10.000Z","updated_at":"2026-10-16T10:15:08.000Z","time_to_close":46856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 9.0.1 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=9.0.1\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/batlehub/batlehub/pull/207","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/batlehub%2Fbatlehub/issues/207","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/207/packages"},{"uuid":"5865454675","node_id":"PR_kwDOQyKY_s8AAAABIm9pAA","number":425,"state":"open","title":"deps: bump zip from 8.6.0 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-15T11:43:24.000Z","updated_at":"2026-10-15T11:43:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\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/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/tphakala/birda/pull/425","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tphakala%2Fbirda/issues/425","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/425/packages"},{"uuid":"5859160813","node_id":"PR_kwDOPZgFL88AAAABIh8Zww","number":109,"state":"closed","title":"Bump zip from 8.6.0 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-18T00:27:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-15T02:44:02.000Z","updated_at":"2026-10-18T00:27:16.000Z","time_to_close":250992,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\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/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/hubuum/hubuum-cli/pull/109","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubuum%2Fhubuum-cli/issues/109","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/109/packages"},{"uuid":"5857843932","node_id":"PR_kwDOMi758s8AAAABIg6cfw","number":75,"state":"closed","title":"Bump zip from 8.6.0 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T00:28:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-15T00:23:13.000Z","updated_at":"2026-10-19T00:28:46.000Z","time_to_close":345931,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\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/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/urban-travel/hrdf-routing-engine/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/urban-travel%2Fhrdf-routing-engine/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"},{"uuid":"5854546527","node_id":"PR_kwDOU_2qjM8AAAABIeR9Ow","number":4,"state":"closed","title":"Bump the crates group across 1 directory with 46 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-21T03:28:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T19:48:47.000Z","updated_at":"2026-10-21T03:28:04.000Z","time_to_close":545956,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"crates","update_count":46,"packages":[{"name":"clap","old_version":"4.6.6","new_version":"4.6.7","repository_url":"https://github.com/clap-rs/clap"},{"name":"rust-embed","old_version":"8.12.0","new_version":"8.13.0"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"},{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"encoding_rs","old_version":"0.8.35","new_version":"0.8.42","repository_url":"https://github.com/hsivonen/encoding_rs"},{"name":"bindgen","old_version":"0.72.1","new_version":"0.73.2","repository_url":"https://github.com/rust-lang/rust-bindgen"},{"name":"bitflags","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/bitflags/bitflags"},{"name":"cc","old_version":"1.4.4","new_version":"1.8.0","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"cfg-if","old_version":"1.0.4","new_version":"1.0.5","repository_url":"https://github.com/rust-lang/cfg-if"},{"name":"clap_builder","old_version":"4.6.6","new_version":"4.6.7","repository_url":"https://github.com/clap-rs/clap"},{"name":"clap_derive","old_version":"4.6.4","new_version":"4.6.7","repository_url":"https://github.com/clap-rs/clap"},{"name":"clap_lex","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/clap-rs/clap"},{"name":"crc32fast","old_version":"1.5.1","new_version":"1.5.2","repository_url":"https://github.com/srijs/rust-crc32fast"},{"name":"crossbeam","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-channel","old_version":"0.5.16","new_version":"0.5.17","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-deque","old_version":"0.8.7","new_version":"0.8.8","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-epoch","old_version":"0.9.20","new_version":"0.9.21","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-queue","old_version":"0.3.13","new_version":"0.3.14","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-utils","old_version":"0.8.22","new_version":"0.8.23","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"either","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/rayon-rs/either"},{"name":"find-msvc-tools","old_version":"0.1.11","new_version":"0.1.14","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"hybrid-array","old_version":"0.4.14","new_version":"0.4.15","repository_url":"https://github.com/RustCrypto/hybrid-array"},{"name":"indexmap","old_version":"2.14.1","new_version":"2.14.2","repository_url":"https://github.com/indexmap-rs/indexmap"},{"name":"itertools","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/rust-itertools/itertools"},{"name":"lazy_static","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/rust-lang-nursery/lazy-static.rs"},{"name":"libflate","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/sile/libflate"},{"name":"powerfmt","old_version":"0.2.0","new_version":"0.2.1","repository_url":"https://github.com/jhpratt/powerfmt"},{"name":"prettyplease","old_version":"0.2.37","new_version":"0.3.0","repository_url":"https://github.com/dtolnay/prettyplease"},{"name":"proc-macro-error3","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/gamma0987/proc-macro-error3"},{"name":"rand","old_version":"0.10.2","new_version":"0.10.3","repository_url":"https://github.com/rust-random/rand"},{"name":"rust-embed-impl","old_version":"8.12.0","new_version":"8.13.0"},{"name":"rust-embed-utils","old_version":"8.12.0","new_version":"8.13.0"},{"name":"scroll_derive","old_version":"0.13.1","new_version":"0.13.2","repository_url":"https://github.com/m4b/scroll"},{"name":"shlex","old_version":"1.3.0","new_version":"2.0.1","repository_url":"https://github.com/comex/rust-shlex"},{"name":"syn","old_version":"3.0.4","new_version":"3.0.8","repository_url":"https://github.com/dtolnay/syn"},{"name":"thiserror","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"thiserror-impl","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"tokio","old_version":"1.53.1","new_version":"1.53.2","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"toml_datetime","old_version":"1.1.1+spec-1.1.0","new_version":"1.1.2+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_edit","old_version":"0.25.13+spec-1.1.0","new_version":"0.25.17+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_parser","old_version":"1.1.3+spec-1.1.0","new_version":"1.1.5+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"unicase","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/seanmonstar/unicase"},{"name":"unicode-ident","old_version":"1.0.24","new_version":"1.0.26","repository_url":"https://github.com/dtolnay/unicode-ident"},{"name":"zlib-rs","old_version":"0.6.7","new_version":"0.6.8","repository_url":"https://github.com/trifectatechfoundation/zlib-rs"},{"name":"zstd-safe","old_version":"7.2.4","new_version":"7.3.0","repository_url":"https://github.com/gyscos/zstd-rs"},{"name":"zstd-sys","old_version":"2.0.16+zstd.1.5.7","new_version":"2.1.1+zstd.1.5.7","repository_url":"https://github.com/gyscos/zstd-rs"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the crates group with 46 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [clap](https://github.com/clap-rs/clap) | `4.6.6` | `4.6.7` |\n| rust-embed | `8.12.0` | `8.13.0` |\n| [zip](https://github.com/zip-rs/zip2) | `8.6.0` | `9.0.1` |\n| [serde_json](https://github.com/serde-rs/json) | `1.0.151` | `1.0.154` |\n| [encoding_rs](https://github.com/hsivonen/encoding_rs) | `0.8.35` | `0.8.42` |\n| [bindgen](https://github.com/rust-lang/rust-bindgen) | `0.72.1` | `0.73.2` |\n| [bitflags](https://github.com/bitflags/bitflags) | `2.13.1` | `2.13.2` |\n| [cc](https://github.com/rust-lang/cc-rs) | `1.4.4` | `1.8.0` |\n| [cfg-if](https://github.com/rust-lang/cfg-if) | `1.0.4` | `1.0.5` |\n| [clap_builder](https://github.com/clap-rs/clap) | `4.6.6` | `4.6.7` |\n| [clap_derive](https://github.com/clap-rs/clap) | `4.6.4` | `4.6.7` |\n| [clap_lex](https://github.com/clap-rs/clap) | `1.1.0` | `1.1.1` |\n| [crc32fast](https://github.com/srijs/rust-crc32fast) | `1.5.1` | `1.5.2` |\n| [crossbeam](https://github.com/crossbeam-rs/crossbeam) | `0.8.4` | `0.8.5` |\n| [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam) | `0.5.16` | `0.5.17` |\n| [crossbeam-deque](https://github.com/crossbeam-rs/crossbeam) | `0.8.7` | `0.8.8` |\n| [crossbeam-epoch](https://github.com/crossbeam-rs/crossbeam) | `0.9.20` | `0.9.21` |\n| [crossbeam-queue](https://github.com/crossbeam-rs/crossbeam) | `0.3.13` | `0.3.14` |\n| [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) | `0.8.22` | `0.8.23` |\n| [either](https://github.com/rayon-rs/either) | `1.18.0` | `1.19.0` |\n| [find-msvc-tools](https://github.com/rust-lang/cc-rs) | `0.1.11` | `0.1.14` |\n| [hybrid-array](https://github.com/RustCrypto/hybrid-array) | `0.4.14` | `0.4.15` |\n| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.14.1` | `2.14.2` |\n| [itertools](https://github.com/rust-itertools/itertools) | `0.13.0` | `0.14.0` |\n| [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) | `1.5.0` | `1.5.1` |\n| [libflate](https://github.com/sile/libflate) | `2.3.1` | `2.3.2` |\n| [powerfmt](https://github.com/jhpratt/powerfmt) | `0.2.0` | `0.2.1` |\n| [prettyplease](https://github.com/dtolnay/prettyplease) | `0.2.37` | `0.3.0` |\n| [proc-macro-error3](https://github.com/gamma0987/proc-macro-error3) | `3.1.0` | `3.1.1` |\n| [rand](https://github.com/rust-random/rand) | `0.10.2` | `0.10.3` |\n| rust-embed-impl | `8.12.0` | `8.13.0` |\n| rust-embed-utils | `8.12.0` | `8.13.0` |\n| [scroll_derive](https://github.com/m4b/scroll) | `0.13.1` | `0.13.2` |\n| [shlex](https://github.com/comex/rust-shlex) | `1.3.0` | `2.0.1` |\n| [syn](https://github.com/dtolnay/syn) | `3.0.4` | `3.0.8` |\n| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [thiserror-impl](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.2` |\n| [toml_datetime](https://github.com/toml-rs/toml) | `1.1.1+spec-1.1.0` | `1.1.2+spec-1.1.0` |\n| [toml_edit](https://github.com/toml-rs/toml) | `0.25.13+spec-1.1.0` | `0.25.17+spec-1.1.0` |\n| [toml_parser](https://github.com/toml-rs/toml) | `1.1.3+spec-1.1.0` | `1.1.5+spec-1.1.0` |\n| [unicase](https://github.com/seanmonstar/unicase) | `2.9.0` | `2.10.0` |\n| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.24` | `1.0.26` |\n| [zlib-rs](https://github.com/trifectatechfoundation/zlib-rs) | `0.6.7` | `0.6.8` |\n| [zstd-safe](https://github.com/gyscos/zstd-rs) | `7.2.4` | `7.3.0` |\n| [zstd-sys](https://github.com/gyscos/zstd-rs) | `2.0.16+zstd.1.5.7` | `2.1.1+zstd.1.5.7` |\n\n\nUpdates `clap` from 4.6.6 to 4.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/releases\"\u003eclap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.7\u003c/h2\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\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/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/d3e59a9ab214910b9dad02921b7ef42c6400de9b\"\u003e\u003ccode\u003ed3e59a9\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/d997f878c484e02b2935d32a7b67afe990e91227\"\u003e\u003ccode\u003ed997f87\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/fb6058cc38cf6f4b07b8db89c850fc80e059e222\"\u003e\u003ccode\u003efb6058c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6409\"\u003e#6409\u003c/a\u003e from heaths/pwsh-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2310870f7a9fe4c39f5bb5620261a06ac9aaa0b1\"\u003e\u003ccode\u003e2310870\u003c/code\u003e\u003c/a\u003e test(complete): Add tests for completer_for_path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/5967c17393a09f90112cdc5b2c20a1383f0bd8e4\"\u003e\u003ccode\u003e5967c17\u003c/code\u003e\u003c/a\u003e refactor(complete): Move shell detection to Shells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/594602bb29f374e49da5029df63e5c740c723ad0\"\u003e\u003ccode\u003e594602b\u003c/code\u003e\u003c/a\u003e fix(complete): Detect pwsh for PowerShell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3a4f2d031b5110aaaac40f1cb1d6c0b8ff619df8\"\u003e\u003ccode\u003e3a4f2d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6427\"\u003e#6427\u003c/a\u003e from clap-rs/renovate/shlex-2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/67ebaed4ac95a83d5d7cc22d64ee0fc162ae1db3\"\u003e\u003ccode\u003e67ebaed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6426\"\u003e#6426\u003c/a\u003e from clap-rs/renovate/actions-checkout-7.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/c968b136d0e6f560c08b06a844a20f2798a00096\"\u003e\u003ccode\u003ec968b13\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate shlex to v2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/8f247cbf58c582a755ee4dbe62a2390d93b9f8eb\"\u003e\u003ccode\u003e8f247cb\u003c/code\u003e\u003c/a\u003e chore(deps): Update actions/checkout action to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/clap_complete-v4.6.6...clap_complete-v4.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-embed` from 8.12.0 to 8.13.0\n\nUpdates `zip` from 8.6.0 to 9.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `encoding_rs` from 0.8.35 to 0.8.42\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/a155adc7271c9e507556d053c95b459186671d2a\"\u003e\u003ccode\u003ea155adc\u003c/code\u003e\u003c/a\u003e Increment version number to 0.8.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/6603aed8a134fb444184e2d8b0b90609a64d1889\"\u003e\u003ccode\u003e6603aed\u003c/code\u003e\u003c/a\u003e Attach the multiversion crate to the std feature instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/f718b076e4cef994bc23231417b366480f52ad27\"\u003e\u003ccode\u003ef718b07\u003c/code\u003e\u003c/a\u003e docs: \u003ccode\u003emultiversion\u003c/code\u003e is compiled only with \u003ccode\u003esimd-accel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/4434afacb2f1a35dfd1c287b09b8b14c2a3e685f\"\u003e\u003ccode\u003e4434afa\u003c/code\u003e\u003c/a\u003e chore: pull in \u003ccode\u003emultiversion\u003c/code\u003e only when it is actually used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/96138f6c9351831946c57bf091dc5265f0da9afc\"\u003e\u003ccode\u003e96138f6\u003c/code\u003e\u003c/a\u003e Update main branch in URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/08604915e6f1a3b7a93398aec0bb92d7a6611a6a\"\u003e\u003ccode\u003e0860491\u003c/code\u003e\u003c/a\u003e Increment version number to 0.8.41\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/2e9ea612b5499deb08a6646401fe5b5c60d4de75\"\u003e\u003ccode\u003e2e9ea61\u003c/code\u003e\u003c/a\u003e Document multiversion 0.9.0 and syn version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/6667988d019dce6434799bb7744f32c511b231ec\"\u003e\u003ccode\u003e6667988\u003c/code\u003e\u003c/a\u003e build(deps): accept multiversion 0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/662cb427013c13eb4444e7e51e8579c9457f5e6b\"\u003e\u003ccode\u003e662cb42\u003c/code\u003e\u003c/a\u003e Allow split_u16_stride_mut as dead code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/55f2530369fdf3be74e5588cf9fc1cec100914a5\"\u003e\u003ccode\u003e55f2530\u003c/code\u003e\u003c/a\u003e Increment version number to 0.8.40\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hsivonen/encoding_rs/compare/v0.8.35...v0.8.42\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bindgen` from 0.72.1 to 0.73.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/rust-bindgen/releases\"\u003ebindgen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.73.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eSee the full changelog but mostly bitfield / alignment regression fixes from 0.72.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rust-lang/rust-bindgen/compare/v0.73.1...v0.73.2\"\u003ehttps://github.com/rust-lang/rust-bindgen/compare/v0.73.1...v0.73.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.73.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.73.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md\"\u003ebindgen's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.73.2 (2026-09-08)\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed various regressions with over/underaligned types with respect to 0.72 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3449\"\u003e#3449\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3453\"\u003e#3453\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3458\"\u003e#3458\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a codegen regression with bitfields with enum types in some circumstances (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3455\"\u003e#3455\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003ch1\u003e0.73.1 (2026-09-05)\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWidened acceptable prettyplease / syn dependency versions (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3447\"\u003e#3447\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003ch1\u003e0.73.0 (2026-09-05)\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eDebug\u003c/code\u003e, \u003ccode\u003eClone\u003c/code\u003e and \u003ccode\u003eEq\u003c/code\u003e traits to \u003ccode\u003eParseCallbacks\u003c/code\u003e info types (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3233\"\u003e#3233\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInclude the source location in discovery \u003ccode\u003eParseCallbacks\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3244\"\u003e#3244\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReport constants and variables in \u003ccode\u003eParseCallbacks::new_item_found\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3249\"\u003e#3249\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAllow adding custom attributes to \u003ccode\u003eextern\u003c/code\u003e function blocks (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3257\"\u003e#3257\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport new-type-alias constants (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3288\"\u003e#3288\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3390\"\u003e#3390\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport nested flexible array members (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3306\"\u003e#3306\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for custom per-field attributes (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3307\"\u003e#3307\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd const-generic bitfield accessors for compile-time optimization (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3325\"\u003e#3325\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3374\"\u003e#3374\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAllow renaming struct and union fields (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3358\"\u003e#3358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003elibcpp\u003c/code\u003e feature to link \u003ccode\u003elibclang\u003c/code\u003e against \u003ccode\u003elibc++\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3375\"\u003e#3375\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePrebuilt binaries for aarch64 Linux (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3217\"\u003e#3217\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGuarantee opaque type layout across all architectures (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3280\"\u003e#3280\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eNonNull\u003c/code\u003e for C++ references (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3292\"\u003e#3292\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBindings::write\u003c/code\u003e now takes \u003ccode\u003eimpl Write\u003c/code\u003e instead of \u003ccode\u003eBox\u0026lt;dyn Write\u0026gt;\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3317\"\u003e#3317\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3324\"\u003e#3324\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimize bitfield unit get/set with byte-wise operations (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3325\"\u003e#3325\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003econst\u003c/code\u003e \u003ccode\u003e__BindgenUnionField\u003c/code\u003e accessors and comply with Rust 2024\n\u003ccode\u003eunsafe_op_in_unsafe_fn\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3337\"\u003e#3337\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eGenerate a doc comment pointing at the aliased type when a type alias is\nhidden (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3122\"\u003e#3122\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003edyngen: convert the library path to \u003ccode\u003eOsStr\u003c/code\u003e before opening it (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3315\"\u003e#3315\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReturn a \u003ccode\u003eNoHeadersProvided\u003c/code\u003e error instead of generating empty bindings\nwhen no input headers are provided (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3391\"\u003e#3391\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump the MSRV to 1.71 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3401\"\u003e#3401\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003esyn\u003c/code\u003e to v3 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3401\"\u003e#3401\u003c/a\u003e) and \u003ccode\u003eshlex\u003c/code\u003e to v2 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3380\"\u003e#3380\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for generating code for rustc versions \u0026lt; 1.51, along with\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/73c69d681eec90b84ffba4f993b5fb2f19580781\"\u003e\u003ccode\u003e73c69d6\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/77cbc723acf88854ac2d25f15413def50e029a2b\"\u003e\u003ccode\u003e77cbc72\u003c/code\u003e\u003c/a\u003e codegen: Pad bitfields to field offset if applicable.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/dc615310095a04739d06aa02b317cbc219ed145c\"\u003e\u003ccode\u003edc61531\u003c/code\u003e\u003c/a\u003e ty: More struct layout fixes for overaligned integers / aliases.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/4348523dc31f872b1e1e363100b211cd30e7e1ae\"\u003e\u003ccode\u003e4348523\u003c/code\u003e\u003c/a\u003e codegen: Revert some bitfield codegen changes and silence unnecessary_transmu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/efb6e0c05fec83cc30fce0f697c1c0f97968df29\"\u003e\u003ccode\u003eefb6e0c\u003c/code\u003e\u003c/a\u003e ty: Use underlying layout of typedefs if available.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/18fc3ac91264031fd3d57c071ca654763e79fb11\"\u003e\u003ccode\u003e18fc3ac\u003c/code\u003e\u003c/a\u003e codegen: Simplify bitfield merging code.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/910679f40978ee35518fcde8621650e0224d875e\"\u003e\u003ccode\u003e910679f\u003c/code\u003e\u003c/a\u003e codegen: Remove hack that is no longer needed now that we have repr(align) ev...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/38ebc486a780a014bce11e7927aaba0785bb96a5\"\u003e\u003ccode\u003e38ebc48\u003c/code\u003e\u003c/a\u003e codegen: Don't force padding to be aligned.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/64f0939766c792822bd03c6733972e7e1067724e\"\u003e\u003ccode\u003e64f0939\u003c/code\u003e\u003c/a\u003e codegen: Don't force padding for over-aligned fields.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/cf8faab758ba737d17ed06051d643c5bbead200e\"\u003e\u003ccode\u003ecf8faab\u003c/code\u003e\u003c/a\u003e codegen: Simplify some conditions about repr(align).\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rust-lang/rust-bindgen/compare/v0.72.1...v0.73.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bitflags` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bitflags/bitflags/releases\"\u003ebitflags's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.13.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFlags: adjust order of elements in manual implementation example by \u003ca href=\"https://github.com/DanielEScherzer\"\u003e\u003ccode\u003e@​DanielEScherzer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/494\"\u003ebitflags/bitflags#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-pull const declarations outside of nested const by \u003ca href=\"https://github.com/KodrAus\"\u003e\u003ccode\u003e@​KodrAus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/496\"\u003ebitflags/bitflags#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for 2.13.2 release by \u003ca href=\"https://github.com/KodrAus\"\u003e\u003ccode\u003e@​KodrAus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/497\"\u003ebitflags/bitflags#497\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\"\u003ehttps://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md\"\u003ebitflags's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.13.2\u003c/h1\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFlags: adjust order of elements in manual implementation example by \u003ca href=\"https://github.com/DanielEScherzer\"\u003e\u003ccode\u003e@​DanielEScherzer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/494\"\u003ebitflags/bitflags#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-pull const declarations outside of nested const by \u003ca href=\"https://github.com/KodrAus\"\u003e\u003ccode\u003e@​KodrAus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/496\"\u003ebitflags/bitflags#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\"\u003ehttps://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\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/bitflags/bitflags/commit/80ce9b545acb0bd42150695fc351889cac1d8eb4\"\u003e\u003ccode\u003e80ce9b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bitflags/bitflags/issues/497\"\u003e#497\u003c/a\u003e from bitflags/cargo/2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/5822493e21489d141324ca1787a62a21d1e2f667\"\u003e\u003ccode\u003e5822493\u003c/code\u003e\u003c/a\u003e prepare for 2.13.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/48f4f1a85e72f019fe64ca18fc4cbfd04e3c6ff9\"\u003e\u003ccode\u003e48f4f1a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bitflags/bitflags/issues/496\"\u003e#496\u003c/a\u003e from bitflags/fix/rustc-ice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/2c0b042c1515c0d6adc94c00d5d730c1cca7aca3\"\u003e\u003ccode\u003e2c0b042\u003c/code\u003e\u003c/a\u003e re-pull const declarations outside of nested const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/c3f8d31d59f3ba8c05833fb322ecab8a2cb88060\"\u003e\u003ccode\u003ec3f8d31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bitflags/bitflags/issues/494\"\u003e#494\u003c/a\u003e from DanielEScherzer/flags-docs-example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/0fc376241b05b5da46076f82db8fb1a0bb3be448\"\u003e\u003ccode\u003e0fc3762\u003c/code\u003e\u003c/a\u003e Flags: adjust order of elements in manual implementation example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cc` from 1.4.4 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/cc-rs/releases\"\u003ecc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecc-v1.8.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_PREFER_CLANG_CL_OVER_MSVC\u003c/code\u003e to override \u003ccode\u003eprefer_clang_cl_over_msvc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2001\"\u003e#2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(panic)\u003c/em\u003e fix panic in code and replace with error when appropriate (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(env)\u003c/em\u003e do not panic if WASM_MUSL_SYSROOT not set (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e help thread gets more token than necessary (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estop forwarding -Cprofile-generate/-Cprofile-use to the C compiler (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not apply target crt-static when target is overridden (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1999\"\u003e#1999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e poll for process exit on linux (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocument \u003ccode\u003eNVCC\u003c/code\u003e and other environment variables (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2005\"\u003e#2005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e poll for new token (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e Use poll on unix (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2000\"\u003e#2000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecc-v1.7.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eTool::get_envs\u003c/code\u003e, deprecate Tool::env and store tool env as \u003ccode\u003eArc\u0026lt;OsStr\u0026gt;\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1985\"\u003e#1985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elink \u003ccode\u003ec++\u003c/code\u003e when Clang uses libc++ (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_MASM_ASM\u003c/code\u003e and fall back to \u003ccode\u003ellvm-ml\u003c/code\u003e for MASM files (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(target parsing)\u003c/em\u003e for powerpc64-ibm-aix abi (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore ASCII case in program name checks (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(compile)\u003c/em\u003e issue compilation cmds more frequently in parallel \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1997\"\u003e#1997\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1998\"\u003e#1998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e Optimize tool detection caching (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e optimize EnvSnapshot Hash, PartialEq, Ord impl (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegenerate target info (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecc-v1.6.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::create_archive\u003c/code\u003e and \u003ccode\u003eemit_link_directives\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread the process environment once per \u003ccode\u003eBuild\u003c/code\u003e, on first use (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::message_logger\u003c/code\u003e for structured access to cc's messages (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1967\"\u003e#1967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCXXSTDLIB_STATIC\u003c/code\u003e to link the C++ stdlib statically from outside (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1957\"\u003e#1957\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ekey the flag support cache on target, host, language and environment (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1965\"\u003e#1965\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/rust-lang/cc-rs/blob/main/CHANGELOG.md\"\u003ecc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.7.0...cc-v1.8.0\"\u003e1.8.0\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_PREFER_CLANG_CL_OVER_MSVC\u003c/code\u003e to override \u003ccode\u003eprefer_clang_cl_over_msvc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2001\"\u003e#2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(panic)\u003c/em\u003e fix panic in code and replace with error when appropriate (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(env)\u003c/em\u003e do not panic if WASM_MUSL_SYSROOT not set (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e help thread gets more token than necessary (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estop forwarding -Cprofile-generate/-Cprofile-use to the C compiler (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not apply target crt-static when target is overridden (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1999\"\u003e#1999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e poll for process exit on linux (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocument \u003ccode\u003eNVCC\u003c/code\u003e and other environment variables (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2005\"\u003e#2005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e poll for new token (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e Use poll on unix (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2000\"\u003e#2000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.6.0...cc-v1.7.0\"\u003e1.7.0\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eTool::get_envs\u003c/code\u003e, deprecate Tool::env and store tool env as \u003ccode\u003eArc\u0026lt;OsStr\u0026gt;\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1985\"\u003e#1985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elink \u003ccode\u003ec++\u003c/code\u003e when Clang uses libc++ (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_MASM_ASM\u003c/code\u003e and fall back to \u003ccode\u003ellvm-ml\u003c/code\u003e for MASM files (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(target parsing)\u003c/em\u003e for powerpc64-ibm-aix abi (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore ASCII case in program name checks (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(compile)\u003c/em\u003e issue compilation cmds more frequently in parallel \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1997\"\u003e#1997\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1998\"\u003e#1998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e Optimize tool detection caching (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e optimize EnvSnapshot Hash, PartialEq, Ord impl (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegenerate target info (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.5.1...cc-v1.6.0\"\u003e1.6.0\u003c/a\u003e - 2026-10-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::create_archive\u003c/code\u003e and \u003ccode\u003eemit_link_directives\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread the process environment once per \u003ccode\u003eBuild\u003c/code\u003e, on first use (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::message_logger\u003c/code\u003e for structured access to cc's messages (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1967\"\u003e#1967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCXXSTDLIB_STATIC\u003c/code\u003e to link the C++ stdlib statically from outside (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1957\"\u003e#1957\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/rust-lang/cc-rs/commit/d0454eee9b9f046c4c3462b59e78145d81cc6b92\"\u003e\u003ccode\u003ed0454ee\u003c/code\u003e\u003c/a\u003e chore(cc): release v1.8.0 (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2010\"\u003e#2010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/fd18a6c1626d734469342083d89f142a764ebf6e\"\u003e\u003ccode\u003efd18a6c\u003c/code\u003e\u003c/a\u003e perf(parallel): poll for process exit on linux (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/b69d7ebc6116f73878397d2e1b290c0851d8a75e\"\u003e\u003ccode\u003eb69d7eb\u003c/code\u003e\u003c/a\u003e fix(panic): fix panic in code and replace with error when appropriate (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/78eaf8f311801a09db899c031185388a36b98763\"\u003e\u003ccode\u003e78eaf8f\u003c/code\u003e\u003c/a\u003e fix(env): do not panic if WASM_MUSL_SYSROOT not set (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/ca93d670f7eb8409cd2b166a3aee8ee5578e108a\"\u003e\u003ccode\u003eca93d67\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003eNVCC\u003c/code\u003e and other environment variables (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2005\"\u003e#2005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/e4f1339ed49712fe3f79295c52a4b98e15782fee\"\u003e\u003ccode\u003ee4f1339\u003c/code\u003e\u003c/a\u003e fix(jobserver): help thread gets more token than necessary (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/369070e6ecf678bbded7ad9996b9e3cb030ae9a1\"\u003e\u003ccode\u003e369070e\u003c/code\u003e\u003c/a\u003e perf(jobserver): poll for new token (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/360d734061733b046e992597093f9ac6ae68637d\"\u003e\u003ccode\u003e360d734\u003c/code\u003e\u003c/a\u003e fix: stop forwarding -Cprofile-generate/-Cprofile-use to the C compiler (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/5832160173fe201761116644d7ef2062d3b84ffe\"\u003e\u003ccode\u003e5832160\u003c/code\u003e\u003c/a\u003e refactor(forward_available): use let-else (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2002\"\u003e#2002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/fb83356fd7d4de96f6dc53855de641ab0bcd9e3f\"\u003e\u003ccode\u003efb83356\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eCC_PREFER_CLANG_CL_OVER_MSVC\u003c/code\u003e to override `prefer_clang_cl_over_ms...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.4.4...cc-v1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cfg-if` from 1.0.4 to 1.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/cfg-if/releases\"\u003ecfg-if's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a note that this crate is deprecated, suggesting \u003ccode\u003ecfg_select!\u003c/code\u003e instead\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/rust-lang/cfg-if/blob/main/CHANGELOG.md\"\u003ecfg-if's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/compare/v1.0.4...v1.0.5\"\u003e1.0.5\u003c/a\u003e - 2026-09-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a note that this crate is deprecated, suggesting \u003ccode\u003ecfg_select!\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/8b0a2b0fc1fa3b3741b9e72895f390cf499fe36f\"\u003e\u003ccode\u003e8b0a2b0\u003c/code\u003e\u003c/a\u003e Deprecation notice + crate version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/efabe3f520a1a7b75e7e2267abf923ac23762269\"\u003e\u003ccode\u003eefabe3f\u003c/code\u003e\u003c/a\u003e Add a changelog entry for the upcoming deprecation notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/a66c2d4d559cdd6b047d1db3290f6bf252773fc9\"\u003e\u003ccode\u003ea66c2d4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/bda9677a0e8cc55f2a82130cb9c32c1a7335abfe\"\u003e\u003ccode\u003ebda9677\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/rust-lang/cfg-if/compare/v1.0.4...v1.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clap_builder` from 4.6.6 to 4.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/releases\"\u003eclap_builder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.7\u003c/h2\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\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/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap_builder's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/13f2db5072d600c11d8d6298e4e9ba53ffc6c1ab\"\u003e\u003ccode\u003e13f2db5\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3304fead40c107f92f63daccf25af7b4f34ba709\"\u003e\u003ccode\u003e3304fea\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7b2ad34cfd8742757ebd9f5b3e9211cbb66f7c2f\"\u003e\u003ccode\u003e7b2ad34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6521\"\u003e#6521\u003c/a\u003e from r-near/feat/derive-deferred-initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/4380302f04d201aec21b67d2ca0f4d5cb5c01897\"\u003e\u003ccode\u003e4380302\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate trybuild to v1.0.120 (\u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/a812461690d1ec08a8c14e5df7661588a150800a\"\u003e\u003ccode\u003ea812461\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6528\"\u003e#6528\u003c/a\u003e from epage/template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/710884f95cc2279c7ffaa623dcb8bd54cb3cea76\"\u003e\u003ccode\u003e710884f\u003c/code\u003e\u003c/a\u003e style: Make clippy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/ce800a398b2e1325d1e66b44c68ab40639b3b568\"\u003e\u003ccode\u003ece800a3\u003c/code\u003e\u003c/a\u003e chore: Update from _rust template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/78d70f3c68b9f99dcdd1b28b846a8e824ea7d497\"\u003e\u003ccode\u003e78d70f3\u003c/code\u003e\u003c/a\u003e feat(derive): Defer enum subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2b2d8815fe1e8616569ec6c19a0979410ac45578\"\u003e\u003ccode\u003e2b2d881\u003c/code\u003e\u003c/a\u003e test(derive): Cover subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7f870209bfa0f1cd73b2203ef96cb5ac305c4034\"\u003e\u003ccode\u003e7f87020\u003c/code\u003e\u003c/a\u003e test(derive): Build before nested introspection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/v4.6.6...v4.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clap_derive` from 4.6.4 to 4.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/releases\"\u003eclap_derive's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.7\u003c/h2\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.6\u003c/h2\u003e\n\u003ch2\u003e[4.6.6] - 2026-08-06\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eCommand::get_overridden_usage\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.5\u003c/h2\u003e\n\u003ch2\u003e[4.6.5] - 2026-07-31\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(help)\u003c/em\u003e Correctly mark which \u003ccode\u003evalue_names\u003c/code\u003e are optional with \u003ccode\u003enum_args\u003c/code\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/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap_derive's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.6] - 2026-08-06\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eCommand::get_overridden_usage\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.5] - 2026-07-31\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(help)\u003c/em\u003e Correctly mark which \u003ccode\u003evalue_names\u003c/code\u003e are optional with \u003ccode\u003enum_args\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/13f2db5072d600c11d8d6298e4e9ba53ffc6c1ab\"\u003e\u003ccode\u003e13f2db5\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3304fead40c107f92f63daccf25af7b4f34ba709\"\u003e\u003ccode\u003e3304fea\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7b2ad34cfd8742757ebd9f5b3e9211cbb66f7c2f\"\u003e\u003ccode\u003e7b2ad34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6521\"\u003e#6521\u003c/a\u003e from r-near/feat/derive-deferred-initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/4380302f04d201aec21b67d2ca0f4d5cb5c01897\"\u003e\u003ccode\u003e4380302\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate trybuild to v1.0.120 (\u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/a812461690d1ec08a8c14e5df7661588a150800a\"\u003e\u003ccode\u003ea812461\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6528\"\u003e#6528\u003c/a\u003e from epage/template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/710884f95cc2279c7ffaa623dcb8bd54cb3cea76\"\u003e\u003ccode\u003e710884f\u003c/code\u003e\u003c/a\u003e style: Make clippy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/ce800a398b2e1325d1e66b44c68ab40639b3b568\"\u003e\u003ccode\u003ece800a3\u003c/code\u003e\u003c/a\u003e chore: Update from _rust template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/78d70f3c68b9f99dcdd1b28b846a8e824ea7d497\"\u003e\u003ccode\u003e78d70f3\u003c/code\u003e\u003c/a\u003e feat(derive): Defer enum subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2b2d8815fe1e8616569ec6c19a0979410ac45578\"\u003e\u003ccode\u003e2b2d881\u003c/code\u003e\u003c/a\u003e test(derive): Cover subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7f870209bfa0f1cd73b2203ef96cb5ac305c4034\"\u003e\u003ccode\u003e7f87020\u003c/code\u003e\u003c/a\u003e test(derive): Build before nested introspection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/v4.6.4...v4.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clap_lex` from 1.1.0 to 1.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap_lex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.1 (2015-07-17)\u003c/h2\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003efixes a logic bug and allows setting Arg::number_of_values() \u0026lt; 2 (\u003ca href=\"https://github.com/clap-rs/clap/commit/42b6d1fc3c519c92dfb3af15276e7d3b635e6cfe\"\u003e42b6d1fc\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/161\"\u003e#161\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/clap-rs/clap/commit/13f2db5072d600c11d8d6298e4e9ba53ffc6c1ab\"\u003e\u003ccode\u003e13f2db5\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3304fead40c107f92f63daccf25af7b4f34ba709\"\u003e\u003ccode\u003e3304fea\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7b2ad34cfd8742757ebd9f5b3e9211cbb66f7c2f\"\u003e\u003ccode\u003e7b2ad34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6521\"\u003e#6521\u003c/a\u003e from r-near/feat/derive-deferred-initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/4380302f04d201aec21b67d2ca0f4d5cb5c01897\"\u003e\u003ccode\u003e4380302\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate trybuild to v1.0.120 (\u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/a812461690d1ec08a8c14e5df7661588a150800a\"\u003e\u003ccode\u003ea812461\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6528\"\u003e#6528\u003c/a\u003e from epage/template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/710884f95cc2279c7ffaa623dcb8bd54cb3cea76\"\u003e\u003ccode\u003e710884f\u003c/code\u003e\u003c/a\u003e style: Make clippy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/ce800a398b2e1325d1e66b44c68ab40639b3b568\"\u003e\u003ccode\u003ece800a3\u003c/code\u003e\u003c/a\u003e chore: Update from _rust template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/78d70f3c68b9f99dcdd1b28b846a8e824ea7d497\"\u003e\u003ccode\u003e78d70f3\u003c/code\u003e\u003c/a\u003e feat(derive): Defer enum subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2b2d8815fe1e8616569ec6c19a0979410ac45578\"\u003e\u003ccode\u003e2b2d881\u003c/code\u003e\u003c/a\u003e test(derive): Cover subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7f870209bfa0f1cd73b2203ef96cb5ac305c4034\"\u003e\u003ccode\u003e7f87020\u003c/code\u003e\u003c/a\u003e test(derive): Build before nested introspection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/clap_lex-v1.1.0...clap_lex-v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crc32fast` from 1.5.1 to 1.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/7eb0b8a2c9b246d27dc4cb5a53d3fc3b43a4bb83\"\u003e\u003ccode\u003e7eb0b8a\u003c/code\u003e\u003c/a\u003e release 1.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/927270745b182e686b360ca6b87e71fce33632fb\"\u003e\u003ccode\u003e9272707\u003c/code\u003e\u003c/a\u003e perf(baseline): fold whole 16-byte blocks in the tail (\u003ca href=\"https://redirect.github.com/srijs/rust-crc32fast/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/1e291e6cba1caf6d346d3d2a2f4d621ccf10f1cf\"\u003e\u003ccode\u003e1e291e6\u003c/code\u003e\u003c/a\u003e ci: add riscv64gc-unknown-linux-gnu to cross-test matrix (\u003ca href=\"https://redirect.github.com/srijs/rust-crc32fast/issues/59\"\u003e#59\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/9d028706a30a6ae50ba06f2d791965f2f21be67d\"\u003e\u003ccode\u003e9d02870\u003c/code\u003e\u003c/a\u003e Update license links (\u003ca href=\"https://redirect.github.com/srijs/rust-crc32fast/issues/58\"\u003e#58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/srijs/rust-crc32fast/compare/v1.5.1...v1.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crossbeam` from 0.8.4 to 0.8.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbeam-rs/crossbeam/releases\"\u003ecrossbeam's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecrossbeam-utils 0.8.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eAtomicCell::fetch_update\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport targets that do not have atomic CAS on stable Rust (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecrossbeam-deque 0.8.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003ecfg-if\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1072\"\u003e#1072\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecrossbeam 0.8.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1284\"\u003e#1284\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/crossbeam-rs/crossbeam/blob/main/CHANGELOG.md\"\u003ecrossbeam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.8.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1284\"\u003e#1284\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/crossbeam-rs/crossbeam/commit/2920c984290229ab4e0ca0452ef09e48a82063f3\"\u003e\u003ccode\u003e2920c98\u003c/code\u003e\u003c/a\u003e Prepare for the next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/808b75a4cbbb59eab83a92cf867a3c771795f959\"\u003e\u003ccode\u003e808b75a\u003c/code\u003e\u003c/a\u003e ci: Update codegen job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/46774e09313d4601c23f77da0b078c914194c152\"\u003e\u003ccode\u003e46774e0\u003c/code\u003e\u003c/a\u003e channel: Document that send_timeout sends an available message even if the ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/89a3fe4025857397a1adfc954957687d4dce9c93\"\u003e\u003ccode\u003e89a3fe4\u003c/code\u003e\u003c/a\u003e epoch: Make Shared::null const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/383d74adcda222f99d54b4e80b55cce6bf30f142\"\u003e\u003ccode\u003e383d74a\u003c/code\u003e\u003c/a\u003e Use *::MAX associated constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a30b825e6de35ecc4762a55656f63b4dbf4ccb8a\"\u003e\u003ccode\u003ea30b825\u003c/code\u003e\u003c/a\u003e channel,deque,queue: Use AtomicU64/u64 in head/tail index if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a0e4d2929e4bf670bf05aad548880656e187a51e\"\u003e\u003ccode\u003ea0e4d29\u003c/code\u003e\u003c/a\u003e Replace iterative capacity growth with \u003ccode\u003enext_power_of_two\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/94f74d26240f5d49e61d56ac10111e6527dbcfe6\"\u003e\u003ccode\u003e94f74d2\u003c/code\u003e\u003c/a\u003e Recognize x86_64-unknown-linux-gnutsan in build script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/30e5963e4c0a9fc6626bd6417528c4f621e3838e\"\u003e\u003ccode\u003e30e5963\u003c/code\u003e\u003c/a\u003e epoch: Add missing fence emulation for tsan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/708a6bd582d1ee482183e186e98527b41bffe565\"\u003e\u003ccode\u003e708a6bd\u003c/code\u003e\u003c/a\u003e Handle overflow in bounded channel/queue initialization (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-0.8.4...crossbeam-0.8.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crossbeam-channel` from 0.5.16 to 0.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbeam-rs/crossbeam/releases\"\u003ecrossbeam-channel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecrossbeam-channel 0.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix UB in bounded channel when \u003ccode\u003eSelectedOperation\u003c/code\u003e is leaked. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix behavior inconsistency on already received case in \u003ccode\u003eat()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1296\"\u003e#1296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle overflow in bounded channel initialization. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse 64-bit index on 32-bit platforms if 64-bit atomic is available. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1321\"\u003e#1321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1284\"\u003e#1284\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/crossbeam-rs/crossbeam/commit/2920c984290229ab4e0ca0452ef09e48a82063f3\"\u003e\u003ccode\u003e2920c98\u003c/code\u003e\u003c/a\u003e Prepare for the next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/808b75a4cbbb59eab83a92cf867a3c771795f959\"\u003e\u003ccode\u003e808b75a\u003c/code\u003e\u003c/a\u003e ci: Update codegen job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/46774e09313d4601c23f77da0b078c914194c152\"\u003e\u003ccode\u003e46774e0\u003c/code\u003e\u003c/a\u003e channel: Document that send_timeout sends an available message even if the ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/89a3fe4025857397a1adfc954957687d4dce9c93\"\u003e\u003ccode\u003e89a3fe4\u003c/code\u003e\u003c/a\u003e epoch: Make Shared::null const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/383d74adcda222f99d54b4e80b55cce6bf30f142\"\u003e\u003ccode\u003e383d74a\u003c/code\u003e\u003c/a\u003e Use *::MAX associated constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a30b825e6de35ecc4762a55656f63b4dbf4ccb8a\"\u003e\u003ccode\u003ea30b825\u003c/code\u003e\u003c/a\u003e channel,deque,queue: Use AtomicU64/u64 in head/tail index if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a0e4d2929e4bf670bf05aad548880656e187a51e\"\u003e\u003ccode\u003ea0e4d29\u003c/code...\n\n_Description has been truncated_","html_url":"https://github.com/3525643975chz-web/7-misu/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/3525643975chz-web%2F7-misu/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"5852813007","node_id":"PR_kwDOTDVGOs8AAAABIc4GRQ","number":49,"state":"open","title":"build(deps): bump zip from 8.6.0 to 9.0.1 in /native","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-14T17:52:41.000Z","updated_at":"2026-10-20T15:00:44.473Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/native","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/KiaroSama/Numera-Emoji-Mapper/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiaroSama%2FNumera-Emoji-Mapper/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"},{"uuid":"5852108463","node_id":"PR_kwDOAkuhzM8AAAABIcTfAw","number":442,"state":"closed","title":"chore(deps): bump zip from 8.6.0 to 9.0.1","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-15T10:03:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T17:06:51.000Z","updated_at":"2026-10-15T10:03:18.000Z","time_to_close":60983,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/dginev/CorTeX/pull/442","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dginev%2FCorTeX/issues/442","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/442/packages"},{"uuid":"5851926657","node_id":"PR_kwDOUdWDZ88AAAABIcKGPg","number":26,"state":"open","title":"build(deps): bump zip from 8.6.0 to 9.0.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-14T16:54:51.000Z","updated_at":"2026-10-15T11:00:26.906Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/brightmeows/bms-resource-toolbox/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightmeows%2Fbms-resource-toolbox/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"5824323880","node_id":"PR_kwDOUjRz_s8AAAABIGEYDQ","number":16,"state":"closed","title":"deps(rust)(deps): bump the rust-dependencies group across 1 directory with 127 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-16T10:21:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-13T04:04:52.000Z","updated_at":"2026-10-16T10:21:43.000Z","time_to_close":281809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(rust)(deps): bump","group_name":"rust-dependencies","update_count":127,"packages":[{"name":"tauri","old_version":"2.11.5","new_version":"2.11.6","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-plugin-opener","old_version":"2.5.5","new_version":"2.7.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-fs","old_version":"2.5.2","new_version":"2.6.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-shell","old_version":"2.3.6","new_version":"2.4.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-deep-link","old_version":"2.4.10","new_version":"2.6.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-single-instance","old_version":"2.4.4","new_version":"2.5.2","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-dialog","old_version":"2.7.3","new_version":"2.8.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-log","old_version":"2.9.1","new_version":"2.10.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-clipboard-manager","old_version":"2.3.3","new_version":"2.4.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-window-state","old_version":"2.4.1","new_version":"2.5.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tokio","old_version":"1.53.1","new_version":"1.53.2","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"tokio-util","old_version":"0.7.19","new_version":"0.7.20","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"lazy_static","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/rust-lang-nursery/lazy-static.rs"},{"name":"libc","old_version":"0.2.189","new_version":"0.2.190","repository_url":"https://github.com/rust-lang/libc"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.0","repository_url":"https://github.com/zip-rs/zip2"},{"name":"uuid","old_version":"1.26.1","new_version":"1.28.0","repository_url":"https://github.com/uuid-rs/uuid"},{"name":"rand","old_version":"0.10.2","new_version":"0.10.3","repository_url":"https://github.com/rust-random/rand"},{"name":"utoipa","old_version":"5.5.0","new_version":"6.0.0","repository_url":"https://github.com/juhaku/utoipa"},{"name":"utoipa-axum","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/juhaku/utoipa"},{"name":"shadowsocks","old_version":"1.24.0","new_version":"1.25.0","repository_url":"https://github.com/shadowsocks/shadowsocks-rust"},{"name":"hyper","old_version":"1.11.1","new_version":"1.12.0","repository_url":"https://github.com/hyperium/hyper"},{"name":"hyper-util","old_version":"0.1.20","new_version":"0.1.21","repository_url":"https://github.com/hyperium/hyper-util"},{"name":"thiserror","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"maxminddb","old_version":"0.30.3","new_version":"0.32.0","repository_url":"https://github.com/oschwald/maxminddb-rust"},{"name":"dirs","old_version":"6.0.0","new_version":"7.0.0"},{"name":"jsonc-parser","old_version":"0.33.2","new_version":"0.34.0","repository_url":"https://github.com/dprint/jsonc-parser"},{"name":"objc2","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/madsmtm/objc2"},{"name":"tauri-build","old_version":"2.6.3","new_version":"2.7.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"alloc-no-stdlib","old_version":"2.0.4","new_version":"3.0.0","repository_url":"https://github.com/dropbox/rust-alloc-no-stdlib"},{"name":"alloc-stdlib","old_version":"0.2.4","new_version":"0.3.0","repository_url":"https://github.com/dropbox/rust-alloc-no-stdlib"},{"name":"arbitrary","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/rust-fuzz/arbitrary"},{"name":"async-recursion","old_version":"1.1.1","new_version":"1.2.0","repository_url":"https://github.com/dcchut/async-recursion"},{"name":"brotli","old_version":"8.0.4","new_version":"9.0.0","repository_url":"https://github.com/dropbox/rust-brotli"},{"name":"brotli-decompressor","old_version":"5.0.3","new_version":"6.0.1","repository_url":"https://github.com/dropbox/rust-brotli-decompressor"},{"name":"camino","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/camino-rs/camino"},{"name":"cargo_toml","old_version":"0.22.3","new_version":"1.0.1"},{"name":"cc","old_version":"1.4.6","new_version":"1.7.0","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"cfb","old_version":"0.7.3","new_version":"0.10.0","repository_url":"https://github.com/mdsteele/rust-cfb"},{"name":"cfg-if","old_version":"1.0.4","new_version":"1.0.5","repository_url":"https://github.com/rust-lang/cfg-if"},{"name":"const-oid","old_version":"0.9.6","new_version":"0.10.2","repository_url":"https://github.com/RustCrypto/formats"},{"name":"cssparser","old_version":"0.36.0","new_version":"0.37.0","repository_url":"https://github.com/servo/rust-cssparser"},{"name":"cssparser-macros","old_version":"0.6.1","new_version":"0.7.1","repository_url":"https://github.com/servo/rust-cssparser"},{"name":"ctor","old_version":"0.8.0","new_version":"1.0.13","repository_url":"https://github.com/mmastrac/linktime"},{"name":"ctr","old_version":"0.9.2","new_version":"0.10.1","repository_url":"https://github.com/RustCrypto/block-modes"},{"name":"ctutils","old_version":"0.4.2","new_version":"0.4.3","repository_url":"https://github.com/RustCrypto/utils"},{"name":"der","old_version":"0.7.10","new_version":"0.8.2","repository_url":"https://github.com/RustCrypto/formats"},{"name":"dom_query","old_version":"0.27.0","new_version":"0.28.0","repository_url":"https://github.com/niklak/dom_query"},{"name":"ed25519","old_version":"2.2.3","new_version":"3.0.0","repository_url":"https://github.com/RustCrypto/signatures"},{"name":"either","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/rayon-rs/either"},{"name":"embed-resource","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/nabijaczleweli/rust-embed-resource"},{"name":"encoding_rs","old_version":"0.8.41","new_version":"0.8.42","repository_url":"https://github.com/hsivonen/encoding_rs"},{"name":"find-msvc-tools","old_version":"0.1.12","new_version":"0.1.14","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"font-types","old_version":"0.12.5","new_version":"0.12.6","repository_url":"https://github.com/googlefonts/fontations"},{"name":"ghash","old_version":"0.5.1","new_version":"0.6.0","repository_url":"https://github.com/RustCrypto/universal-hashes"},{"name":"h2","old_version":"0.4.19","new_version":"0.4.20","repository_url":"https://github.com/hyperium/h2"},{"name":"hkdf","old_version":"0.12.4","new_version":"0.13.0","repository_url":"https://github.com/RustCrypto/KDFs"},{"name":"html5ever","old_version":"0.38.0","new_version":"0.39.0","repository_url":"https://github.com/servo/html5ever"},{"name":"hyper-rustls","old_version":"0.27.9","new_version":"0.27.10","repository_url":"https://github.com/rustls/hyper-rustls"},{"name":"infer","old_version":"0.19.0","new_version":"0.22.0","repository_url":"https://github.com/bojand/infer"},{"name":"jiff","old_version":"0.2.37","new_version":"0.2.38","repository_url":"https://github.com/BurntSushi/jiff"},{"name":"jiff-static","old_version":"0.2.37","new_version":"0.2.38","repository_url":"https://github.com/BurntSushi/jiff"},{"name":"jiff-tzdb","old_version":"0.1.8","new_version":"0.1.9","repository_url":"https://github.com/BurntSushi/jiff"},{"name":"json-patch","old_version":"3.0.1","new_version":"4.2.0","repository_url":"https://github.com/idubrov/json-patch"},{"name":"jsonptr","old_version":"0.6.3","new_version":"0.7.1","repository_url":"https://github.com/chanced/jsonptr"},{"name":"keyboard-types","old_version":"0.7.0","new_version":"0.8.3","repository_url":"https://github.com/rust-windowing/keyboard-types"},{"name":"libredox","old_version":"0.1.24","new_version":"0.1.25"},{"name":"markup5ever","old_version":"0.38.0","new_version":"0.39.0","repository_url":"https://github.com/servo/html5ever"},{"name":"md-5","old_version":"0.10.6","new_version":"0.11.0","repository_url":"https://github.com/RustCrypto/hashes"},{"name":"mio","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/tokio-rs/mio"},{"name":"muda","old_version":"0.19.3","new_version":"0.20.0","repository_url":"https://github.com/tauri-apps/muda"},{"name":"pkcs8","old_version":"0.10.2","new_version":"0.11.0","repository_url":"https://github.com/RustCrypto/formats"},{"name":"polyval","old_version":"0.6.2","new_version":"0.7.3","repository_url":"https://github.com/RustCrypto/universal-hashes"},{"name":"powerfmt","old_version":"0.2.0","new_version":"0.2.1","repository_url":"https://github.com/jhpratt/powerfmt"},{"name":"redox_users","old_version":"0.5.2","new_version":"0.5.3"},{"name":"rustix","old_version":"1.1.4","new_version":"1.1.5","repository_url":"https://github.com/bytecodealliance/rustix"},{"name":"sealed","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/jmg-duarte/sealed-rs"},{"name":"selectors","old_version":"0.36.1","new_version":"0.38.0","repository_url":"https://github.com/servo/stylo"},{"name":"sendfd","old_version":"0.4.4","new_version":"0.4.5","repository_url":"https://github.com/standard-ai/sendfd"},{"name":"serde_spanned","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/toml-rs/toml"},{"name":"serde_with","old_version":"3.23.0","new_version":"3.24.0","repository_url":"https://github.com/jonasbb/serde_with"},{"name":"serde_with_macros","old_version":"3.23.0","new_version":"3.24.0","repository_url":"https://github.com/jonasbb/serde_with"},{"name":"shadowsocks-crypto","old_version":"0.6.2","new_version":"0.8.0","repository_url":"https://github.com/shadowsocks/shadowsocks-crypto"},{"name":"signal-hook","old_version":"0.4.4","new_version":"0.4.5","repository_url":"https://github.com/vorner/signal-hook"},{"name":"signature","old_version":"2.2.0","new_version":"3.0.0","repository_url":"https://github.com/RustCrypto/traits"},{"name":"siphasher","old_version":"1.0.3","new_version":"1.0.4","repository_url":"https://github.com/jedisct1/rust-siphash"},{"name":"smallvec","old_version":"1.16.1","new_version":"1.16.3","repository_url":"https://github.com/servo/rust-smallvec"},{"name":"spin","old_version":"0.10.1","new_version":"0.12.3"},{"name":"spki","old_version":"0.7.3","new_version":"0.8.1","repository_url":"https://github.com/RustCrypto/formats"},{"name":"syn","old_version":"3.0.5","new_version":"3.0.7","repository_url":"https://github.com/dtolnay/syn"},{"name":"tao","old_version":"0.35.3","new_version":"0.37.1","repository_url":"https://github.com/tauri-apps/tao"},{"name":"tauri-codegen","old_version":"2.6.3","new_version":"2.7.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-macros","old_version":"2.6.3","new_version":"2.7.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-plugin","old_version":"2.6.3","new_version":"2.7.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-runtime","old_version":"2.11.3","new_version":"2.12.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-runtime-wry","old_version":"2.11.4","new_version":"2.12.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-utils","old_version":"2.9.3","new_version":"2.10.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tokio-rustls","old_version":"0.26.5","new_version":"0.26.6","repository_url":"https://github.com/rustls/tokio-rustls"},{"name":"toml_datetime","old_version":"1.1.1+spec-1.1.0","new_version":"1.1.2+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_parser","old_version":"1.1.3+spec-1.1.0","new_version":"1.1.5+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_writer","old_version":"1.1.2+spec-1.1.0","new_version":"1.1.3+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"tray-icon","old_version":"0.24.2","new_version":"0.25.1","repository_url":"https://github.com/tauri-apps/tray-icon"},{"name":"unicase","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/seanmonstar/unicase"},{"name":"unicode-ident","old_version":"1.0.24","new_version":"1.0.26","repository_url":"https://github.com/dtolnay/unicode-ident"},{"name":"untrusted","old_version":"0.9.0","new_version":"0.7.1","repository_url":"https://github.com/briansmith/untrusted"},{"name":"urlpattern","old_version":"0.3.0","new_version":"0.6.0","repository_url":"https://github.com/denoland/rust-urlpattern"},{"name":"utoipa-gen","old_version":"5.5.0","new_version":"6.0.1","repository_url":"https://github.com/juhaku/utoipa"},{"name":"want","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/seanmonstar/want"},{"name":"webview2-com","old_version":"0.38.2","new_version":"0.39.1","repository_url":"https://github.com/wravery/webview2-rs"},{"name":"webview2-com-sys","old_version":"0.38.2","new_version":"0.39.1","repository_url":"https://github.com/wravery/webview2-rs"},{"name":"window-vibrancy","old_version":"0.6.0","new_version":"0.8.1","repository_url":"https://github.com/tauri-apps/tauri-plugin-vibrancy"},{"name":"windows-collections","old_version":"0.2.0","new_version":"0.3.2","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-core","old_version":"0.61.2","new_version":"0.62.2","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-future","old_version":"0.2.1","new_version":"0.3.2","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-link","old_version":"0.1.3","new_version":"0.2.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-numerics","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-registry","old_version":"0.5.3","new_version":"0.6.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-result","old_version":"0.3.4","new_version":"0.4.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-strings","old_version":"0.4.2","new_version":"0.5.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-threading","old_version":"0.1.0","new_version":"0.2.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"wl-clipboard-rs","old_version":"0.9.3","new_version":"0.9.4","repository_url":"https://github.com/YaLTeR/wl-clipboard-rs"},{"name":"wry","old_version":"0.55.1","new_version":"0.57.0","repository_url":"https://github.com/tauri-apps/wry"},{"name":"yoke-derive","old_version":"0.8.2","new_version":"0.8.4","repository_url":"https://github.com/unicode-org/icu4x"},{"name":"zerocopy","old_version":"0.8.57","new_version":"0.8.62","repository_url":"https://github.com/google/zerocopy"},{"name":"zerocopy-derive","old_version":"0.8.57","new_version":"0.8.62","repository_url":"https://github.com/google/zerocopy"},{"name":"zerofrom-derive","old_version":"0.1.7","new_version":"0.1.8","repository_url":"https://github.com/unicode-org/icu4x"},{"name":"zeroize","old_version":"1.9.0","new_version":"1.9.1","repository_url":"https://github.com/RustCrypto/utils"},{"name":"zlib-rs","old_version":"0.6.7","new_version":"0.6.8","repository_url":"https://github.com/trifectatechfoundation/zlib-rs"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the rust-dependencies group with 127 updates in the /src-tauri directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tauri](https://github.com/tauri-apps/tauri) | `2.11.5` | `2.11.6` |\n| [tauri-plugin-opener](https://github.com/tauri-apps/plugins-workspace) | `2.5.5` | `2.7.0` |\n| [tauri-plugin-fs](https://github.com/tauri-apps/plugins-workspace) | `2.5.2` | `2.6.0` |\n| [tauri-plugin-shell](https://github.com/tauri-apps/plugins-workspace) | `2.3.6` | `2.4.1` |\n| [tauri-plugin-deep-link](https://github.com/tauri-apps/plugins-workspace) | `2.4.10` | `2.6.1` |\n| [tauri-plugin-single-instance](https://github.com/tauri-apps/plugins-workspace) | `2.4.4` | `2.5.2` |\n| [tauri-plugin-dialog](https://github.com/tauri-apps/plugins-workspace) | `2.7.3` | `2.8.1` |\n| [tauri-plugin-log](https://github.com/tauri-apps/plugins-workspace) | `2.9.1` | `2.10.0` |\n| [tauri-plugin-clipboard-manager](https://github.com/tauri-apps/plugins-workspace) | `2.3.3` | `2.4.1` |\n| [tauri-plugin-window-state](https://github.com/tauri-apps/plugins-workspace) | `2.4.1` | `2.5.0` |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.2` |\n| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.19` | `0.7.20` |\n| [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) | `1.5.0` | `1.5.1` |\n| [libc](https://github.com/rust-lang/libc) | `0.2.189` | `0.2.190` |\n| [zip](https://github.com/zip-rs/zip2) | `8.6.0` | `9.0.0` |\n| [uuid](https://github.com/uuid-rs/uuid) | `1.26.1` | `1.28.0` |\n| [rand](https://github.com/rust-random/rand) | `0.10.2` | `0.10.3` |\n| [utoipa](https://github.com/juhaku/utoipa) | `5.5.0` | `6.0.0` |\n| [utoipa-axum](https://github.com/juhaku/utoipa) | `0.2.0` | `0.3.0` |\n| [shadowsocks](https://github.com/shadowsocks/shadowsocks-rust) | `1.24.0` | `1.25.0` |\n| [hyper](https://github.com/hyperium/hyper) | `1.11.1` | `1.12.0` |\n| [hyper-util](https://github.com/hyperium/hyper-util) | `0.1.20` | `0.1.21` |\n| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [maxminddb](https://github.com/oschwald/maxminddb-rust) | `0.30.3` | `0.32.0` |\n| dirs | `6.0.0` | `7.0.0` |\n| [jsonc-parser](https://github.com/dprint/jsonc-parser) | `0.33.2` | `0.34.0` |\n| [objc2](https://github.com/madsmtm/objc2) | `0.6.4` | `0.6.5` |\n| [tauri-build](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.2` |\n| [alloc-no-stdlib](https://github.com/dropbox/rust-alloc-no-stdlib) | `2.0.4` | `3.0.0` |\n| [alloc-stdlib](https://github.com/dropbox/rust-alloc-no-stdlib) | `0.2.4` | `0.3.0` |\n| [arbitrary](https://github.com/rust-fuzz/arbitrary) | `1.4.2` | `1.5.0` |\n| [async-recursion](https://github.com/dcchut/async-recursion) | `1.1.1` | `1.2.0` |\n| [brotli](https://github.com/dropbox/rust-brotli) | `8.0.4` | `9.0.0` |\n| [brotli-decompressor](https://github.com/dropbox/rust-brotli-decompressor) | `5.0.3` | `6.0.1` |\n| [camino](https://github.com/camino-rs/camino) | `1.2.5` | `1.2.6` |\n| [cargo_toml](https://gitlab.com/lib.rs/cargo_toml) | `0.22.3` | `1.0.1` |\n| [cc](https://github.com/rust-lang/cc-rs) | `1.4.6` | `1.7.0` |\n| [cfb](https://github.com/mdsteele/rust-cfb) | `0.7.3` | `0.10.0` |\n| [cfg-if](https://github.com/rust-lang/cfg-if) | `1.0.4` | `1.0.5` |\n| [const-oid](https://github.com/RustCrypto/formats) | `0.9.6` | `0.10.2` |\n| [cssparser](https://github.com/servo/rust-cssparser) | `0.36.0` | `0.37.0` |\n| [cssparser-macros](https://github.com/servo/rust-cssparser) | `0.6.1` | `0.7.1` |\n| [ctor](https://github.com/mmastrac/linktime) | `0.8.0` | `1.0.13` |\n| [ctr](https://github.com/RustCrypto/block-modes) | `0.9.2` | `0.10.1` |\n| [ctutils](https://github.com/RustCrypto/utils) | `0.4.2` | `0.4.3` |\n| [der](https://github.com/RustCrypto/formats) | `0.7.10` | `0.8.2` |\n| [dom_query](https://github.com/niklak/dom_query) | `0.27.0` | `0.28.0` |\n| [ed25519](https://github.com/RustCrypto/signatures) | `2.2.3` | `3.0.0` |\n| [either](https://github.com/rayon-rs/either) | `1.18.0` | `1.19.0` |\n| [embed-resource](https://github.com/nabijaczleweli/rust-embed-resource) | `3.0.11` | `3.0.12` |\n| [encoding_rs](https://github.com/hsivonen/encoding_rs) | `0.8.41` | `0.8.42` |\n| [find-msvc-tools](https://github.com/rust-lang/cc-rs) | `0.1.12` | `0.1.14` |\n| [font-types](https://github.com/googlefonts/fontations) | `0.12.5` | `0.12.6` |\n| [ghash](https://github.com/RustCrypto/universal-hashes) | `0.5.1` | `0.6.0` |\n| [h2](https://github.com/hyperium/h2) | `0.4.19` | `0.4.20` |\n| [hkdf](https://github.com/RustCrypto/KDFs) | `0.12.4` | `0.13.0` |\n| [html5ever](https://github.com/servo/html5ever) | `0.38.0` | `0.39.0` |\n| [hyper-rustls](https://github.com/rustls/hyper-rustls) | `0.27.9` | `0.27.10` |\n| [infer](https://github.com/bojand/infer) | `0.19.0` | `0.22.0` |\n| [jiff](https://github.com/BurntSushi/jiff) | `0.2.37` | `0.2.38` |\n| [jiff-static](https://github.com/BurntSushi/jiff) | `0.2.37` | `0.2.38` |\n| [jiff-tzdb](https://github.com/BurntSushi/jiff) | `0.1.8` | `0.1.9` |\n| [json-patch](https://github.com/idubrov/json-patch) | `3.0.1` | `4.2.0` |\n| [jsonptr](https://github.com/chanced/jsonptr) | `0.6.3` | `0.7.1` |\n| [keyboard-types](https://github.com/rust-windowing/keyboard-types) | `0.7.0` | `0.8.3` |\n| libredox | `0.1.24` | `0.1.25` |\n| [markup5ever](https://github.com/servo/html5ever) | `0.38.0` | `0.39.0` |\n| [md-5](https://github.com/RustCrypto/hashes) | `0.10.6` | `0.11.0` |\n| [mio](https://github.com/tokio-rs/mio) | `1.2.3` | `1.2.4` |\n| [muda](https://github.com/tauri-apps/muda) | `0.19.3` | `0.20.0` |\n| [pkcs8](https://github.com/RustCrypto/formats) | `0.10.2` | `0.11.0` |\n| [polyval](https://github.com/RustCrypto/universal-hashes) | `0.6.2` | `0.7.3` |\n| [powerfmt](https://github.com/jhpratt/powerfmt) | `0.2.0` | `0.2.1` |\n| redox_users | `0.5.2` | `0.5.3` |\n| [rustix](https://github.com/bytecodealliance/rustix) | `1.1.4` | `1.1.5` |\n| [sealed](https://github.com/jmg-duarte/sealed-rs) | `0.6.0` | `0.7.0` |\n| [selectors](https://github.com/servo/stylo) | `0.36.1` | `0.38.0` |\n| [sendfd](https://github.com/standard-ai/sendfd) | `0.4.4` | `0.4.5` |\n| [serde_spanned](https://github.com/toml-rs/toml) | `1.1.1` | `1.1.2` |\n| [serde_with](https://github.com/jonasbb/serde_with) | `3.23.0` | `3.24.0` |\n| [serde_with_macros](https://github.com/jonasbb/serde_with) | `3.23.0` | `3.24.0` |\n| [shadowsocks-crypto](https://github.com/shadowsocks/shadowsocks-crypto) | `0.6.2` | `0.8.0` |\n| [signal-hook](https://github.com/vorner/signal-hook) | `0.4.4` | `0.4.5` |\n| [signature](https://github.com/RustCrypto/traits) | `2.2.0` | `3.0.0` |\n| [siphasher](https://github.com/jedisct1/rust-siphash) | `1.0.3` | `1.0.4` |\n| [smallvec](https://github.com/servo/rust-smallvec) | `1.16.1` | `1.16.3` |\n| spin | `0.10.1` | `0.12.3` |\n| [spki](https://github.com/RustCrypto/formats) | `0.7.3` | `0.8.1` |\n| [syn](https://github.com/dtolnay/syn) | `3.0.5` | `3.0.7` |\n| [tao](https://github.com/tauri-apps/tao) | `0.35.3` | `0.37.1` |\n| [tauri-codegen](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.2` |\n| [tauri-macros](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.2` |\n| [tauri-plugin](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.1` |\n| [tauri-runtime](https://github.com/tauri-apps/tauri) | `2.11.3` | `2.12.1` |\n| [tauri-runtime-wry](https://github.com/tauri-apps/tauri) | `2.11.4` | `2.12.1` |\n| [tauri-utils](https://github.com/tauri-apps/tauri) | `2.9.3` | `2.10.1` |\n| [tokio-rustls](https://github.com/rustls/tokio-rustls) | `0.26.5` | `0.26.6` |\n| [toml_datetime](https://github.com/toml-rs/toml) | `1.1.1+spec-1.1.0` | `1.1.2+spec-1.1.0` |\n| [toml_parser](https://github.com/toml-rs/toml) | `1.1.3+spec-1.1.0` | `1.1.5+spec-1.1.0` |\n| [toml_writer](https://github.com/toml-rs/toml) | `1.1.2+spec-1.1.0` | `1.1.3+spec-1.1.0` |\n| [tray-icon](https://github.com/tauri-apps/tray-icon) | `0.24.2` | `0.25.1` |\n| [unicase](https://github.com/seanmonstar/unicase) | `2.9.0` | `2.10.0` |\n| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.24` | `1.0.26` |\n| [untrusted](https://github.com/briansmith/untrusted) | `0.9.0` | `0.7.1` |\n| [urlpattern](https://github.com/denoland/rust-urlpattern) | `0.3.0` | `0.6.0` |\n| [utoipa-gen](https://github.com/juhaku/utoipa) | `5.5.0` | `6.0.1` |\n| [want](https://github.com/seanmonstar/want) | `0.3.1` | `0.3.2` |\n| [webview2-com](https://github.com/wravery/webview2-rs) | `0.38.2` | `0.39.1` |\n| [webview2-com-sys](https://github.com/wravery/webview2-rs) | `0.38.2` | `0.39.1` |\n| [window-vibrancy](https://github.com/tauri-apps/tauri-plugin-vibrancy) | `0.6.0` | `0.8.1` |\n| [windows-collections](https://github.com/microsoft/windows-rs) | `0.2.0` | `0.3.2` |\n| [windows-core](https://github.com/microsoft/windows-rs) | `0.61.2` | `0.62.2` |\n| [windows-future](https://github.com/microsoft/windows-rs) | `0.2.1` | `0.3.2` |\n| [windows-link](https://github.com/microsoft/windows-rs) | `0.1.3` | `0.2.1` |\n| [windows-numerics](https://github.com/microsoft/windows-rs) | `0.2.0` | `0.3.1` |\n| [windows-registry](https://github.com/microsoft/windows-rs) | `0.5.3` | `0.6.1` |\n| [windows-result](https://github.com/microsoft/windows-rs) | `0.3.4` | `0.4.1` |\n| [windows-strings](https://github.com/microsoft/windows-rs) | `0.4.2` | `0.5.1` |\n| [windows-threading](https://github.com/microsoft/windows-rs) | `0.1.0` | `0.2.1` |\n| [wl-clipboard-rs](https://github.com/YaLTeR/wl-clipboard-rs) | `0.9.3` | `0.9.4` |\n| [wry](https://github.com/tauri-apps/wry) | `0.55.1` | `0.57.0` |\n| [yoke-derive](https://github.com/unicode-org/icu4x) | `0.8.2` | `0.8.4` |\n| [zerocopy](https://github.com/google/zerocopy) | `0.8.57` | `0.8.62` |\n| [zerocopy-derive](https://github.com/google/zerocopy) | `0.8.57` | `0.8.62` |\n| [zerofrom-derive](https://github.com/unicode-org/icu4x) | `0.1.7` | `0.1.8` |\n| [zeroize](https://github.com/RustCrypto/utils) | `1.9.0` | `1.9.1` |\n| [zlib-rs](https://github.com/trifectatechfoundation/zlib-rs) | `0.6.7` | `0.6.8` |\n\n\nUpdates `tauri` from 2.11.5 to 2.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/tauri/releases\"\u003etauri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etauri v2.11.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003eFetching advisory database from `https://github.com/RustSec/advisory-db.git`\n      Loaded 1251 security advisories (from /home/runner/.cargo/advisory-db)\n    Updating crates.io index\n    Scanning Cargo.lock for vulnerabilities (1075 crate dependencies)\nCrate:     fxhash\nVersion:   0.2.1\nWarning:   unmaintained\nTitle:     fxhash - no longer maintained\nDate:      2025-09-05\nID:        RUSTSEC-2025-0057\nURL:       https://rustsec.org/advisories/RUSTSEC-2025-0057\n\u003cp\u003eCrate:     paste\u003cbr /\u003e\nVersion:   1.0.15\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     paste - no longer maintained\u003cbr /\u003e\nDate:      2024-10-07\u003cbr /\u003e\nID:        RUSTSEC-2024-0436\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2024-0436\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2024-0436\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     rustls-pemfile\u003cbr /\u003e\nVersion:   1.0.4\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     rustls-pemfile is unmaintained\u003cbr /\u003e\nDate:      2025-11-28\u003cbr /\u003e\nID:        RUSTSEC-2025-0134\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2025-0134\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2025-0134\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     rustls-pemfile\u003cbr /\u003e\nVersion:   2.2.0\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     rustls-pemfile is unmaintained\u003cbr /\u003e\nDate:      2025-11-28\u003cbr /\u003e\nID:        RUSTSEC-2025-0134\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2025-0134\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2025-0134\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     rustybuzz\u003cbr /\u003e\nVersion:   0.20.1\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     \u003ccode\u003erustybuzz\u003c/code\u003e is unmaintained\u003cbr /\u003e\nDate:      2026-07-11\u003cbr /\u003e\nID:        RUSTSEC-2026-0206\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2026-0206\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2026-0206\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     ttf-parser\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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/tauri-apps/tauri/commit/9452ddee5ebefd9b678a94ff003521379df6c9ae\"\u003e\u003ccode\u003e9452dde\u003c/code\u003e\u003c/a\u003e fix audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/7c2fe9ffd35139c31817225f670332cf4b70c5b6\"\u003e\u003ccode\u003e7c2fe9f\u003c/code\u003e\u003c/a\u003e run covector version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/7d71a8af9f2dbb65a197291c56ab086e1a79ffad\"\u003e\u003ccode\u003e7d71a8a\u003c/code\u003e\u003c/a\u003e add publish-hotfix workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/5a87bab122e82de23dccf42968d49a0f0b7f09d0\"\u003e\u003ccode\u003e5a87bab\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/e901f1de9ee4dee9d0d2e1942808679a14f1f610\"\u003e\u003ccode\u003ee901f1d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tauri-apps/tauri/compare/tauri-v2.11.5...tauri-v2.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-opener` from 2.5.5 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-opener's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003efs-js v2.7.0\u003c/h2\u003e\n\u003ch2\u003e[2.7.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a934743b7307891cc028c0dea945113311ddf100\"\u003e\u003ccode\u003ea934743b\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3637\"\u003e#3637\u003c/a\u003e) Added the \u003ccode\u003escopeDroppedPaths\u003c/code\u003e plugin config option (\u003ccode\u003eplugins \u0026gt; fs \u0026gt; scopeDroppedPaths\u003c/code\u003e in \u003ccode\u003etauri.conf.json\u003c/code\u003e). Set it to \u003ccode\u003efalse\u003c/code\u003e to stop adding the paths dropped onto any window to the fs scope, which otherwise gives every webview with an fs permission access to them (directories recursively). Defaults to \u003ccode\u003etrue\u003c/code\u003e, the current behaviour.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/085a02835d1c3eab09f2804f7d7e29611c010a01\"\u003e\u003ccode\u003e085a0283\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3636\"\u003e#3636\u003c/a\u003e) Fixed a panic on Android when a content provider returns no file descriptor for a \u003ccode\u003econtent://\u003c/code\u003e URI (e.g. virtual files). The fs command now fails with an error instead.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f81f0447cc8d5ce6b88cc72aede4b7324428a542\"\u003e\u003ccode\u003ef81f0447\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3635\"\u003e#3635\u003c/a\u003e) Fixed reading uncompressed Android assets (\u003ccode\u003e$RESOURCE\u003c/code\u003e files such as images or audio that are stored uncompressed in the APK) returning the bytes of the APK instead of the asset. Assets are now always read from a copy in the app cache, like compressed ones.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e03dca60e7c9219e24095e8da46f775fc9137e76\"\u003e\u003ccode\u003ee03dca60\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3628\"\u003e#3628\u003c/a\u003e) \u003ccode\u003estartAccessingSecurityScopedResource\u003c/code\u003e and \u003ccode\u003estopAccessingSecurityScopedResource\u003c/code\u003e now accept absolute paths on iOS, as documented, instead of silently doing nothing unless given a \u003ccode\u003efile://\u003c/code\u003e URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5de7ebfc952c07f376b2c25f3789742071748d5a\"\u003e\u003ccode\u003e5de7ebfc\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3634\"\u003e#3634\u003c/a\u003e) \u003cstrong\u003eSecurity:\u003c/strong\u003e the \u003ccode\u003eopen\u003c/code\u003e command no longer accepts a \u003ccode\u003ecustomFlags\u003c/code\u003e option from the webview. It was not part of the JavaScript types and let the webview pass arbitrary \u003ccode\u003eopen(2)\u003c/code\u003e flags (e.g. \u003ccode\u003eO_TRUNC\u003c/code\u003e) to files it may only read. \u003ccode\u003eOpenOptionsExt::custom_flags\u003c/code\u003e still works from Rust.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5e6c023a796a21594064d06421c3bad3cef0a470\"\u003e\u003ccode\u003e5e6c023a\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3626\"\u003e#3626\u003c/a\u003e) \u003ccode\u003eFileHandle.read\u003c/code\u003e no longer allocates a buffer of the requested size up front: the length is capped to the rest of the file (64 MiB for files of unknown size), an allocation failure is reported as an error instead of aborting the app, and only the bytes that were read are sent back to the webview.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a9000177cd2f51ec02096db89fc0be5d389be20\"\u003e\u003ccode\u003e3a900017\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3627\"\u003e#3627\u003c/a\u003e) \u003cstrong\u003eSecurity:\u003c/strong\u003e the fs scope check now resolves symlinks in the ancestors of paths that do not exist yet, and resolves relative symlink targets against the link's directory instead of the process working directory. Previously a new file created below a symlinked directory inside the scope (\u003ccode\u003ewriteFile\u003c/code\u003e, \u003ccode\u003emkdir\u003c/code\u003e, \u003ccode\u003ecreate\u003c/code\u003e, \u003ccode\u003erename\u003c/code\u003e, \u003ccode\u003ecopyFile\u003c/code\u003e, ...) was written outside of the scope. Deny patterns now also apply to the path as given, so they can name a symlink, and a path whose symlinks cannot be resolved (e.g. a loop) is rejected.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/77d00a4f54ba65a2ab04a25ba501cf704e25fe60\"\u003e\u003ccode\u003e77d00a4f\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3633\"\u003e#3633\u003c/a\u003e) \u003ccode\u003eFileHandle.seek\u003c/code\u003e now rejects a negative offset with \u003ccode\u003eSeekMode.Start\u003c/code\u003e instead of seeking to a huge position.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5c144e74663a34b593dd70da9fcb48b6a21270a1\"\u003e\u003ccode\u003e5c144e74\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3631\"\u003e#3631\u003c/a\u003e) Fixed \u003ccode\u003ereadTextFileLines\u003c/code\u003e with a UTF-16 encoding splitting lines on a \u003ccode\u003e0x0A 0x00\u003c/code\u003e (LE) or \u003ccode\u003e0x00 0x0A\u003c/code\u003e (BE) byte sequence that is not aligned on a code unit, e.g. \u003ccode\u003eਗĀ\u003c/code\u003e, which garbled every following line.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/dcc8cb032b3db46a1ec9d0023391071806451fb7\"\u003e\u003ccode\u003edcc8cb03\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3629\"\u003e#3629\u003c/a\u003e) Fixed \u003ccode\u003ewriteFile\u003c/code\u003e with a \u003ccode\u003eReadableStream\u003c/code\u003e leaving the end of the previous contents in place when the new data is shorter. The file is now truncated first unless \u003ccode\u003eappend\u003c/code\u003e is set, like when writing a buffer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-fs@2.7.0\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 2.4kB README.md\nnpm notice 39.9kB dist-js/index.cjs\nnpm notice 41.1kB dist-js/index.d.ts\nnpm notice 39.2kB dist-js/index.js\nnpm notice 697B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-fs\nnpm notice version: 2.7.0\nnpm notice filename: tauri-apps-plugin-fs-2.7.0.tgz\nnpm notice package size: 25.6 kB\nnpm notice unpacked size: 124.3 kB\nnpm notice shasum: e76d4d07b05063de6911fd1c42948ab0264ac20e\nnpm notice integrity: sha512-8RQbPkuYuLZ2r[...]GdKJVqDokyDgQ==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3189606635\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-fs@2.7.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6bbd44d4ef254d835a12c6d7bdf2a8a61778031a\"\u003e\u003ccode\u003e6bbd44d\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/fc18d0551354c109b7d1fcbe57550649d693daaa\"\u003e\u003ccode\u003efc18d05\u003c/code\u003e\u003c/a\u003e fix(global-shortcut): release the shortcuts lock before running handlers (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3683\"\u003e#3683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b4\u003c/code\u003e\u003c/a\u003e fix(ios): make \u003ccode\u003einit_plugin_*\u003c/code\u003e entry points public so release builds link on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/818d2e04d92fd208f11aafdf32bb4a0605f344b2\"\u003e\u003ccode\u003e818d2e0\u003c/code\u003e\u003c/a\u003e fix(single-instance): limit second instance's wait on Windows (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/323fe80df1f0a78fb2c8d1dfca7a635fd5e0a3c3\"\u003e\u003ccode\u003e323fe80\u003c/code\u003e\u003c/a\u003e fix(single-instance): forward non-Unicode arguments and cwd (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3644\"\u003e#3644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/677258138b300b60d008b66debc8131de75e38da\"\u003e\u003ccode\u003e6772581\u003c/code\u003e\u003c/a\u003e test(e2e): fix __name usage on FS test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/46f7c878a0f23ebd7aeafa315af2bd0739972f19\"\u003e\u003ccode\u003e46f7c87\u003c/code\u003e\u003c/a\u003e chore: fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a8acd178bdc03797e3d00c9fb45c161cf3d3b52e\"\u003e\u003ccode\u003ea8acd17\u003c/code\u003e\u003c/a\u003e feat(shell): add process group spawn option (fix \u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/1332\"\u003e#1332\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3351\"\u003e#3351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e03dca60e7c9219e24095e8da46f775fc9137e76\"\u003e\u003ccode\u003ee03dca6\u003c/code\u003e\u003c/a\u003e fix(fs): accept absolute paths in the iOS security-scope commands (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a9000177cd2f51ec02096db89fc0be5d389be20\"\u003e\u003ccode\u003e3a90001\u003c/code\u003e\u003c/a\u003e fix(fs): resolve symlinks of missing paths before checking the scope (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/http-v2.5.5...fs-v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-fs` from 2.5.2 to 2.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-fs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enotification-js v2.6.0\u003c/h2\u003e\n\u003ch2\u003e[2.6.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003efeat\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/46381516b7bd7b6915ded698d93e92760b4221d7\"\u003e\u003ccode\u003e46381516\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3671\"\u003e#3671\u003c/a\u003e) Report actions on desktop: a click on a notification (\u003ccode\u003etap\u003c/code\u003e) or on one of the actions of its action type reaches \u003ccode\u003eonAction\u003c/code\u003e and the new Rust \u003ccode\u003eNotification::on_action\u003c/code\u003e, which also works on mobile. \u003ccode\u003eregisterActionTypes\u003c/code\u003e, \u003ccode\u003eremoveActive\u003c/code\u003e (Linux and the BSDs) and the listener commands no longer fail with \u0026quot;command not found\u0026quot; on desktop.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eonAction\u003c/code\u003e callback is now typed with the new \u003ccode\u003eActionPerformed\u003c/code\u003e interface, which is what every platform sends, instead of \u003ccode\u003eOptions\u003c/code\u003e. Callbacks annotated with \u003ccode\u003eOptions\u003c/code\u003e must be updated.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-notification@2.6.0\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 4.2kB README.md\nnpm notice 16.6kB dist-js/index.cjs\nnpm notice 26.1kB dist-js/index.d.ts\nnpm notice 16.2kB dist-js/index.js\nnpm notice 11B dist-js/init.d.ts\nnpm notice 663B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-notification\nnpm notice version: 2.6.0\nnpm notice filename: tauri-apps-plugin-notification-2.6.0.tgz\nnpm notice package size: 11.1 kB\nnpm notice unpacked size: 64.7 kB\nnpm notice shasum: 68f6090e06e17a92fd1803c7b40a01e4ee20cc7c\nnpm notice integrity: sha512-QvpsQ6L6uSGT/[...]J3c52S+1afsIw==\nnpm notice total files: 7\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3189634908\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-notification@2.6.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003enotification v2.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a2364a5f216324439feedeb25b2db74e7b1eba90\"\u003e\u003ccode\u003ea2364a5\u003c/code\u003e\u003c/a\u003e fix: integration test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/67ebc1396bfd4b437530f9bbe8bed6845ade8fc3\"\u003e\u003ccode\u003e67ebc13\u003c/code\u003e\u003c/a\u003e fix(ci): check-publish job should check .changes/pre.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/cbfd428bcc3ecb21aac9dd049779c9b9c7b90734\"\u003e\u003ccode\u003ecbfd428\u003c/code\u003e\u003c/a\u003e Publish New Versions (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3618\"\u003e#3618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f460570b4423708fb3b5ab1e1213d889a4d7a9b5\"\u003e\u003ccode\u003ef460570\u003c/code\u003e\u003c/a\u003e chore: fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a433ec09d13c6532f54256608d8e951283d64596\"\u003e\u003ccode\u003ea433ec0\u003c/code\u003e\u003c/a\u003e fix: mobile clippy warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3d8a3c877b352726285b79be9450dd59ba78fc63\"\u003e\u003ccode\u003e3d8a3c8\u003c/code\u003e\u003c/a\u003e chore: edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b517cc7e858d0d45d6b0d67fddf5290ff2e7e2ca\"\u003e\u003ccode\u003eb517cc7\u003c/code\u003e\u003c/a\u003e fix: actually set rust-version to 1.90\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b6a38a5e32c64745d28267d1ab59c8bd02ba4d72\"\u003e\u003ccode\u003eb6a38a5\u003c/code\u003e\u003c/a\u003e fix(ci): e2e test error reporting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9b29b601f387ded1f4adb4386623a3c035a5598c\"\u003e\u003ccode\u003e9b29b60\u003c/code\u003e\u003c/a\u003e feat: update to tauri 2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a01943572ba0d00909857a62588d06159e709ba\"\u003e\u003ccode\u003e3a01943\u003c/code\u003e\u003c/a\u003e tests(e2e): fix e2e failures on Linux and Windows (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3642\"\u003e#3642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.5.2...fs-v2.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-shell` from 2.3.6 to 2.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-shell's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egeolocation-js v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-geolocation@2.4.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 4.8kB README.md\nnpm notice 3.9kB dist-js/index.cjs\nnpm notice 6.3kB dist-js/index.d.ts\nnpm notice 3.7kB dist-js/index.js\nnpm notice 662B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-geolocation\nnpm notice version: 2.4.1\nnpm notice filename: tauri-apps-plugin-geolocation-2.4.1.tgz\nnpm notice package size: 4.8 kB\nnpm notice unpacked size: 20.2 kB\nnpm notice shasum: 0113f207fe25a8779e5d4d31e789ffa7397532f2\nnpm notice integrity: sha512-XYZwcB8Azz9dJ[...]oOVoNEnUDxoDA==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028122996\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-geolocation@2.4.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003egeolocation v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d66aa6ff78cbbeaef1542a1fa930c33399578a25\"\u003e\u003ccode\u003ed66aa6f\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2822\"\u003e#2822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6f345870df4e7b187deb869df03b79858e03b4fe\"\u003e\u003ccode\u003e6f34587\u003c/code\u003e\u003c/a\u003e fix(single-instance): disable dbus name replacement (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2860\"\u003e#2860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/708fa4e2b77e847ce554115e80f7eb685f4a322e\"\u003e\u003ccode\u003e708fa4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-config-prettier to v10.1.8 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2858\"\u003e#2858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b7292030594daa04e78979214478031241b6e38e\"\u003e\u003ccode\u003eb729203\u003c/code\u003e\u003c/a\u003e fix(upload): fix download() locks main thread on Android (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2838\"\u003e#2838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2f9c71aae77cddd4ca2ffe9d13e9e1f23ee4f478\"\u003e\u003ccode\u003e2f9c71a\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2850\"\u003e#2850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/80d4d8e128922b022e76049189a657b71ce95a97\"\u003e\u003ccode\u003e80d4d8e\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint monorepo to v9.31.0 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2839\"\u003e#2839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e7a98b0d2e60463ff86a0f031ce3c84c83a21274\"\u003e\u003ccode\u003ee7a98b0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.37.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2848\"\u003e#2848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/44a1f659125a341191420e650608b0b6ff316a0e\"\u003e\u003ccode\u003e44a1f65\u003c/code\u003e\u003c/a\u003e fix(fs): \u003ccode\u003ewriteFile\u003c/code\u003e create file by default (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2846\"\u003e#2846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6210cd31df00bb3c55642013c74dc1da81fa00f9\"\u003e\u003ccode\u003e6210cd3\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2841\"\u003e#2841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/467f07b7de4103a653e40fec8badb6f24abcef39\"\u003e\u003ccode\u003e467f07b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v7 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2800\"\u003e#2800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/nfc-v2.3.6...fs-v2.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-deep-link` from 2.4.10 to 2.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-deep-link's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edeep-link-js v2.6.1\u003c/h2\u003e\n\u003ch2\u003e[2.6.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-deep-link@2.6.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 6.2kB README.md\nnpm notice 4.7kB dist-js/index.cjs\nnpm notice 4.0kB dist-js/index.d.ts\nnpm notice 4.5kB dist-js/index.js\nnpm notice 801B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-deep-link\nnpm notice version: 2.6.1\nnpm notice filename: tauri-apps-plugin-deep-link-2.6.1.tgz\nnpm notice package size: 4.8 kB\nnpm notice unpacked size: 21.1 kB\nnpm notice shasum: 916950afe9d8999303d71400b1168a132bd64c59\nnpm notice integrity: sha512-yomIOIoiiDwXW[...]TI3XdDd2T9XlA==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028118946\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-deep-link@2.6.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003edeep-link v2.6.1\u003c/h2\u003e\n\u003ch2\u003e[2.6.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3c5d2677677dc7ebea618514af56fc951449cc1b\"\u003e\u003ccode\u003e3c5d267\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3567\"\u003e#3567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/c050e073b68205bae7389fb86958cb9331e1a3be\"\u003e\u003ccode\u003ec050e07\u003c/code\u003e\u003c/a\u003e fix(store): \u003ccode\u003eapply_pending_auto_save\u003c/code\u003e can deadlock (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3572\"\u003e#3572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/0850317b5c85092cbf4ea9caf4ef3a9c771fcf27\"\u003e\u003ccode\u003e0850317\u003c/code\u003e\u003c/a\u003e chore(deps): update pnpm to v12 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3576\"\u003e#3576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2a5783397eccd4927742dd95508938b7c7f20fb2\"\u003e\u003ccode\u003e2a57833\u003c/code\u003e\u003c/a\u003e refactor(example): use tsconfig and change entries to ts (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3575\"\u003e#3575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b48d52cf6eb59b12fd5ad5e4b7cde864c03ebd5b\"\u003e\u003ccode\u003eb48d52c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.63.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3558\"\u003e#3558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a21555ddd2eaadfed23848912fe2802c2ba7579e\"\u003e\u003ccode\u003ea21555d\u003c/code\u003e\u003c/a\u003e fix(http): stop unhandled rejections from the fetch cleanup path (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3566\"\u003e#3566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/845d8989cbd2fb1913ea0d62618591298a181495\"\u003e\u003ccode\u003e845d898\u003c/code\u003e\u003c/a\u003e fix: ignore and fix audits (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3564\"\u003e#3564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/deep-link-v2.4.10...http-v2.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-single-instance` from 2.4.4 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-single-instance's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esingle-instance v2.5.2\u003c/h2\u003e\n\u003ch2\u003e[2.5.2]\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003edeep-link@2.6.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003eUpdating crates.io index\n   Packaging tauri-plugin-single-instance v2.5.2 (/home/runner/work/plugins-workspace/plugins-workspace/plugins/single-instance)\n    Updating crates.io index\nwarning: package `yoke-derive v0.8.3` in Cargo.lock is yanked in registry `crates-io`\n  |\n  = help: consider updating to a version that is not yanked\n    Packaged 15 files, 168.3KiB (46.0KiB compressed)\n   Uploading tauri-plugin-single-instance v2.5.2 (/home/runner/work/plugins-workspace/plugins-workspace/plugins/single-instance)\n    Uploaded tauri-plugin-single-instance v2.5.2 to registry `crates-io`\nnote: waiting for tauri-plugin-single-instance v2.5.2 to be available at registry `crates-io`\nhelp: you may press ctrl-c to skip waiting; the crate should be available shortly\n   Published tauri-plugin-single-instance v2.5.2 at registry `crates-io`\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ebarcode-scanner-js v2.5.2\u003c/h2\u003e\n\u003ch2\u003e[2.5.2]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-barcode-scanner@2.5.2\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 3.3kB README.md\nnpm notice 5.3kB dist-js/index.cjs\nnpm notice 5.3kB dist-js/index.d.ts\nnpm notice 5.2kB dist-js/index.js\nnpm notice 755B package.json\nnpm notice Tarball Details\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6aa2854f314481a459be1189b02c65a2450789ab\"\u003e\u003ccode\u003e6aa2854\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3509\"\u003e#3509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9d6d03269a3dea3e9dbf4635fe0fd68f23f750fa\"\u003e\u003ccode\u003e9d6d032\u003c/code\u003e\u003c/a\u003e chore(deps): update h2 to 0.4.19 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3556\"\u003e#3556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/98f8787de428ee2353567057891112cd5e854f48\"\u003e\u003ccode\u003e98f8787\u003c/code\u003e\u003c/a\u003e ci: fix typo in workflow permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/1a7b12c10256567aca763f4d47cc4da886f73c63\"\u003e\u003ccode\u003e1a7b12c\u003c/code\u003e\u003c/a\u003e ci: add explicit token permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2f4c85c99a1799212e3550ba8b4bc597bc9d26ae\"\u003e\u003ccode\u003e2f4c85c\u003c/code\u003e\u003c/a\u003e chore(deps): bump serde_with (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3490\"\u003e#3490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/c546de061656f37a6c2192f82eea0060c84460d0\"\u003e\u003ccode\u003ec546de0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.62.5 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/db9c5998feff9384f9cbbefcbe0d45937c00a1fc\"\u003e\u003ccode\u003edb9c599\u003c/code\u003e\u003c/a\u003e fix(android): missing \u003ccode\u003econsumer-rules.pro\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3531\"\u003e#3531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9c9343772b8feb8d63c84cd6e0d36164b33415c3\"\u003e\u003ccode\u003e9c93437\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.66.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3391\"\u003e#3391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/685610ae782b668770d412f42a5d52d2cc9e497e\"\u003e\u003ccode\u003e685610a\u003c/code\u003e\u003c/a\u003e fix(fs): default permissions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3507\"\u003e#3507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f8053e659e4ccd85c1f52833411ff8417cbc5e69\"\u003e\u003ccode\u003ef8053e6\u003c/code\u003e\u003c/a\u003e docs: cargo features (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3527\"\u003e#3527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.4.4...fs-v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-dialog` from 2.7.3 to 2.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-dialog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edialog-js v2.8.1\u003c/h2\u003e\n\u003ch2\u003e[2.8.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-dialog@2.8.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 3.5kB README.md\nnpm notice 7.1kB dist-js/index.cjs\nnpm notice 15.1kB dist-js/index.d.ts\nnpm notice 7.0kB dist-js/index.js\nnpm notice 11B dist-js/init.d.ts\nnpm notice 657B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-dialog\nnpm notice version: 2.8.1\nnpm notice filename: tauri-apps-plugin-dialog-2.8.1.tgz\nnpm notice package size: 6.8 kB\nnpm notice unpacked size: 34.3 kB\nnpm notice shasum: f29f3c28862a1ed767b6fd241f34abf26129f88f\nnpm notice integrity: sha512-/DtE3B62JgpYu[...]phsKnb+738Dmw==\nnpm notice total files: 7\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028120915\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-dialog@2.8.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003edialog v2.8.1\u003c/h2\u003e\n\u003ch2\u003e[2.8.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/7eb8246d47ba4d15002280ecf028521540e0070d\"\u003e\u003ccode\u003e7eb8246\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/65ce65bdbb4390f73076c8182fbf06a52036f241\"\u003e\u003ccode\u003e65ce65b\u003c/code\u003e\u003c/a\u003e fix(ci): Android e2e flakes, shell \u003ccode\u003eTerminated\u003c/code\u003e sent before output (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/cbd691b651dfdb4312cb42d3542c06a781fb31e5\"\u003e\u003ccode\u003ecbd691b\u003c/code\u003e\u003c/a\u003e chore(examples): update Android project for API example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/974bbdc3ffc79f89a2641e3cd23361d1a85da8e4\"\u003e\u003ccode\u003e974bbdc\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3113a54cc275b1af532c3fb20154beba7d67d623\"\u003e\u003ccode\u003e3113a54\u003c/code\u003e\u003c/a\u003e chore(deps): update urlpattern to 0.6 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3670\"\u003e#3670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b443d6be52a17329b980c55e8bbd03fb6cbb5cd7\"\u003e\u003ccode\u003eb443d6b\u003c/code\u003e\u003c/a\u003e fix(http): release the request's resources once fetch_send settles (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2a9c29e004325db674fd904089749c38f4aac824\"\u003e\u003ccode\u003e2a9c29e\u003c/code\u003e\u003c/a\u003e fix(updater): restore the current app when a macOS install fails (fix \u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3505\"\u003e#3505\u003c/a\u003e, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d4835d0e947179bac24a383212792d74be3ebe4f\"\u003e\u003ccode\u003ed4835d0\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3660\"\u003e#3660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82\u003c/code\u003e\u003c/a\u003e fix: mobile docs.rs builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/25f387465659f17c7e395268dbfb2175eb847769\"\u003e\u003ccode\u003e25f3874\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-plugin-security to v4.1.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3661\"\u003e#3661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/dialog-v2.7.3...http-v2.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-log` from 2.9.1 to 2.10.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a2364a5f216324439feedeb25b2db74e7b1eba90\"\u003e\u003ccode\u003ea2364a5\u003c/code\u003e\u003c/a\u003e fix: integration test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/67ebc1396bfd4b437530f9bbe8bed6845ade8fc3\"\u003e\u003ccode\u003e67ebc13\u003c/code\u003e\u003c/a\u003e fix(ci): check-publish job should check .changes/pre.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/cbfd428bcc3ecb21aac9dd049779c9b9c7b90734\"\u003e\u003ccode\u003ecbfd428\u003c/code\u003e\u003c/a\u003e Publish New Versions (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3618\"\u003e#3618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f460570b4423708fb3b5ab1e1213d889a4d7a9b5\"\u003e\u003ccode\u003ef460570\u003c/code\u003e\u003c/a\u003e chore: fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a433ec09d13c6532f54256608d8e951283d64596\"\u003e\u003ccode\u003ea433ec0\u003c/code\u003e\u003c/a\u003e fix: mobile clippy warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3d8a3c877b352726285b79be9450dd59ba78fc63\"\u003e\u003ccode\u003e3d8a3c8\u003c/code\u003e\u003c/a\u003e chore: edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b517cc7e858d0d45d6b0d67fddf5290ff2e7e2ca\"\u003e\u003ccode\u003eb517cc7\u003c/code\u003e\u003c/a\u003e fix: actually set rust-version to 1.90\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b6a38a5e32c64745d28267d1ab59c8bd02ba4d72\"\u003e\u003ccode\u003eb6a38a5\u003c/code\u003e\u003c/a\u003e fix(ci): e2e test error reporting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9b29b601f387ded1f4adb4386623a3c035a5598c\"\u003e\u003ccode\u003e9b29b60\u003c/code\u003e\u003c/a\u003e feat: update to tauri 2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a01943572ba0d00909857a62588d06159e709ba\"\u003e\u003ccode\u003e3a01943\u003c/code\u003e\u003c/a\u003e tests(e2e): fix e2e failures on Linux and Windows (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3642\"\u003e#3642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/log-v2.9.1...log-v2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-clipboard-manager` from 2.3.3 to 2.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-clipboard-manager's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egeolocation-js v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-geolocation@2.4.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 4.8kB README.md\nnpm notice 3.9kB dist-js/index.cjs\nnpm notice 6.3kB dist-js/index.d.ts\nnpm notice 3.7kB dist-js/index.js\nnpm notice 662B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-geolocation\nnpm notice version: 2.4.1\nnpm notice filename: tauri-apps-plugin-geolocation-2.4.1.tgz\nnpm notice package size: 4.8 kB\nnpm notice unpacked size: 20.2 kB\nnpm notice shasum: 0113f207fe25a8779e5d4d31e789ffa7397532f2\nnpm notice integrity: sha512-XYZwcB8Azz9dJ[...]oOVoNEnUDxoDA==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028122996\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-geolocation@2.4.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003egeolocation v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d66aa6ff78cbbeaef1542a1fa930c33399578a25\"\u003e\u003ccode\u003ed66aa6f\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2822\"\u003e#2822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6f345870df4e7b187deb869df03b79858e03b4fe\"\u003e\u003ccode\u003e6f34587\u003c/code\u003e\u003c/a\u003e fix(single-instance): disable dbus name replacement (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2860\"\u003e#2860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/708fa4e2b77e847ce554115e80f7eb685f4a322e\"\u003e\u003ccode\u003e708fa4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-config-prettier to v10.1.8 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2858\"\u003e#2858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b7292030594daa04e78979214478031241b6e38e\"\u003e\u003ccode\u003eb729203\u003c/code\u003e\u003c/a\u003e fix(upload): fix download() locks main thread on Android (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2838\"\u003e#2838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2f9c71aae77cddd4ca2ffe9d13e9e1f23ee4f478\"\u003e\u003ccode\u003e2f9c71a\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2850\"\u003e#2850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/80d4d8e128922b022e76049189a657b71ce95a97\"\u003e\u003ccode\u003e80d4d8e\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint monorepo to v9.31.0 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2839\"\u003e#2839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e7a98b0d2e60463ff86a0f031ce3c84c83a21274\"\u003e\u003ccode\u003ee7a98b0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.37.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2848\"\u003e#2848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/44a1f659125a341191420e650608b0b6ff316a0e\"\u003e\u003ccode\u003e44a1f65\u003c/code\u003e\u003c/a\u003e fix(fs): \u003ccode\u003ewriteFile\u003c/code\u003e create file by default (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2846\"\u003e#2846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6210cd31df00bb3c55642013c74dc1da81fa00f9\"\u003e\u003ccode\u003e6210cd3\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2841\"\u003e#2841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/467f07b7de4103a653e40fec8badb6f24abcef39\"\u003e\u003ccode\u003e467f07b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v7 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2800\"\u003e#2800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/nfc-v2.3.3...fs-v2.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-window-state` from 2.4.1 to 2.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-window-state's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eshell-js v2.5.0\u003c/h2\u003e\n\u003ch2\u003e[2.5.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a8acd178bdc03797e3d00c9fb45c161cf3d3b52e\"\u003e\u003ccode\u003ea8acd178\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3351\"\u003e#3351\u003c/a\u003e) Add \u003ccode\u003eprocessGroup\u003c/code\u003e option to spawn commands in a new process group (POSIX) or job object (Windows), allowing the entire process tree to be killed when calling \u003ccode\u003ekill()\u003c/code\u003e on the child process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-shell@2.5.0\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 2.6kB README.md\nnpm notice 21.8kB dist-js/index.cjs\nnpm notice 22.0kB dist-js/index.d.ts\nnpm notice 21.7kB dist-js/index.js\nnpm notice 11B dist-js/init.d.ts\nnpm notice 656B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-shell\nnpm notice version: 2.5.0\nnpm notice filename: tauri-apps-plugin-shell-2.5.0.tgz\nnpm notice package size: 8.0 kB\nnpm notice unpacked size: 69.6 kB\nnpm notice shasum: 16d0b1a1f5b02689777a01dc78b9d591eec3a3b7\nnpm notice integrity: sha512-FZ6RtcikCxJ35[...]DcLs7JIfuFkWw==\nnpm notice total files: 7\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3189638540\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-shell@2.5.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eshell v2.5.0\u003c/h2\u003e\n\u003ch2\u003e[2.5.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a8acd178bdc03797e3d00c9fb45c161cf3d3b52e\"\u003e\u003ccode\u003ea8acd178\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3351\"\u003e#3351\u003c/a\u003e) Add \u003ccode\u003eprocessGroup\u003c/code\u003e option to spawn commands in a new process group (POSIX) or job object (Windows), allowing the entire process tree to be killed when calling \u003ccode\u003ekill()\u003c/code\u003e on the child process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d6a3898001a4bcc659e045f9501498751b77dbe6\"\u003e\u003ccode\u003ed6a3898\u003c/code\u003e\u003c/a\u003e Publish New Versions (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3268\"\u003e#3268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2e5bcdf202f98ec0fb0481725dd32f0626c766c8\"\u003e\u003ccode\u003e2e5bcdf\u003c/code\u003e\u003c/a\u003e chore(deps): fix audits (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/4374b4fc1a9a7c0506034d86707fd3288d347f9b\"\u003e\u003ccode\u003e4374b4f\u003c/code\u003e\u003c/a\u003e chore(notification): remove unused dev-deps (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3372\"\u003e#3372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f75d21db3351d6f12adf585c2c797c20ece94f7f\"\u003e\u003ccode\u003ef75d21d\u003c/code\u003e\u003c/a\u003e chore(deps): remove used of tauri-utils build feature (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3360\"\u003e#3360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/4b95f5e079593d5b2b98220c332f420dc70d18d1\"\u003e\u003ccode\u003e4b95f5e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.1.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3357\"\u003e#3357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/99c3e37b54c115e8712f67c2b53ed1f2f0b4aae6\"\u003e\u003ccode\u003e99c3e37\u003c/code\u003e\u003c/a\u003e chore(deps): bump tar in /plugins/updater/tests/updater-migration/v1-app (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3352\"\u003e#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/eaac19a5b7e325a06d4c1c6d740e38d86c55cd89\"\u003e\u003ccode\u003eeaac19a\u003c/code\u003e\u003c/a\u003e chore(deps): update rust crate tar to v0.4.45 [security] (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3353\"\u003e#3353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5183e314cbabc179228e232992ad67025f30272d\"\u003e\u003ccode\u003e5183e31\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.57.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3344\"\u003e#3344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2c0883e64e9a53ea18102ed350cd5e65ba7c8f4b\"\u003e\u003ccode\u003e2c0883e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v8 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3346\"\u003e#3346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/024ec0c29c20cf94579dab9b79d6be0da61a8daa\"\u003e\u003ccode\u003e024ec0c\u003c/code\u003e\u003c/a\u003e fix(deep-link): ChromeOS deep link calls filtered and ignored by plugin (fix ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.4.1...fs-v2.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokio` from 1.53.1 to 1.53.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/cjkjfs/bwbrowser/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjkjfs%2Fbwbrowser/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"5820670621","node_id":"PR_kwDOSsIXTM8AAAABIDMjjA","number":268,"state":"open","title":"chore(deps): bump the cargo-dependencies group with 4 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-12T21:27:48.000Z","updated_at":"2026-10-13T05:17:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"cargo-dependencies","update_count":4,"packages":[{"name":"tokio","old_version":"1.53.1","new_version":"1.53.2","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"hyper","old_version":"1.11.1","new_version":"1.12.0","repository_url":"https://github.com/hyperium/hyper"},{"name":"toml","old_version":"1.1.6+spec-1.1.0","new_version":"1.1.8+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.0","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the cargo-dependencies group with 4 updates: [tokio](https://github.com/tokio-rs/tokio), [hyper](https://github.com/hyperium/hyper), [toml](https://github.com/toml-rs/toml) and [zip](https://github.com/zip-rs/zip2).\n\nUpdates `tokio` from 1.53.1 to 1.53.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tokio-rs/tokio/releases\"\u003etokio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTokio v1.53.2\u003c/h2\u003e\n\u003ch1\u003e1.53.2 (October 3rd, 2026)\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eio: revert \u0026quot;always cleanup \u003ccode\u003eAsyncFd\u003c/code\u003e registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprocess: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix mpsc index wraparound in block reclamation (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: forget mpsc \u003ccode\u003ePermit\u003c/code\u003e before sending value (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: validate \u003ccode\u003eMAX_PERMITS\u003c/code\u003e in \u003ccode\u003eSemaphore::acquire\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake broadcast \u003ccode\u003eSender::closed\u003c/code\u003e outside mutex (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etask: drop replaced waker outside lock in \u003ccode\u003eJoinSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop timer lock before dropping waker in \u003ccode\u003eclear_entry\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: expire timers directly on shutdown without rotating wheel (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed (unstable)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: clamp \u003ccode\u003eio_uring\u003c/code\u003e read length to \u003ccode\u003eu32::MAX\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8572\"\u003e#8572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: ignore \u003ccode\u003ecurrent_thread\u003c/code\u003e task dumps from other runtimes (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8544\"\u003e#8544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: preserve \u003ccode\u003eio_uring\u003c/code\u003e context if a completion waker panics (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8566\"\u003e#8566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix semaphore use-after-free and permit leak on tracing panic (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etaskdump: restore deferred leaf wakes during capture (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8445\"\u003e#8445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop stored waker when cancelling alt timer entry (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8550\"\u003e#8550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8445\"\u003e#8445\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8445\"\u003etokio-rs/tokio#8445\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8572\"\u003e#8572\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8572\"\u003etokio-rs/tokio#8572\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8540\"\u003etokio-rs/tokio#8540\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8542\"\u003etokio-rs/tokio#8542\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8544\"\u003e#8544\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8544\"\u003etokio-rs/tokio#8544\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8546\"\u003etokio-rs/tokio#8546\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8548\"\u003etokio-rs/tokio#8548\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8550\"\u003e#8550\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8550\"\u003etokio-rs/tokio#8550\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8552\"\u003etokio-rs/tokio#8552\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8554\"\u003etokio-rs/tokio#8554\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8558\"\u003etokio-rs/tokio#8558\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8560\"\u003etokio-rs/tokio#8560\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8562\"\u003etokio-rs/tokio#8562\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8564\"\u003etokio-rs/tokio#8564\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8566\"\u003e#8566\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8566\"\u003etokio-rs/tokio#8566\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8570\"\u003etokio-rs/tokio#8570\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8574\"\u003etokio-rs/tokio#8574\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/tokio-rs/tokio/commit/ff0c4068a4ba5f3af0fe3c5657ba42879b6ea599\"\u003e\u003ccode\u003eff0c406\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.2 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8580\"\u003e#8580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/a762700e41bf027630ba4620cfd80d127b7c801d\"\u003e\u003ccode\u003ea762700\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.5' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8577\"\u003e#8577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/ec31a9f62c9426cec415c8c79e0608dd2866bbf7\"\u003e\u003ccode\u003eec31a9f\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.5 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8579\"\u003e#8579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/625c85108da5ad0d482702a21d7d58a56ea06a48\"\u003e\u003ccode\u003e625c851\u003c/code\u003e\u003c/a\u003e sync: assign semaphore permits before emitting tracing event (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/832dd233293eaa59ba19cc6f5dc4753aab55ac13\"\u003e\u003ccode\u003e832dd23\u003c/code\u003e\u003c/a\u003e sync: avoid leaking semaphore permits on tracing panic (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/826954a2f3b6f595121c38875a5d81ca3e5f6cc6\"\u003e\u003ccode\u003e826954a\u003c/code\u003e\u003c/a\u003e sync: unlink semaphore waiter before emitting tracing event (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/9a479922501eb47102ab844fa40e4b28d1a3c250\"\u003e\u003ccode\u003e9a47992\u003c/code\u003e\u003c/a\u003e process: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/2fc5972b8bd6f51d1ad6df3bcc1a1927d1702663\"\u003e\u003ccode\u003e2fc5972\u003c/code\u003e\u003c/a\u003e fs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/85a6d13882e2ccf5c24131b282bab0214b0a493e\"\u003e\u003ccode\u003e85a6d13\u003c/code\u003e\u003c/a\u003e io: revert \u0026quot;always cleanup AsyncFd registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/436faa2da3970817653fef98c9abc6c8b4367f51\"\u003e\u003ccode\u003e436faa2\u003c/code\u003e\u003c/a\u003e rt: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-1.53.1...tokio-1.53.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hyper` from 1.11.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hyperium/hyper/releases\"\u003ehyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e add max_header_size limit for server and client (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4183\"\u003e#4183\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/d1cd14eff392be63a2318d690cc9380723ec61a1\"\u003ed1cd14ef\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ewithdraw a stale want when the client dispatcher takes a request (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4208\"\u003e#4208\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/c44f1cc51c2bc45b502031a646d3d54315bd7a16\"\u003ec44f1cc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove content-length if transfer-encoding is auto-added (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4224\"\u003e#4224\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/69396fdd960629d69b09cc6c9b367ef8650c001d\"\u003e69396fdd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealways remove content-length if transfer-encoding is sent (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4223\"\u003e#4223\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/a5d7fd7861598c0b8c857cb75240a75bcfbd96a3\"\u003ea5d7fd78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet a Connection close token win over a later keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4201\"\u003e#4201\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/5dadff76d1cb5d21046218df3568569fbba8ed21\"\u003e5dadff76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve hop-by-hop when setting close or keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4196\"\u003e#4196\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/74a39081ff1496970fb75da75c5282b23a9b69e5\"\u003e74a39081\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehttp2:\u003c/strong\u003e do not reserve capacity for idle Upgraded streams (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4198\"\u003e#4198\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/e89d0d93d9566210ee95aea234a00952ebc4a202\"\u003ee89d0d93\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEverything\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix typo responsibile -\u0026gt; responsible by \u003ca href=\"https://github.com/vaibhav8a\"\u003e\u003ccode\u003e@​vaibhav8a\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4177\"\u003ehyperium/hyper#4177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: replace single-character lifetime names with descriptive names by \u003ca href=\"https://github.com/dox4\"\u003e\u003ccode\u003e@​dox4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4173\"\u003ehyperium/hyper#4173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(http1): resolve collapsible_match lint by \u003ca href=\"https://github.com/nakaryo716\"\u003e\u003ccode\u003e@​nakaryo716\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4178\"\u003ehyperium/hyper#4178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehyper Improvement Proposals by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4131\"\u003ehyperium/hyper#4131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(body): simpler custom Incoming channel by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4168\"\u003ehyperium/hyper#4168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(maintainers): add 0x676e67 as a collaborator by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4184\"\u003ehyperium/hyper#4184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(ext): remove broken \u003ccode\u003eOriginalHeaderOrder\u003c/code\u003e doctest by \u003ca href=\"https://github.com/cratelyn\"\u003e\u003ccode\u003e@​cratelyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4188\"\u003ehyperium/hyper#4188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): remove unused \u003ccode\u003efutures-channel\u003c/code\u003e from \u003ccode\u003ehttp1\u003c/code\u003e feature by \u003ca href=\"https://github.com/0x676e67\"\u003e\u003ccode\u003e@​0x676e67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4185\"\u003ehyperium/hyper#4185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): update to cargo-check-external-types 0.5.0 by \u003ca href=\"https://github.com/tottoto\"\u003e\u003ccode\u003e@​tottoto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4189\"\u003ehyperium/hyper#4189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): address ignored_unit_patterns lint by \u003ca href=\"https://github.com/nakaryo716\"\u003e\u003ccode\u003e@​nakaryo716\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4193\"\u003ehyperium/hyper#4193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve hop-by-hop when setting close or keep-alive by \u003ca href=\"https://github.com/dtolnay\"\u003e\u003ccode\u003e@​dtolnay\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4196\"\u003ehyperium/hyper#4196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http2): do not reserve capacity for idle Upgraded streams by \u003ca href=\"https://github.com/Dev-next-gen\"\u003e\u003ccode\u003e@​Dev-next-gen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4198\"\u003ehyperium/hyper#4198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): Address clippy panics and missing_panics_doc lints by \u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4191\"\u003ehyperium/hyper#4191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix typos in capi README, MSRV and governance docs by \u003ca href=\"https://github.com/toyeshhm\"\u003e\u003ccode\u003e@​toyeshhm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4204\"\u003ehyperium/hyper#4204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): Address trivial, low quantity clippy lints. by \u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4190\"\u003ehyperium/hyper#4190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(clippy): allow clippy lints following 1.99.0 release by \u003ca href=\"https://github.com/dswij\"\u003e\u003ccode\u003e@​dswij\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4219\"\u003ehyperium/hyper#4219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: remove useless_borrows_in_formatting from the clippy allowlist by \u003ca href=\"https://github.com/ump45nose\"\u003e\u003ccode\u003e@​ump45nose\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4220\"\u003ehyperium/hyper#4220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(h1): mark partial Debug impls as non-exhaustive by \u003ca href=\"https://github.com/badimalex\"\u003e\u003ccode\u003e@​badimalex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4218\"\u003ehyperium/hyper#4218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): Address cast-possible-truncation clippy findings. by \u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4192\"\u003ehyperium/hyper#4192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(http1): add max_header_size limit for server and client by \u003ca href=\"https://github.com/Aditya-9-6\"\u003e\u003ccode\u003e@​Aditya-9-6\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4183\"\u003ehyperium/hyper#4183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): let a Connection close token win over a later keep-alive by \u003ca href=\"https://github.com/shoemoney\"\u003e\u003ccode\u003e@​shoemoney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4201\"\u003ehyperium/hyper#4201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): always remove content-length if transfer-encoding is sent by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4223\"\u003ehyperium/hyper#4223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): remove invalid content-length if transfer-encoding is auto-added by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4224\"\u003ehyperium/hyper#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): withdraw a stale want when the client dispatcher takes a request by \u003ca href=\"https://github.com/shodoco\"\u003e\u003ccode\u003e@​shodoco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4208\"\u003ehyperium/hyper#4208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(body): skip waking a closed peer when a channel end drops by \u003ca href=\"https://github.com/0x676e67\"\u003e\u003ccode\u003e@​0x676e67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4225\"\u003ehyperium/hyper#4225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare v1.12.0 by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4226\"\u003ehyperium/hyper#4226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vaibhav8a\"\u003e\u003ccode\u003e@​vaibhav8a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4177\"\u003ehyperium/hyper#4177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dox4\"\u003e\u003ccode\u003e@​dox4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4173\"\u003ehyperium/hyper#4173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay\"\u003e\u003ccode\u003e@​dtolnay\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4196\"\u003ehyperium/hyper#4196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dev-next-gen\"\u003e\u003ccode\u003e@​Dev-next-gen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4198\"\u003ehyperium/hyper#4198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4191\"\u003ehyperium/hyper#4191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toyeshhm\"\u003e\u003ccode\u003e@​toyeshhm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4204\"\u003ehyperium/hyper#4204\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/hyperium/hyper/blob/master/CHANGELOG.md\"\u003ehyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0 (2026-10-06)\u003c/h2\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ewithdraw a stale want when the client dispatcher takes a request (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4208\"\u003e#4208\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/c44f1cc51c2bc45b502031a646d3d54315bd7a16\"\u003ec44f1cc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove content-length if transfer-encoding is auto-added (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4224\"\u003e#4224\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/69396fdd960629d69b09cc6c9b367ef8650c001d\"\u003e69396fdd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealways remove content-length if transfer-encoding is sent (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4223\"\u003e#4223\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/a5d7fd7861598c0b8c857cb75240a75bcfbd96a3\"\u003ea5d7fd78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet a Connection close token win over a later keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4201\"\u003e#4201\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/5dadff76d1cb5d21046218df3568569fbba8ed21\"\u003e5dadff76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve hop-by-hop when setting close or keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4196\"\u003e#4196\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/74a39081ff1496970fb75da75c5282b23a9b69e5\"\u003e74a39081\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehttp2:\u003c/strong\u003e do not reserve capacity for idle Upgraded streams (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4198\"\u003e#4198\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/e89d0d93d9566210ee95aea234a00952ebc4a202\"\u003ee89d0d93\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e add max_header_size limit for server and client (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4183\"\u003e#4183\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/d1cd14eff392be63a2318d690cc9380723ec61a1\"\u003ed1cd14ef\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/3832\"\u003e#3832\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/hyperium/hyper/commit/7f67699ce32d717081deb7018b4da7d679277ac0\"\u003e\u003ccode\u003e7f67699\u003c/code\u003e\u003c/a\u003e v1.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/254bf1271bf4385edd743316ca7c508b3c77d6cb\"\u003e\u003ccode\u003e254bf12\u003c/code\u003e\u003c/a\u003e perf(body): skip waking a closed peer when a channel end drops (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4225\"\u003e#4225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/c44f1cc51c2bc45b502031a646d3d54315bd7a16\"\u003e\u003ccode\u003ec44f1cc\u003c/code\u003e\u003c/a\u003e fix(http1): withdraw a stale want when the client dispatcher takes a request ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/69396fdd960629d69b09cc6c9b367ef8650c001d\"\u003e\u003ccode\u003e69396fd\u003c/code\u003e\u003c/a\u003e fix(http1): remove content-length if transfer-encoding is auto-added (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4224\"\u003e#4224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/a5d7fd7861598c0b8c857cb75240a75bcfbd96a3\"\u003e\u003ccode\u003ea5d7fd7\u003c/code\u003e\u003c/a\u003e fix(http1): always remove content-length if transfer-encoding is sent (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4223\"\u003e#4223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/5dadff76d1cb5d21046218df3568569fbba8ed21\"\u003e\u003ccode\u003e5dadff7\u003c/code\u003e\u003c/a\u003e fix(http1): let a Connection close token win over a later keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4201\"\u003e#4201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/d1cd14eff392be63a2318d690cc9380723ec61a1\"\u003e\u003ccode\u003ed1cd14e\u003c/code\u003e\u003c/a\u003e feat(http1): add max_header_size limit for server and client (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4183\"\u003e#4183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/714c7cf46fd405c88eb34c2f243ae5b146ba8f07\"\u003e\u003ccode\u003e714c7cf\u003c/code\u003e\u003c/a\u003e style(lib): address cast-possible-truncation clippy findings (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4192\"\u003e#4192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/0d474402c20c17939c30aaecde56d1a3e21b2b0a\"\u003e\u003ccode\u003e0d47440\u003c/code\u003e\u003c/a\u003e style(lib): mark partial Debug impls as non-exhaustive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4218\"\u003e#4218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/da3b1b197c954ac5454a92562fe3d729a87cba56\"\u003e\u003ccode\u003eda3b1b1\u003c/code\u003e\u003c/a\u003e style(lib): remove useless_borrows_in_formatting from the clippy allowlist (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hyperium/hyper/compare/v1.11.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `toml` from 1.1.6+spec-1.1.0 to 1.1.8+spec-1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/ceac6e4412420d5a5c19e4f7293ad005cf1a31b2\"\u003e\u003ccode\u003eceac6e4\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/0fe9e93d6d6299400e168681f7cdd7515c0693d2\"\u003e\u003ccode\u003e0fe9e93\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/e3a64aa201ec339abacb570417d75b327490cab4\"\u003e\u003ccode\u003ee3a64aa\u003c/code\u003e\u003c/a\u003e fix(display): Ensure all keys are encoded  (\u003ca href=\"https://redirect.github.com/toml-rs/toml/issues/1245\"\u003e#1245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/76484d005a0e68e8c1876f8a3417b71a3921623f\"\u003e\u003ccode\u003e76484d0\u003c/code\u003e\u003c/a\u003e fix(display): Ensure all keys are encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/711b1ba1ecb11e61df9a1609e24fa3b17d11d961\"\u003e\u003ccode\u003e711b1ba\u003c/code\u003e\u003c/a\u003e refactor(display): Clarify that we are working with encoded keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/4f73ebdc8bd7fdf0e6bd379baeb96dedcee6bb2b\"\u003e\u003ccode\u003e4f73ebd\u003c/code\u003e\u003c/a\u003e test(display): Reproduce the key bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/6c6a5cdcdc4d9beb16ff9bdf2dcbf360fc2bc84e\"\u003e\u003ccode\u003e6c6a5cd\u003c/code\u003e\u003c/a\u003e fix(parser): Remove risk of unsoundness with synthetic parser events and 'uns...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/9c5e95d8d67514f2191afbee137ba40e85e4f441\"\u003e\u003ccode\u003e9c5e95d\u003c/code\u003e\u003c/a\u003e fix(parser): Remove risk of unsoundness with synthetic parser events and 'uns...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/4d45944be2f6ee3b938dbba3d64a6d9c280bd9e9\"\u003e\u003ccode\u003e4d45944\u003c/code\u003e\u003c/a\u003e perf(parser): Remove no-op code (\u003ca href=\"https://redirect.github.com/toml-rs/toml/issues/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/189c91c3d06a0f56e18f85cb00d3425534defd71\"\u003e\u003ccode\u003e189c91c\u003c/code\u003e\u003c/a\u003e perf(parser): Remove no-op code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/toml-rs/toml/compare/toml-v1.1.6...toml-v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zip` from 8.6.0 to 9.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚜 Refactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emove extract to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup permissions related code (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove feature gate (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate \u003ccode\u003eZipFileFlags\u003c/code\u003e to wrap \u003ccode\u003eflags\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove unused trait (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/946\"\u003e#946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaccess \u003ccode\u003ecrate::format\u003c/code\u003e with \u003ccode\u003ezip::unstable::format\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eharmonize functions to \u003ccode\u003eformat/functions.rs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite \u003ccode\u003emake_reader()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/936\"\u003e#936\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚜 Refactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emove extract to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup permissions related code (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove feature gate (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate \u003ccode\u003eZipFileFlags\u003c/code\u003e to wrap \u003ccode\u003eflags\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove unused trait (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/946\"\u003e#946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaccess \u003ccode\u003ecrate::format\u003c/code\u003e with \u003ccode\u003ezip::unstable::format\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eharmonize functions to \u003ccode\u003eformat/functions.rs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/943\"\u003e#943\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/zip-rs/zip2/commit/2b1c4244a6f42906c8b3f21a358bf2321d0baaef\"\u003e\u003ccode\u003e2b1c424\u003c/code\u003e\u003c/a\u003e chore: release v9.0.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/940\"\u003e#940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/759993fa1e1b7d63bdc063b4d0a84c6f76115974\"\u003e\u003ccode\u003e759993f\u003c/code\u003e\u003c/a\u003e fix: reading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/acd09d3eabcf44558ca1e0d87d2da9d8d0369ea1\"\u003e\u003ccode\u003eacd09d3\u003c/code\u003e\u003c/a\u003e fix: reject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/8eab8e3319ca4c3523e40113c077ebf2018564c2\"\u003e\u003ccode\u003e8eab8e3\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.0 to 1.11.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1034\"\u003e#1034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/53bdadce59cc3440f19bd6527499554bf72d0b7c\"\u003e\u003ccode\u003e53bdadc\u003c/code\u003e\u003c/a\u003e fix: apply central directory metadata in ZipStreamReader, only to written ent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f86c8be998e9f6f8ba50336ee0416c38d47fac7c\"\u003e\u003ccode\u003ef86c8be\u003c/code\u003e\u003c/a\u003e ci: Add endianness_miri as requirement before build_and_test (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1037\"\u003e#1037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a72b210475f1612651b98364b45c612561b5c96b\"\u003e\u003ccode\u003ea72b210\u003c/code\u003e\u003c/a\u003e chore: Fix high-level symlink extraction logic, disable some tests in miri, a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/96c16930264d3e838bbac1ba855adb7b240d92d0\"\u003e\u003ccode\u003e96c1693\u003c/code\u003e\u003c/a\u003e test: Fix typo in comment for symlink test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2a87f64fbe10a7e0a3a51a89fedf9b9c77f3c951\"\u003e\u003ccode\u003e2a87f64\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a82b390af1384a8c348115178232ccd9baac73ae\"\u003e\u003ccode\u003ea82b390\u003c/code\u003e\u003c/a\u003e ci: Fix: Change trigger event for size_labels.yml to pull_request_target (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1032\"\u003e#1032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.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\n\n\u003c!-- codesmith:footer --\u003e\n---\n\u003ca href=\"https://app.blacksmith.sh/Ktesio/codesmith/hekma/pr/268?autoLogin=true\u0026ref=codesmith_pr_footer\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v3.svg\"\u003e\u003cimg alt=\"View with [code]smith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://backend.blacksmith.sh/track/enable-autofix?expires=1794432471\u0026installation_model_id=436963\u0026pr_number=268\u0026ref=codesmith_pr_footer\u0026repository=Ktesio%2Fhekma\u0026return_to=https%3A%2F%2Fgithub.com%2FKtesio%2Fhekma%2Fpull%2F268\u0026signature=e7f9621a504c903ef073fddf5769641356f010980cc6faff2343a544faeb6bf1\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg\"\u003e\u003cimg alt=\"Autofix with [code]smith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\u003csup\u003eNeed help on this PR? Tag \u003ccode\u003e@codesmith-bot\u003c/code\u003e with what you need.\u003c/sup\u003e\n\n\u003c!-- codesmith:autofix:disabled --\u003e\n\u003c!-- /codesmith:footer --\u003e","html_url":"https://github.com/Ktesio/hekma/pull/268","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ktesio%2Fhekma/issues/268","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/268/packages"}],"issue_packages":[{"old_version":"7.2.0","new_version":"8.6.0","update_type":"major","path":null,"pr_created_at":"2026-10-20T22:30:53.000Z","version_change":"7.2.0 → 8.6.0","issue":{"uuid":"5950719337","node_id":"PR_kwDOVRbLRc8AAAABJqYzgw","number":8,"state":"closed","title":"chore(deps): bump the cargo-dependencies group with 25 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-21T15:42:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-20T22:30:53.000Z","updated_at":"2026-10-21T15:42:24.000Z","time_to_close":61891,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"cargo-dependencies","update_count":25,"packages":[{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"proptest","old_version":"1.11.0","new_version":"1.12.0","repository_url":"https://github.com/proptest-rs/proptest"},{"name":"egui","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/emilk/egui"},{"name":"eframe","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/emilk/egui"},{"name":"egui_kittest","old_version":"0.36.2","new_version":"0.37.0","repository_url":"https://github.com/emilk/egui"},{"name":"rmcp","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/modelcontextprotocol/rust-sdk"},{"name":"tokio","old_version":"1.53.1","new_version":"1.53.3","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"base64","old_version":"0.22.1","new_version":"0.23.1","repository_url":"https://github.com/marshallpierce/rust-base64"},{"name":"schemars","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GREsau/schemars"},{"name":"symphonia","old_version":"0.5.5","new_version":"0.6.1","repository_url":"https://github.com/pdeljanov/Symphonia"},{"name":"rustls","old_version":"0.23.45","new_version":"0.23.46","repository_url":"https://github.com/rustls/rustls"},{"name":"pollster","old_version":"0.4.0","new_version":"1.0.1","repository_url":"https://github.com/zesterer/pollster"},{"name":"libloading","old_version":"0.8.9","new_version":"0.9.0","repository_url":"https://github.com/nagisa/rust_libloading"},{"name":"candle-core","old_version":"0.9.2","new_version":"0.11.0","repository_url":"https://github.com/huggingface/candle"},{"name":"candle-nn","old_version":"0.9.2","new_version":"0.11.0","repository_url":"https://github.com/huggingface/candle"},{"name":"sha2","old_version":"0.10.9","new_version":"0.11.1","repository_url":"https://github.com/RustCrypto/hashes"},{"name":"skrifa","old_version":"0.44.0","new_version":"0.47.0","repository_url":"https://github.com/googlefonts/fontations"},{"name":"harfrust","old_version":"0.12.0","new_version":"0.13.3","repository_url":"https://github.com/harfbuzz/harfrust"},{"name":"zip","old_version":"7.2.0","new_version":"8.6.0","repository_url":"https://github.com/zip-rs/zip2"},{"name":"cpal","old_version":"0.16.0","new_version":"0.18.2","repository_url":"https://github.com/RustAudio/cpal"},{"name":"arboard","old_version":"3.6.1","new_version":"3.7.0","repository_url":"https://github.com/1Password/arboard"},{"name":"muda","old_version":"0.21.0","new_version":"0.21.2","repository_url":"https://github.com/tauri-apps/muda"},{"name":"objc2","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/madsmtm/objc2"},{"name":"zbus","old_version":"5.19.0","new_version":"6.0.0","repository_url":"https://github.com/z-galaxy/zbus"},{"name":"winresource","old_version":"0.1.31","new_version":"0.1.34","repository_url":"https://github.com/BenjaminRi/winresource"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the cargo-dependencies group with 25 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [serde_json](https://github.com/serde-rs/json) | `1.0.151` | `1.0.154` |\n| [proptest](https://github.com/proptest-rs/proptest) | `1.11.0` | `1.12.0` |\n| [egui](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |\n| [eframe](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |\n| [egui_kittest](https://github.com/emilk/egui) | `0.36.2` | `0.37.0` |\n| [rmcp](https://github.com/modelcontextprotocol/rust-sdk) | `3.5.0` | `3.5.1` |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.3` |\n| [base64](https://github.com/marshallpierce/rust-base64) | `0.22.1` | `0.23.1` |\n| [schemars](https://github.com/GREsau/schemars) | `1.2.2` | `1.2.3` |\n| [symphonia](https://github.com/pdeljanov/Symphonia) | `0.5.5` | `0.6.1` |\n| [rustls](https://github.com/rustls/rustls) | `0.23.45` | `0.23.46` |\n| [pollster](https://github.com/zesterer/pollster) | `0.4.0` | `1.0.1` |\n| [libloading](https://github.com/nagisa/rust_libloading) | `0.8.9` | `0.9.0` |\n| [candle-core](https://github.com/huggingface/candle) | `0.9.2` | `0.11.0` |\n| [candle-nn](https://github.com/huggingface/candle) | `0.9.2` | `0.11.0` |\n| [sha2](https://github.com/RustCrypto/hashes) | `0.10.9` | `0.11.1` |\n| [skrifa](https://github.com/googlefonts/fontations) | `0.44.0` | `0.47.0` |\n| [harfrust](https://github.com/harfbuzz/harfrust) | `0.12.0` | `0.13.3` |\n| [zip](https://github.com/zip-rs/zip2) | `7.2.0` | `8.6.0` |\n| [cpal](https://github.com/RustAudio/cpal) | `0.16.0` | `0.18.2` |\n| [arboard](https://github.com/1Password/arboard) | `3.6.1` | `3.7.0` |\n| [muda](https://github.com/tauri-apps/muda) | `0.21.0` | `0.21.2` |\n| [objc2](https://github.com/madsmtm/objc2) | `0.6.4` | `0.6.5` |\n| [zbus](https://github.com/z-galaxy/zbus) | `5.19.0` | `6.0.0` |\n| [winresource](https://github.com/BenjaminRi/winresource) | `0.1.31` | `0.1.34` |\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `proptest` from 1.11.0 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/70cf37d46b7d83393b6ed94c611f8c52209f585d\"\u003e\u003ccode\u003e70cf37d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/675\"\u003e#675\u003c/a\u003e from proptest-rs/prep-1.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/729e0ffa5d0d9574c2a0b49ab34c9d9b726dadc0\"\u003e\u003ccode\u003e729e0ff\u003c/code\u003e\u003c/a\u003e prepare next releases and fix panic handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/28c1fade6db79d3404949e59a931bd71dc25c9b6\"\u003e\u003ccode\u003e28c1fad\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/664\"\u003e#664\u003c/a\u003e from Expyron/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/5ddd9a4b67e6983a1172b4d6b578b455a138b995\"\u003e\u003ccode\u003e5ddd9a4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/668\"\u003e#668\u003c/a\u003e from toddATavail/fix-fork-persisted-failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/a6a9ac703f7091a653b03bba68279be5419d6c42\"\u003e\u003ccode\u003ea6a9ac7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/673\"\u003e#673\u003c/a\u003e from glaziermag/fix-book-deploy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/d57d88b6221f1313c4bb27f83941d4c53ca07c50\"\u003e\u003ccode\u003ed57d88b\u003c/code\u003e\u003c/a\u003e Replace \u003ccode\u003erand_chacha\u003c/code\u003e with \u003ccode\u003echacha20\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/9411213ce80add5bd59d92dfcf3b04cff17b6848\"\u003e\u003ccode\u003e9411213\u003c/code\u003e\u003c/a\u003e Deploy the book on pushes to main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/171974566466656059fbc16cb4c80a9f6f18aaf4\"\u003e\u003ccode\u003e1719745\u003c/code\u003e\u003c/a\u003e fix: terminate the fork replay when a persisted failure fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/0f55b7a3e8dd92406915ef7452cd8152cf185757\"\u003e\u003ccode\u003e0f55b7a\u003c/code\u003e\u003c/a\u003e test: a persisted failure in a forked test must be reported\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/proptest-rs/proptest/commit/4b0594eb07c53695dc3c24d3fa06bdceb98540e9\"\u003e\u003ccode\u003e4b0594e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/proptest-rs/proptest/issues/669\"\u003e#669\u003c/a\u003e from proptest-rs/no-fail-fast\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/proptest-rs/proptest/compare/v1.11.0...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `egui` from 0.36.2 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/releases\"\u003eegui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eegui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.\u003c/p\u003e\n\u003cp\u003eTry it now: \u003ca href=\"https://www.egui.rs/\"\u003ehttps://www.egui.rs/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eegui development is sponsored by \u003ca href=\"https://www.rerun.io/\"\u003eRerun\u003c/a\u003e, a startup building an SDK for visualizing streams of multimodal data.\u003c/p\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\r\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\r\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\r\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\r\n    let mut style: ButtonStyle = DefaultStyle.style(args);\r\n    if args.has_class(\u0026quot;primary\u0026quot;) {\r\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\r\n    }\r\n    style\r\n  }\r\n}\r\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/blob/main/CHANGELOG.md\"\u003eegui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\n    let mut style: ButtonStyle = DefaultStyle.style(args);\n    if args.has_class(\u0026quot;primary\u0026quot;) {\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\n    }\n    style\n  }\n}\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;CheckboxStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n// ...\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eRecord videos of integration tests\u003c/h4\u003e\n\u003cp\u003eReading an integration test to understand what its doing can be challenging, so we've added a \u003ccode\u003eegui_kittest/video\u003c/code\u003e\nfeature that records a mp4 video from it, using \u003ccode\u003effmpeg\u003c/code\u003e! Enable it and pass \u003ccode\u003eEGUI_KITTEST_RECORD=1\u003c/code\u003e or \u003ccode\u003eEGUI_KITTEST_RECORD=open\u003c/code\u003e,\nand a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/841a328ba2dd8f6996beb7189ebb7fc00e668a2a\"\u003e\u003ccode\u003e841a328\u003c/code\u003e\u003c/a\u003e Release 0.37.0 - Color emojis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/22b31b7f1b59c6b35a3f6856d0ab09b9974e4e76\"\u003e\u003ccode\u003e22b31b7\u003c/code\u003e\u003c/a\u003e Fix typo in publish_crates.sh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/cb2c39cc15ee5678fe3410f770054c4de500f280\"\u003e\u003ccode\u003ecb2c39c\u003c/code\u003e\u003c/a\u003e Fix egui_demo_lib not compiling standalone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/9d317be94fc96df23bd5d9316f357efa2d3631d8\"\u003e\u003ccode\u003e9d317be\u003c/code\u003e\u003c/a\u003e Fix dep cycle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/3c6eb8261c3293ad9c7ea1ed58487e038860ebef\"\u003e\u003ccode\u003e3c6eb82\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/eee824c0ac91bee672971e2cbffb5fcf1af7dbfa\"\u003e\u003ccode\u003eeee824c\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eegui_system_fonts\u003c/code\u003e to \u003ccode\u003eegui_system_font_provider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8724\"\u003e#8724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/4821fc54ae083ac516e137a61e70550330e55169\"\u003e\u003ccode\u003e4821fc5\u003c/code\u003e\u003c/a\u003e Update rustls to 0.23.46 to fix cargo-deny advisories (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8721\"\u003e#8721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/2de51d29583114d9e1cb89a22006b996d72a664d\"\u003e\u003ccode\u003e2de51d2\u003c/code\u003e\u003c/a\u003e Fix README.md about Label builder (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8713\"\u003e#8713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/efcf49788df313b7ff701995f211aa543d2c9ac5\"\u003e\u003ccode\u003eefcf497\u003c/code\u003e\u003c/a\u003e Fix premultiplied alpha when copying images to the clipboard (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8715\"\u003e#8715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/43743e2c32a9145df9ebb99f306a88f3b5f20ba3\"\u003e\u003ccode\u003e43743e2\u003c/code\u003e\u003c/a\u003e Make Margin::sum const (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/emilk/egui/compare/0.36.2...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eframe` from 0.36.2 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/releases\"\u003eeframe's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eegui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.\u003c/p\u003e\n\u003cp\u003eTry it now: \u003ca href=\"https://www.egui.rs/\"\u003ehttps://www.egui.rs/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eegui development is sponsored by \u003ca href=\"https://www.rerun.io/\"\u003eRerun\u003c/a\u003e, a startup building an SDK for visualizing streams of multimodal data.\u003c/p\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\r\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\r\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\r\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\r\n    let mut style: ButtonStyle = DefaultStyle.style(args);\r\n    if args.has_class(\u0026quot;primary\u0026quot;) {\r\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\r\n    }\r\n    style\r\n  }\r\n}\r\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/blob/main/CHANGELOG.md\"\u003eeframe's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\n    let mut style: ButtonStyle = DefaultStyle.style(args);\n    if args.has_class(\u0026quot;primary\u0026quot;) {\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\n    }\n    style\n  }\n}\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;CheckboxStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n// ...\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eRecord videos of integration tests\u003c/h4\u003e\n\u003cp\u003eReading an integration test to understand what its doing can be challenging, so we've added a \u003ccode\u003eegui_kittest/video\u003c/code\u003e\nfeature that records a mp4 video from it, using \u003ccode\u003effmpeg\u003c/code\u003e! Enable it and pass \u003ccode\u003eEGUI_KITTEST_RECORD=1\u003c/code\u003e or \u003ccode\u003eEGUI_KITTEST_RECORD=open\u003c/code\u003e,\nand a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/cb2c39cc15ee5678fe3410f770054c4de500f280\"\u003e\u003ccode\u003ecb2c39c\u003c/code\u003e\u003c/a\u003e Fix egui_demo_lib not compiling standalone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/9d317be94fc96df23bd5d9316f357efa2d3631d8\"\u003e\u003ccode\u003e9d317be\u003c/code\u003e\u003c/a\u003e Fix dep cycle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/3c6eb8261c3293ad9c7ea1ed58487e038860ebef\"\u003e\u003ccode\u003e3c6eb82\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/eee824c0ac91bee672971e2cbffb5fcf1af7dbfa\"\u003e\u003ccode\u003eeee824c\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eegui_system_fonts\u003c/code\u003e to \u003ccode\u003eegui_system_font_provider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8724\"\u003e#8724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/efcf49788df313b7ff701995f211aa543d2c9ac5\"\u003e\u003ccode\u003eefcf497\u003c/code\u003e\u003c/a\u003e Fix premultiplied alpha when copying images to the clipboard (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8715\"\u003e#8715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/43743e2c32a9145df9ebb99f306a88f3b5f20ba3\"\u003e\u003ccode\u003e43743e2\u003c/code\u003e\u003c/a\u003e Make Margin::sum const (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/b25d2d45b7858cff7599d128915f4f2ba4db756d\"\u003e\u003ccode\u003eb25d2d4\u003c/code\u003e\u003c/a\u003e Improve window restoration logic (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8687\"\u003e#8687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/4166a93ffdad82b17ac8842220cd997683aa4a36\"\u003e\u003ccode\u003e4166a93\u003c/code\u003e\u003c/a\u003e Fix missing Chinese characters from system fonts on Windows (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8688\"\u003e#8688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/dfe33185e4934adc779159b4ae7d80b436f9982c\"\u003e\u003ccode\u003edfe3318\u003c/code\u003e\u003c/a\u003e Improve the fallback syntax highlighter in \u003ccode\u003eegui_extras\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8708\"\u003e#8708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/bb622334e2f58afd84f6bb61980824f480c7e3d4\"\u003e\u003ccode\u003ebb62233\u003c/code\u003e\u003c/a\u003e Fix not being able to click autocomplete items (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8690\"\u003e#8690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/emilk/egui/compare/0.36.2...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `egui_kittest` from 0.36.2 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/releases\"\u003eegui_kittest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003eegui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.\u003c/p\u003e\n\u003cp\u003eTry it now: \u003ca href=\"https://www.egui.rs/\"\u003ehttps://www.egui.rs/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eegui development is sponsored by \u003ca href=\"https://www.rerun.io/\"\u003eRerun\u003c/a\u003e, a startup building an SDK for visualizing streams of multimodal data.\u003c/p\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\r\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\r\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\r\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\r\n    let mut style: ButtonStyle = DefaultStyle.style(args);\r\n    if args.has_class(\u0026quot;primary\u0026quot;) {\r\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\r\n    }\r\n    style\r\n  }\r\n}\r\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/emilk/egui/blob/main/CHANGELOG.md\"\u003eegui_kittest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0 - Colored emojis! 🚀\u003c/h2\u003e\n\u003ch3\u003eHighlights ✨\u003c/h3\u003e\n\u003ch4\u003eEmoji and glyph support\u003c/h4\u003e\n\u003cp\u003eegui can now render \u003cem\u003eany\u003c/em\u003e glyph that is supported on your system, including colored emojis and non-Latin scripts.\u003c/p\u003e\n\u003cp\u003eTo enable this, the integration has to use one of two APIs:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_glyph_rasterizer(GlyphRasterizer)\u003c/code\u003e: a \u003ccode\u003eGlyphRasterizer\u003c/code\u003e renders a single glyph. \u003ccode\u003eeframe\u003c/code\u003e uses this on web to render individual glyphs to an off-screen canvas \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8490\"\u003e#8490\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8545\"\u003e#8545\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContext::add_font_provider(Arc\u0026lt;dyn FontProvider\u0026gt;)\u003c/code\u003e: lets egui find and load whole fonts at runtime. Native \u003ccode\u003eeframe\u003c/code\u003e uses this through the new \u003ccode\u003eegui_system_font_provider\u003c/code\u003e crate, which lists system fonts with \u003ca href=\"https://crates.io/crates/fontique\"\u003e\u003ccode\u003efontique\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8512\"\u003e#8512\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompletion popup\u003c/h4\u003e\n\u003cp\u003eWe've added a new \u003ccode\u003eCompletionPopup\u003c/code\u003e widget that adds autocomplete to a \u003ccode\u003eTextEdit\u003c/code\u003e.\nYou can use it e.g. to add emoji selection like in discord:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\"\u003ehttps://github.com/user-attachments/assets/f688eca0-cedf-4d17-99b6-5158cccfdbda\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eExperimental theme customizations\u003c/h4\u003e\n\u003cp\u003eThis release adds a theme plugin system \u003ca href=\"https://redirect.github.com/emilk/egui/pull/8153\"\u003e#8153\u003c/a\u003e by \u003ca href=\"https://github.com/AdrienZianne\"\u003e\u003ccode\u003e@​AdrienZianne\u003c/code\u003e\u003c/a\u003e. Enable the new \u003ccode\u003eexperimental\u003c/code\u003e feature flag, and there will be a\nnew \u003ccode\u003eStyleProvider\u003c/code\u003e trait, which can be used to customize visuals for a widget based on the provided classes.\u003c/p\u003e\n\u003cpre lang=\"rust\"\u003e\u003ccode\u003e/// Implement the trait for each Widget you'd like to customize\nimpl StyleProvider\u0026lt;ButtonStyle\u0026gt; for MyTheme {\n  fn style(\u0026amp;mut self, args: \u0026amp;StyleArgs\u0026lt;'_\u0026gt;) -\u0026gt; ButtonStyle {\n    // You could construct ButtonStyle from scratch, or extend eguis built in style:\n    let mut style: ButtonStyle = DefaultStyle.style(args);\n    if args.has_class(\u0026quot;primary\u0026quot;) {\n      style.atom_layout.frame.fill = hex_color!(\u0026quot;#FF0000\u0026quot;);\n    }\n    style\n  }\n}\n\u003cp\u003e/// Register all your custom style providers\u003cbr /\u003e\nfn init(ctx: \u0026amp;Context) {\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;ButtonStyle\u0026gt;(MyTheme);\u003cbr /\u003e\nctx.add_widget_theme::\u0026lt;CheckboxStyle\u0026gt;(MyTheme);\u003cbr /\u003e\n// ...\u003cbr /\u003e\n}\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch4\u003eRecord videos of integration tests\u003c/h4\u003e\n\u003cp\u003eReading an integration test to understand what its doing can be challenging, so we've added a \u003ccode\u003eegui_kittest/video\u003c/code\u003e\nfeature that records a mp4 video from it, using \u003ccode\u003effmpeg\u003c/code\u003e! Enable it and pass \u003ccode\u003eEGUI_KITTEST_RECORD=1\u003c/code\u003e or \u003ccode\u003eEGUI_KITTEST_RECORD=open\u003c/code\u003e,\nand a video of the test will be recorded. This is an example from one of our more complex rerun integration tests:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/841a328ba2dd8f6996beb7189ebb7fc00e668a2a\"\u003e\u003ccode\u003e841a328\u003c/code\u003e\u003c/a\u003e Release 0.37.0 - Color emojis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/22b31b7f1b59c6b35a3f6856d0ab09b9974e4e76\"\u003e\u003ccode\u003e22b31b7\u003c/code\u003e\u003c/a\u003e Fix typo in publish_crates.sh\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/cb2c39cc15ee5678fe3410f770054c4de500f280\"\u003e\u003ccode\u003ecb2c39c\u003c/code\u003e\u003c/a\u003e Fix egui_demo_lib not compiling standalone\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/9d317be94fc96df23bd5d9316f357efa2d3631d8\"\u003e\u003ccode\u003e9d317be\u003c/code\u003e\u003c/a\u003e Fix dep cycle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/3c6eb8261c3293ad9c7ea1ed58487e038860ebef\"\u003e\u003ccode\u003e3c6eb82\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/eee824c0ac91bee672971e2cbffb5fcf1af7dbfa\"\u003e\u003ccode\u003eeee824c\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eegui_system_fonts\u003c/code\u003e to \u003ccode\u003eegui_system_font_provider\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8724\"\u003e#8724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/4821fc54ae083ac516e137a61e70550330e55169\"\u003e\u003ccode\u003e4821fc5\u003c/code\u003e\u003c/a\u003e Update rustls to 0.23.46 to fix cargo-deny advisories (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8721\"\u003e#8721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/2de51d29583114d9e1cb89a22006b996d72a664d\"\u003e\u003ccode\u003e2de51d2\u003c/code\u003e\u003c/a\u003e Fix README.md about Label builder (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8713\"\u003e#8713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/efcf49788df313b7ff701995f211aa543d2c9ac5\"\u003e\u003ccode\u003eefcf497\u003c/code\u003e\u003c/a\u003e Fix premultiplied alpha when copying images to the clipboard (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8715\"\u003e#8715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emilk/egui/commit/43743e2c32a9145df9ebb99f306a88f3b5f20ba3\"\u003e\u003ccode\u003e43743e2\u003c/code\u003e\u003c/a\u003e Make Margin::sum const (\u003ca href=\"https://redirect.github.com/emilk/egui/issues/8711\"\u003e#8711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/emilk/egui/compare/0.36.2...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rmcp` from 3.5.0 to 3.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/releases\"\u003ermcp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ermcp-macros-v3.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(macros)\u003c/em\u003e accept const paths and concat! in tool/prompt descriptions (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ermcp-v3.5.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(server)\u003c/em\u003e keep discover lifecycle bootstrap-neutral (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ekeep handler-generated invalid params errors in-band (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(model)\u003c/em\u003e export object! macro without macros feature (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1318\"\u003e#1318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(server)\u003c/em\u003e default missing cache hints for 2026-07-28 peers (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[rmcp] Notify credential stores when a refresh token is rejected (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/pull/1285\"\u003e#1285\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/modelcontextprotocol/rust-sdk/commit/79437f291b2c44053d00dcd5db969fd0cca7c887\"\u003e\u003ccode\u003e79437f2\u003c/code\u003e\u003c/a\u003e chore: release v3.5.1 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1307\"\u003e#1307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/4a226c7cb9816e9b82e7d638d76ec4d58ba342d1\"\u003e\u003ccode\u003e4a226c7\u003c/code\u003e\u003c/a\u003e fix(server): keep discover lifecycle bootstrap-neutral (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1248\"\u003e#1248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/931d47133adefd082599be494e3e77c1b9ade3e5\"\u003e\u003ccode\u003e931d471\u003c/code\u003e\u003c/a\u003e chore(deps): bump the github-actions group with 6 updates (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1313\"\u003e#1313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/cf1e9aa74590f0556809099dc76465bd498fd916\"\u003e\u003ccode\u003ecf1e9aa\u003c/code\u003e\u003c/a\u003e fix: keep handler-generated invalid params errors in-band (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/deef9bb8952ffc042bc8cce7ce70b5ea51ec4adf\"\u003e\u003ccode\u003edeef9bb\u003c/code\u003e\u003c/a\u003e fix(model): export object! macro without macros feature (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1318\"\u003e#1318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/c0d667e003d7cce82c17bdb3cb776f1d6cda39eb\"\u003e\u003ccode\u003ec0d667e\u003c/code\u003e\u003c/a\u003e fix(server): default missing cache hints for 2026-07-28 peers (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1308\"\u003e#1308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/94c5c039a6a15ea8853c3d9a711d40d771709be9\"\u003e\u003ccode\u003e94c5c03\u003c/code\u003e\u003c/a\u003e fix: use MSRV-aware dependency resolver (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1316\"\u003e#1316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/8f9a28ecdb5f9237dd7927f915df82cd4d02d09b\"\u003e\u003ccode\u003e8f9a28e\u003c/code\u003e\u003c/a\u003e fix(examples): fix complex auth server discovery (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1309\"\u003e#1309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/ae2f9c9b45a2c98d24ee345406e79f507c9f9282\"\u003e\u003ccode\u003eae2f9c9\u003c/code\u003e\u003c/a\u003e [rmcp] Notify credential stores when a refresh token is rejected (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1285\"\u003e#1285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/commit/bdd93dc6eb7060967b8054767d94106b922bbc35\"\u003e\u003ccode\u003ebdd93dc\u003c/code\u003e\u003c/a\u003e ci: reject multi-line codex auth secret (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/rust-sdk/issues/1306\"\u003e#1306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/rust-sdk/compare/rmcp-v3.5.0...rmcp-v3.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokio` from 1.53.1 to 1.53.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tokio-rs/tokio/releases\"\u003etokio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTokio v1.53.3\u003c/h2\u003e\n\u003ch1\u003e1.53.3 (October 13th, 2026)\u003c/h1\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: add \u003ccode\u003eAsyncFd::register\u003c/code\u003e and \u003ccode\u003eAsyncFd::register_with_interest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: deprecate \u003ccode\u003eAsyncFd::{new, with_interest, try_new, try_with_interest}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emacros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eruntime: fix paused time auto-advancing when I/O wakes a task on \u003ccode\u003ecurrent_thread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake waiters outside the lock when closing a semaphore (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix several flaky tests (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed (unstable)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ert: keep \u003ccode\u003eio_uring\u003c/code\u003e op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8185\"\u003etokio-rs/tokio#8185\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8196\"\u003etokio-rs/tokio#8196\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8427\"\u003etokio-rs/tokio#8427\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8518\"\u003etokio-rs/tokio#8518\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8529\"\u003etokio-rs/tokio#8529\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8587\"\u003etokio-rs/tokio#8587\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8595\"\u003etokio-rs/tokio#8595\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8609\"\u003etokio-rs/tokio#8609\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8618\"\u003etokio-rs/tokio#8618\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTokio v1.53.2\u003c/h2\u003e\n\u003ch1\u003e1.53.2 (October 3rd, 2026)\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eio: revert \u0026quot;always cleanup \u003ccode\u003eAsyncFd\u003c/code\u003e registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprocess: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix mpsc index wraparound in block reclamation (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: forget mpsc \u003ccode\u003ePermit\u003c/code\u003e before sending value (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: validate \u003ccode\u003eMAX_PERMITS\u003c/code\u003e in \u003ccode\u003eSemaphore::acquire\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake broadcast \u003ccode\u003eSender::closed\u003c/code\u003e outside mutex (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etask: drop replaced waker outside lock in \u003ccode\u003eJoinSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop timer lock before dropping waker in \u003ccode\u003eclear_entry\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: expire timers directly on shutdown without rotating wheel (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\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/tokio-rs/tokio/commit/a85c3f5baa298a6b554fd3700daf0342289881af\"\u003e\u003ccode\u003ea85c3f5\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.3 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8639\"\u003e#8639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/df4443e989689956cc4f8034172c1944b27d8011\"\u003e\u003ccode\u003edf4443e\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.6' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8638\"\u003e#8638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/f00b2e6c932f51126b327cee6f8fa94e7b0e396d\"\u003e\u003ccode\u003ef00b2e6\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.6 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8637\"\u003e#8637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/482eaddec0347431b37566b45a63f2be62db5ab4\"\u003e\u003ccode\u003e482eadd\u003c/code\u003e\u003c/a\u003e runtime: record time wake when unparking tasks on current thread (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/55fbab70dc8b80d7af925e3829f124c2f0d236d7\"\u003e\u003ccode\u003e55fbab7\u003c/code\u003e\u003c/a\u003e io: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/c5e4d9e69c17e0d349f6de349274093e3e41238b\"\u003e\u003ccode\u003ec5e4d9e\u003c/code\u003e\u003c/a\u003e runtime: keep io_uring op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/0448618493188e1c34e284908ef3c17f2edfc6b2\"\u003e\u003ccode\u003e0448618\u003c/code\u003e\u003c/a\u003e sync: make \u003ccode\u003etracing_sync\u003c/code\u003e tests synchronous (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/2bc1146787aaaf0546f74bd5e1183d5278f58777\"\u003e\u003ccode\u003e2bc1146\u003c/code\u003e\u003c/a\u003e net: accept ConnectionReset in shutdown_after_tcp_reset test (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/bb28a941498e89aa15dd226d3f04194b414905c3\"\u003e\u003ccode\u003ebb28a94\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.x' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8624\"\u003e#8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/6b97913c4677dd387f591ad96f8667bbd27e2178\"\u003e\u003ccode\u003e6b97913\u003c/code\u003e\u003c/a\u003e macros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-1.53.1...tokio-1.53.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `base64` from 0.22.1 to 0.23.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md\"\u003ebase64's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.23.1\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMake the tests build again on non-SIMD architectures\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e0.23.0\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdded more consts for preconfigured configs and engines\u003c/li\u003e\n\u003cli\u003eMake DecodeError::InvalidLastSymbol more clear by including the decoded value\u003c/li\u003e\n\u003cli\u003eAdded SIMD-accelerated engines behind the default-on \u003ccode\u003esimd-unsafe\u003c/code\u003e feature: \u003ccode\u003eSimd\u003c/code\u003e picks the best\ninstruction set at runtime (AVX2 on \u003ccode\u003ex86_64\u003c/code\u003e, NEON on \u003ccode\u003eaarch64\u003c/code\u003e) and falls back to the scalar\n\u003ccode\u003eGeneralPurpose\u003c/code\u003e engine, while \u003ccode\u003eAvx2\u003c/code\u003e and \u003ccode\u003eNeon\u003c/code\u003e target one instruction set with no runtime\ndetection and work in \u003ccode\u003eno_std\u003c/code\u003e. The engines support the standard and URL-safe alphabets.\u003c/li\u003e\n\u003cli\u003eUpdate MSRV to 1.71.0\u003c/li\u003e\n\u003cli\u003eAdd support for custom padding symbols\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/069bf7067b949f5c0a92b6ceb82492920502f2c2\"\u003e\u003ccode\u003e069bf70\u003c/code\u003e\u003c/a\u003e v0.23.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/6ab1fb0a5843013557a52c45c84b91f5d1bb87af\"\u003e\u003ccode\u003e6ab1fb0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/310\"\u003e#310\u003c/a\u003e from musicinmybrain/test-on-non-simd-arches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/7cffce6f971acdf48f83112cbdd63bd61125ba06\"\u003e\u003ccode\u003e7cffce6\u003c/code\u003e\u003c/a\u003e Fix testing on architectures without unsafe SIMD support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/e34f9a08c5c89a4641350ac22033f3fa4f5d4d97\"\u003e\u003ccode\u003ee34f9a0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/308\"\u003e#308\u003c/a\u003e from atouchet/com\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/e9240c9a01e0a4934c5619e74740caa6d1f67ce9\"\u003e\u003ccode\u003ee9240c9\u003c/code\u003e\u003c/a\u003e Remove outdated comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/9e9220a4166f628de7c8803289e120ae1e944f78\"\u003e\u003ccode\u003e9e9220a\u003c/code\u003e\u003c/a\u003e v0.23.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/870326ec592eebde9d6bfe4c5d8130c591273e9c\"\u003e\u003ccode\u003e870326e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/306\"\u003e#306\u003c/a\u003e from marshallpierce/mp/trailing-bits-docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/fbec5f1050f9fc16e6a826ebabaa2b7b0644bd67\"\u003e\u003ccode\u003efbec5f1\u003c/code\u003e\u003c/a\u003e Document no trailing trailing bits\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/0a23549968f059b53cf39e96eba8f46779f322a7\"\u003e\u003ccode\u003e0a23549\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/marshallpierce/rust-base64/issues/305\"\u003e#305\u003c/a\u003e from marshallpierce/mp/edition-2021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/marshallpierce/rust-base64/commit/f10b7e20614135aa61289140683fc93e5a45d338\"\u003e\u003ccode\u003ef10b7e2\u003c/code\u003e\u003c/a\u003e Update deps \u0026amp; edition\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/marshallpierce/rust-base64/compare/v0.22.1...v0.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `schemars` from 1.2.2 to 1.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GREsau/schemars/releases\"\u003eschemars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/blob/master/CHANGELOG.md\"\u003eschemars's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.3] - 2026-10-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/commit/4791bb7352555d339e45658ca09c092ed9fa1f5d\"\u003e\u003ccode\u003e4791bb7\u003c/code\u003e\u003c/a\u003e v1.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c6a89b7ecff45fe8ee26027db5e17ba5859c0476\"\u003e\u003ccode\u003ec6a89b7\u003c/code\u003e\u003c/a\u003e Put the tag of an internally tagged enum first in \u003ccode\u003eproperties\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c5cd8b5d9aac224be13704bb236677e27703f40f\"\u003e\u003ccode\u003ec5cd8b5\u003c/code\u003e\u003c/a\u003e fix: schema creation panics with arbitrary precision JSON numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/766d70b2d2efab2e047f2cc09fddb15938078223\"\u003e\u003ccode\u003e766d70b\u003c/code\u003e\u003c/a\u003e Resolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint in crate and generated code - \u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/d07655e96fb77f726819ce856db2631d64ce29d6\"\u003e\u003ccode\u003ed07655e\u003c/code\u003e\u003c/a\u003e Resolve clippy error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GREsau/schemars/compare/v1.2.2...v1.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `symphonia` from 0.5.5 to 0.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pdeljanov/Symphonia/releases\"\u003esymphonia's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.6.1\u003c/h2\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eTimeBase\u003c/code\u003e now provides a helper to calculate a clock time from a \u003ccode\u003eDuration\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eGenericAudioBuffer\u003c/code\u003e and \u003ccode\u003eAudioSlice\u003c/code\u003es are now cloneable\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eGenericAudioBuffer\u003c/code\u003e and \u003ccode\u003eGenericAudioBufferRef\u003c/code\u003e are now sliceable.\u003c/li\u003e\n\u003cli\u003eChannel information is parsed for Opus tracks in ISO BMFF containers (M4A, MP4, etc.).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes \u0026amp; Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSignificantly improved performance of loading media files with large attachments, visuals, or metadata.\u003c/li\u003e\n\u003cli\u003eFixed a bug where silent sections were not decoded if certain conditions were met for MP3 files.\u003c/li\u003e\n\u003cli\u003eFixed a bug where Xing/Info and VBRI tags were ignored if the MPEG frame containing it had a CRC.\u003c/li\u003e\n\u003cli\u003eFixed decoding of mono MP1 audio.\u003c/li\u003e\n\u003cli\u003eAll \u003ccode\u003eunwrap\u003c/code\u003es have either been replaced with \u003ccode\u003eexpect\u003c/code\u003e or made to return a runtime error.\u003c/li\u003e\n\u003cli\u003eHardened demuxers against allocating obscene amounts of memory when reading maliciously crafted files.\u003c/li\u003e\n\u003cli\u003eFixed a significant number of panics discovered by fuzzing or AI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tsar-boomba\"\u003e\u003ccode\u003e@​tsar-boomba\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/499\"\u003epdeljanov/Symphonia#499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kp-fyn\"\u003e\u003ccode\u003e@​kp-fyn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/535\"\u003epdeljanov/Symphonia#535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SAY-5\"\u003e\u003ccode\u003e@​SAY-5\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/537\"\u003epdeljanov/Symphonia#537\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bolshoytoster\"\u003e\u003ccode\u003e@​bolshoytoster\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/507\"\u003epdeljanov/Symphonia#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Noethix55555\"\u003e\u003ccode\u003e@​Noethix55555\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/520\"\u003epdeljanov/Symphonia#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MelonShooter\"\u003e\u003ccode\u003e@​MelonShooter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/542\"\u003epdeljanov/Symphonia#542\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/pull/543\"\u003epdeljanov/Symphonia#543\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pdeljanov/Symphonia/compare/v0.6.0...v0.6.1\"\u003ehttps://github.com/pdeljanov/Symphonia/compare/v0.6.0...v0.6.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.6.0\u003c/h2\u003e\n\u003cp\u003eWelcome to Symphonia 0.6! :wave:\u003c/p\u003e\n\u003cp\u003eSymphonia 0.6 is the culmination of two years of effort to rework Symphonia from an audio-focused multimedia framework to one that can be extended to support video and subtitles as well. While Symphonia does not yet support video and subtitle decoders, the groundwork laid in this release should allow easier prototyping of those features, and to more  seamlessly introduce them in the future. As such there are significant breaking changes present in this release for existing users.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/pdeljanov/Symphonia/blob/main/docs/guides/migration/0p6.md\"\u003emigration guide\u003c/a\u003e for detailed information on how to move to Symphonia 0.6.0.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat readers and decoders may now be registered with a preference tier/priority\u003c/li\u003e\n\u003cli\u003eFormat and metadata readers now provide methods to get information about themselves\u003c/li\u003e\n\u003cli\u003eFormat readers can now expose attachments (e.g., attached fonts)\u003c/li\u003e\n\u003cli\u003eDecoders can now decode from non-owning packets, eliminating a copy if using a non-Symphonia demuxer\u003c/li\u003e\n\u003cli\u003eID3v1, APEv1, and APEv2 metadata formats are now supported\u003c/li\u003e\n\u003cli\u003eAdded support for chapters for Matroska, ID3v2, and Vorbis Comments\u003c/li\u003e\n\u003cli\u003eAdded support for Matroska metadata\u003c/li\u003e\n\u003cli\u003eImage format and parameter detection for visuals\u003c/li\u003e\n\u003cli\u003eMetadata tags that have an official or defacto meaning are parsed where possible (e.g., a track number tag is parsed into an \u003ccode\u003eu64\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMediaSourceStream\u003c/code\u003e, and all downstream consumers (e.g., \u003ccode\u003eFormatReader\u003c/code\u003e), are now generic across the lifetime\u003c/li\u003e\n\u003cli\u003eSIMD optimizations are enabled by default\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes \u0026amp; Improvements\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/pdeljanov/Symphonia/commit/ee35874b571a35a9a6e15d3bc9a3aaf8f11fbeee\"\u003e\u003ccode\u003eee35874\u003c/code\u003e\u003c/a\u003e chore: Release v0.6.1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/6114676036b710d84e324405c24bfc1bca24b7c4\"\u003e\u003ccode\u003e6114676\u003c/code\u003e\u003c/a\u003e core (formats): Refactor util into separate file.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/d11ecf321a9d4b5aad10bb37176f7290bdf68daa\"\u003e\u003ccode\u003ed11ecf3\u003c/code\u003e\u003c/a\u003e core (units): Add TimeBase helpers to calculate Time from a Duration. (\u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/issues/543\"\u003e#543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/660a9f8ad018a0335e76800ee4eaad6dd06148c9\"\u003e\u003ccode\u003e660a9f8\u003c/code\u003e\u003c/a\u003e core (audio): Add missing Clone and slice() to audio structs. (\u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/issues/542\"\u003e#542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/67760d1d740df8d6d8cc45a88623358969381b5a\"\u003e\u003ccode\u003e67760d1\u003c/code\u003e\u003c/a\u003e mp3: Clarify what the frame size in FrameHeader includes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/a9eef3b22438b8be64338be6c413eaaa27c99256\"\u003e\u003ccode\u003ea9eef3b\u003c/code\u003e\u003c/a\u003e mp3: Skip CRC in Xing/Info and VBRI tag heuristics. (\u003ca href=\"https://redirect.github.com/pdeljanov/Symphonia/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/7988c432528951465f45a25342899fbddd9e0a50\"\u003e\u003ccode\u003e7988c43\u003c/code\u003e\u003c/a\u003e core (io): Bypass MediaSourceStream buffer for large reads.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/ea66e4c3c53d248d964b26350a02c8101902f551\"\u003e\u003ccode\u003eea66e4c\u003c/code\u003e\u003c/a\u003e fuzz: Do not loop infinitely on end-of-media.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/d07550c040b0d5c5d534ed8e6464b49954199dfa\"\u003e\u003ccode\u003ed07550c\u003c/code\u003e\u003c/a\u003e fuzz: Run rustfmt and clippy on fuzzers.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pdeljanov/Symphonia/commit/619c6806e5122b3206b8938773a801dd4a8a5950\"\u003e\u003ccode\u003e619c680\u003c/code\u003e\u003c/a\u003e mkv (ebml): Fix testing if the next element is a direct child of an ancestor.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pdeljanov/Symphonia/compare/v0.5.5...v0.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rustls` from 0.23.45 to 0.23.46\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/f04804fa13341a9b1dc02b5d1dd8a746f2c4b7fb\"\u003e\u003ccode\u003ef04804f\u003c/code\u003e\u003c/a\u003e Delay saving KX hint until handshake confirmation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/049d39b975ef5c39f546a10fa03d420dcf053510\"\u003e\u003ccode\u003e049d39b\u003c/code\u003e\u003c/a\u003e Bump version to 0.23.46\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/6d0ba089d6d446959d113bdad43042780949ba48\"\u003e\u003ccode\u003e6d0ba08\u003c/code\u003e\u003c/a\u003e Eliminate secret from impl Debug for \u003ccode\u003eServerSessionValue\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/2b82b8141ae090fa193a9961705598b81d3aae9c\"\u003e\u003ccode\u003e2b82b81\u003c/code\u003e\u003c/a\u003e unbuffered: update TLS 1.3 traffic keys before exhausting them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/74343e7047d7179b9bd7e67cef543b6c490518a1\"\u003e\u003ccode\u003e74343e7\u003c/code\u003e\u003c/a\u003e conn: update TLS 1.3 traffic keys within fragmented writes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/795eea719e9491ee45aae38acc62a60a98969fbe\"\u003e\u003ccode\u003e795eea7\u003c/code\u003e\u003c/a\u003e Advance the HPKE sequence only after seal succeeds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/d67cb716e6a086a9d88b69b966ab10c470087119\"\u003e\u003ccode\u003ed67cb71\u003c/code\u003e\u003c/a\u003e stream: provide backpressure while buffering received plaintext\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/7a69adee8fb37d17f1af241e44212bc83a911804\"\u003e\u003ccode\u003e7a69ade\u003c/code\u003e\u003c/a\u003e util: fuse flushes from connections with errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/493d08934775c115b2e6d6727789dd359850070b\"\u003e\u003ccode\u003e493d089\u003c/code\u003e\u003c/a\u003e conn: fuse writes for connections with errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rustls/rustls/commit/db00e0187de977ab6f1018d8158511ba4432c53c\"\u003e\u003ccode\u003edb00e01\u003c/code\u003e\u003c/a\u003e util: keep flushing after short writes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rustls/rustls/compare/v/0.23.45...v/0.23.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pollster` from 0.4.0 to 1.0.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zesterer/pollster/blob/master/CHANGELOG.md\"\u003epollster's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e[1.0.1] - 2026-07-10\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003edoc_cfg\u003c/code\u003e instead of \u003ccode\u003edoc_auto_cfg\u003c/code\u003e for docsrs builds\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e[1.0.0] - 2026-07-09\u003c/h1\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eFutureExt\u003c/code\u003e is now implemented for \u003ccode\u003eIntoFuture\u003c/code\u003e, not just \u003ccode\u003eFuture\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zesterer/pollster/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libloading` from 0.8.9 to 0.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nagisa/rust_libloading/commit/dab97c569b33bd515e16637b8dedbdc696d9ec9c\"\u003e\u003ccode\u003edab97c5\u003c/code\u003e\u003c/a\u003e 0.9.0 release rites\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nagisa/rust_libloading/commit/e89380446ed04ff14fe2f8adbd8cabc82ea54ad4\"\u003e\u003ccode\u003ee893804\u003c/code\u003e\u003c/a\u003e refactor: simplify null checks, remove some iffy implementations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nagisa/rust_libloading/commit/4b98285041defabf87df73f57051f5d55125758f\"\u003e\u003ccode\u003e4b98285\u003c/code\u003e\u003c/a\u003e add no-std support\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/nagisa/rust_libloading/compare/0.8.9...0.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `candle-core` from 0.9.2 to 0.11.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/huggingface/candle/commits/0.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `candle-nn` from 0.9.2 to 0.11.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/huggingface/candle/commits/0.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sha2` from 0.10.9 to 0.11.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/138dc5a05b93f8e49cda177fc6cfd7cc43673e5d\"\u003e\u003ccode\u003e138dc5a\u003c/code\u003e\u003c/a\u003e Release sha2 v0.11.1 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/927\"\u003e#927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/cf0105661369ca12811082b4fb0904231173c9b6\"\u003e\u003ccode\u003ecf01056\u003c/code\u003e\u003c/a\u003e sha2: fix \u003ccode\u003eunsafe_op_in_unsafe_fn\u003c/code\u003e lint, bump MSRV to 1.88 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/7c59cadcfb4cb503fa165e7d43171a61b1378281\"\u003e\u003ccode\u003e7c59cad\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/f57b947f978f7ba522df7209a958ba11c426b0d5\"\u003e\u003ccode\u003ef57b947\u003c/code\u003e\u003c/a\u003e streebog: tweak internal implementation (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/336611ffbed10eddafa5f1b9e976120e56a6091d\"\u003e\u003ccode\u003e336611f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ecargo::manual_readme\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/1df8877ae0adc264ac561a5a32d6022343d9ceed\"\u003e\u003ccode\u003e1df8877\u003c/code\u003e\u003c/a\u003e md2: fix \u003ccode\u003eclippy::needless_range_loop\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/6075989cbbd822dbab3ede104c33fcc03645f964\"\u003e\u003ccode\u003e6075989\u003c/code\u003e\u003c/a\u003e sha2: fix loading of round constants on AArch64 backends (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/eadfd90f0dd6272d20530a2cdb69d96319e4a85f\"\u003e\u003ccode\u003eeadfd90\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/913\"\u003e#913\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/HenryCorn/WaltCut/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HenryCorn%2FWaltCut/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"9.0.3","new_version":"9.0.4","update_type":"patch","path":null,"pr_created_at":"2026-10-20T02:06:02.000Z","version_change":"9.0.3 → 9.0.4","issue":{"uuid":"5934651824","node_id":"PR_kwDOTx65aM8AAAABJdlMeQ","number":7,"state":"closed","title":"build(deps): bump zip from 9.0.3 to 9.0.4","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-21T02:05:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-20T02:06:02.000Z","updated_at":"2026-10-21T02:05:46.000Z","time_to_close":86382,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"9.0.3","new_version":"9.0.4","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 9.0.3 to 9.0.4.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.4\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.3...v9.0.4\"\u003e9.0.4\u003c/a\u003e - 2026-10-16\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\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/zip-rs/zip2/commit/7d9988688723f1136966e0e97200f41356dc57eb\"\u003e\u003ccode\u003e7d99886\u003c/code\u003e\u003c/a\u003e chore: release v9.0.4 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f61665ee0a61b1eb10cd99a224890ea54ebf5ca9\"\u003e\u003ccode\u003ef61665e\u003c/code\u003e\u003c/a\u003e ci(deps): bump the codeql group with 2 updates (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1072\"\u003e#1072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3f4f58c17fd51df93a1b5cdf6c668cc69dbf69ca\"\u003e\u003ccode\u003e3f4f58c\u003c/code\u003e\u003c/a\u003e ci(deps): bump release-plz/action from 0.5.139 to 0.5.140 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/8853a03262e809051e37cc027bbb404900a06f85\"\u003e\u003ccode\u003e8853a03\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.22.0 to 2.22.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3ea38eb8ac287e8e99e4ec9121141ba927cd857b\"\u003e\u003ccode\u003e3ea38eb\u003c/code\u003e\u003c/a\u003e ci(fuzz): Write errors to stderr rather than stdout (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a5a1a669ee418c178d0788ca19a9db15597db1fb\"\u003e\u003ccode\u003ea5a1a66\u003c/code\u003e\u003c/a\u003e ci(deps): bump github/codeql-action/upload-sarif from 4.38.2 to 4.38.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ca70ca9debcff67312a3d1a96d034ad268fed28e\"\u003e\u003ccode\u003eca70ca9\u003c/code\u003e\u003c/a\u003e ci(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/9d76832a37c9170612f0f96a14e1ec747a0da415\"\u003e\u003ccode\u003e9d76832\u003c/code\u003e\u003c/a\u003e fix: enclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/0ebefb80c3955729e85ce362ecdc873c7d4448b8\"\u003e\u003ccode\u003e0ebefb8\u003c/code\u003e\u003c/a\u003e fix: return \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b7c1a5b343550744b8afc23181c0401a0e88f386\"\u003e\u003ccode\u003eb7c1a5b\u003c/code\u003e\u003c/a\u003e ci: Exit read fuzzing early if a crash occurs (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.3...v9.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=9.0.3\u0026new-version=9.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/YangtseSu/fxrate/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/YangtseSu%2Ffxrate/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"8.6.0","new_version":"9.0.4","update_type":"major","path":null,"pr_created_at":"2026-10-19T22:17:27.000Z","version_change":"8.6.0 → 9.0.4","issue":{"uuid":"5932456311","node_id":"PR_kwDOSUySH88AAAABJb3SIQ","number":30,"state":"closed","title":"build(deps): bump the all group across 1 directory with 9 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-21T21:19:24.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-19T22:17:27.000Z","updated_at":"2026-10-21T21:19:26.000Z","time_to_close":169317,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"all","update_count":9,"packages":[{"name":"tokio","old_version":"1.53.1","new_version":"1.53.3","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"thiserror","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"schemars","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GREsau/schemars"},{"name":"kreuzberg","old_version":"4.10.3","new_version":"4.10.4","repository_url":"https://github.com/kreuzberg-dev/kreuzberg-lts"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.4","repository_url":"https://github.com/zip-rs/zip2"},{"name":"zstd","old_version":"0.14.0","new_version":"0.14.3","repository_url":"https://github.com/gyscos/zstd-rs"},{"name":"libc","old_version":"0.2.189","new_version":"0.2.190","repository_url":"https://github.com/rust-lang/libc"},{"name":"tokio-util","old_version":"0.7.19","new_version":"0.7.20","repository_url":"https://github.com/tokio-rs/tokio"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the all group with 9 updates in the /fuzz directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.3` |\n| [serde_json](https://github.com/serde-rs/json) | `1.0.151` | `1.0.154` |\n| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [schemars](https://github.com/GREsau/schemars) | `1.2.2` | `1.2.3` |\n| [kreuzberg](https://github.com/kreuzberg-dev/kreuzberg-lts) | `4.10.3` | `4.10.4` |\n| [zip](https://github.com/zip-rs/zip2) | `8.6.0` | `9.0.4` |\n| [zstd](https://github.com/gyscos/zstd-rs) | `0.14.0` | `0.14.3` |\n| [libc](https://github.com/rust-lang/libc) | `0.2.189` | `0.2.190` |\n| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.19` | `0.7.20` |\n\n\nUpdates `tokio` from 1.53.1 to 1.53.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tokio-rs/tokio/releases\"\u003etokio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTokio v1.53.3\u003c/h2\u003e\n\u003ch1\u003e1.53.3 (October 13th, 2026)\u003c/h1\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: add \u003ccode\u003eAsyncFd::register\u003c/code\u003e and \u003ccode\u003eAsyncFd::register_with_interest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: deprecate \u003ccode\u003eAsyncFd::{new, with_interest, try_new, try_with_interest}\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eio: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emacros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eruntime: fix paused time auto-advancing when I/O wakes a task on \u003ccode\u003ecurrent_thread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake waiters outside the lock when closing a semaphore (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix several flaky tests (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed (unstable)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ert: keep \u003ccode\u003eio_uring\u003c/code\u003e op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8185\"\u003etokio-rs/tokio#8185\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8196\"\u003etokio-rs/tokio#8196\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8427\"\u003etokio-rs/tokio#8427\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8518\"\u003e#8518\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8518\"\u003etokio-rs/tokio#8518\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8529\"\u003e#8529\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8529\"\u003etokio-rs/tokio#8529\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8587\"\u003e#8587\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8587\"\u003etokio-rs/tokio#8587\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8595\"\u003etokio-rs/tokio#8595\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8609\"\u003e#8609\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8609\"\u003etokio-rs/tokio#8609\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8618\"\u003etokio-rs/tokio#8618\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTokio v1.53.2\u003c/h2\u003e\n\u003ch1\u003e1.53.2 (October 3rd, 2026)\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eio: revert \u0026quot;always cleanup \u003ccode\u003eAsyncFd\u003c/code\u003e registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprocess: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix mpsc index wraparound in block reclamation (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: forget mpsc \u003ccode\u003ePermit\u003c/code\u003e before sending value (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: validate \u003ccode\u003eMAX_PERMITS\u003c/code\u003e in \u003ccode\u003eSemaphore::acquire\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake broadcast \u003ccode\u003eSender::closed\u003c/code\u003e outside mutex (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etask: drop replaced waker outside lock in \u003ccode\u003eJoinSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop timer lock before dropping waker in \u003ccode\u003eclear_entry\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: expire timers directly on shutdown without rotating wheel (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\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/tokio-rs/tokio/commit/a85c3f5baa298a6b554fd3700daf0342289881af\"\u003e\u003ccode\u003ea85c3f5\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.3 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8639\"\u003e#8639\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/df4443e989689956cc4f8034172c1944b27d8011\"\u003e\u003ccode\u003edf4443e\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.6' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8638\"\u003e#8638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/f00b2e6c932f51126b327cee6f8fa94e7b0e396d\"\u003e\u003ccode\u003ef00b2e6\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.6 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8637\"\u003e#8637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/482eaddec0347431b37566b45a63f2be62db5ab4\"\u003e\u003ccode\u003e482eadd\u003c/code\u003e\u003c/a\u003e runtime: record time wake when unparking tasks on current thread (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8595\"\u003e#8595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/55fbab70dc8b80d7af925e3829f124c2f0d236d7\"\u003e\u003ccode\u003e55fbab7\u003c/code\u003e\u003c/a\u003e io: wake and drop \u003ccode\u003eDuplexStream\u003c/code\u003e wakers outside the lock (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8618\"\u003e#8618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/c5e4d9e69c17e0d349f6de349274093e3e41238b\"\u003e\u003ccode\u003ec5e4d9e\u003c/code\u003e\u003c/a\u003e runtime: keep io_uring op alive when submission fails after push (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8185\"\u003e#8185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/0448618493188e1c34e284908ef3c17f2edfc6b2\"\u003e\u003ccode\u003e0448618\u003c/code\u003e\u003c/a\u003e sync: make \u003ccode\u003etracing_sync\u003c/code\u003e tests synchronous (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8427\"\u003e#8427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/2bc1146787aaaf0546f74bd5e1183d5278f58777\"\u003e\u003ccode\u003e2bc1146\u003c/code\u003e\u003c/a\u003e net: accept ConnectionReset in shutdown_after_tcp_reset test (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8196\"\u003e#8196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/bb28a941498e89aa15dd226d3f04194b414905c3\"\u003e\u003ccode\u003ebb28a94\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.x' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8624\"\u003e#8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/6b97913c4677dd387f591ad96f8667bbd27e2178\"\u003e\u003ccode\u003e6b97913\u003c/code\u003e\u003c/a\u003e macros: avoid \u003ccode\u003eunreachable_code\u003c/code\u003e in \u003ccode\u003ejoin!\u003c/code\u003e and \u003ccode\u003etry_join!\u003c/code\u003e for \u003ccode\u003eInfallible\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-1.53.1...tokio-1.53.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `thiserror` from 2.0.20 to 2.0.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dtolnay/thiserror/releases\"\u003ethiserror's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.0.21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix parsing of generic unit variants in display expressions (\u003ca href=\"https://redirect.github.com/dtolnay/thiserror/issues/459\"\u003e#459\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/dtolnay/thiserror/commit/b1827ee06f81a7d7f954e676771e19a97f9f8e3b\"\u003e\u003ccode\u003eb1827ee\u003c/code\u003e\u003c/a\u003e Release 2.0.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/58037b575a2a5543d0d54a49360554325b49f55a\"\u003e\u003ccode\u003e58037b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/dtolnay/thiserror/issues/459\"\u003e#459\u003c/a\u003e from dtolnay/turbofish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/f82a0cf8f06c71263c2caa26e759f337d2778153\"\u003e\u003ccode\u003ef82a0cf\u003c/code\u003e\u003c/a\u003e Keep track of nested turbofish depth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/72ea49262d6412ccbc08f1696dda8626409e657d\"\u003e\u003ccode\u003e72ea492\u003c/code\u003e\u003c/a\u003e Raise required compiler to Rust 1.77\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/72eea0d4ddb17ff9fa873aa74469de850021b22e\"\u003e\u003ccode\u003e72eea0d\u003c/code\u003e\u003c/a\u003e Resolve io_other_error clippy lint in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/07f09a2ec934df58508ce4fa5e7fbf27cca552c2\"\u003e\u003ccode\u003e07f09a2\u003c/code\u003e\u003c/a\u003e Raise required compiler to Rust 1.74\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/2715388e8cc5787b3643251f7a7a637e89376688\"\u003e\u003ccode\u003e2715388\u003c/code\u003e\u003c/a\u003e Update ui test suite to nightly-2026-09-22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/5a306c7d0a8588caaaaa6a7567aeb25c1c10719b\"\u003e\u003ccode\u003e5a306c7\u003c/code\u003e\u003c/a\u003e Update ui test suite to nightly-2026-09-05\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/ef9383b37d7c96b01e10df35d3e9e313c7b98b5a\"\u003e\u003ccode\u003eef9383b\u003c/code\u003e\u003c/a\u003e Update ui test suite to nightly-2026-08-22\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay/thiserror/commit/8336b8407fbfe69177c504cdbc379db20cf6f131\"\u003e\u003ccode\u003e8336b84\u003c/code\u003e\u003c/a\u003e Update ui tests for version 2.0.20\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/dtolnay/thiserror/compare/2.0.20...2.0.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `schemars` from 1.2.2 to 1.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GREsau/schemars/releases\"\u003eschemars's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.3\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/blob/master/CHANGELOG.md\"\u003eschemars's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.3] - 2026-10-12\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eschema creation panics with arbitrary precision JSON numbers (\u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/527\"\u003eGREsau/schemars#527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint violation in generated code (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/539\"\u003eGREsau/schemars#539\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/541\"\u003eGREsau/schemars#541\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePut the tag of internally-tagged enums first in the schema's \u003ccode\u003eproperties\u003c/code\u003e array (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/537\"\u003eGREsau/schemars#537\u003c/a\u003e / \u003ca href=\"https://redirect.github.com/GREsau/schemars/pull/538\"\u003eGREsau/schemars#538\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/GREsau/schemars/commit/4791bb7352555d339e45658ca09c092ed9fa1f5d\"\u003e\u003ccode\u003e4791bb7\u003c/code\u003e\u003c/a\u003e v1.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c6a89b7ecff45fe8ee26027db5e17ba5859c0476\"\u003e\u003ccode\u003ec6a89b7\u003c/code\u003e\u003c/a\u003e Put the tag of an internally tagged enum first in \u003ccode\u003eproperties\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/c5cd8b5d9aac224be13704bb236677e27703f40f\"\u003e\u003ccode\u003ec5cd8b5\u003c/code\u003e\u003c/a\u003e fix: schema creation panics with arbitrary precision JSON numbers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/766d70b2d2efab2e047f2cc09fddb15938078223\"\u003e\u003ccode\u003e766d70b\u003c/code\u003e\u003c/a\u003e Resolve \u003ccode\u003eunused_qualifications\u003c/code\u003e lint in crate and generated code - \u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/GREsau/schemars/issues/541\"\u003e#541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GREsau/schemars/commit/d07655e96fb77f726819ce856db2631d64ce29d6\"\u003e\u003ccode\u003ed07655e\u003c/code\u003e\u003c/a\u003e Resolve clippy error\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GREsau/schemars/compare/v1.2.2...v1.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `kreuzberg` from 4.10.3 to 4.10.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/releases\"\u003ekreuzberg's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.10.4\u003c/h2\u003e\n\u003ch2\u003e[4.10.4] - 2026-09-21\u003c/h2\u003e\n\u003cp\u003ePatch release: CLI acceleration and output-formatting fixes, a dependency refresh, and a TLS advisory bump.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCLI release binaries honour \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e.\u003c/strong\u003e The CLI statically linked its bundled CPU ONNX Runtime, so \u003ccode\u003e--acceleration cuda\u003c/code\u003e failed with \u0026quot;CUDA execution provider requested but not available\u0026quot; even when \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e pointed at a GPU-enabled runtime. Release artifacts now load ONNX Runtime dynamically and ship a CPU fallback next to the binary. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/8\"\u003e#8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMarkdown formatting is no longer stripped from DOCX, EPUB and CSV output.\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/5\"\u003e#5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekreuzberg-tesseract\u003c/code\u003e releases the native text array when UTF-8 conversion fails\u003c/strong\u003e, closing an error-path leak. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/7\"\u003e#7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erustls\u003c/code\u003e bumped past RUSTSEC-2026-0285.\u003c/strong\u003e TLS 1.3 handshake messages were accepted across encryption-level boundaries; fixed in 0.23.45.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency refresh: \u003ccode\u003eliter-llm\u003c/code\u003e 1.19 → 2.0.3, \u003ccode\u003etree-sitter-language-pack\u003c/code\u003e 1.16.1 → 1.20.0, \u003ccode\u003ehtml-to-markdown-rs\u003c/code\u003e 3.12.0 → 3.14.3, and in-range bumps to \u003ccode\u003ereqwest\u003c/code\u003e, \u003ccode\u003etoml\u003c/code\u003e, \u003ccode\u003eencoding_rs\u003c/code\u003e, \u003ccode\u003email-parser\u003c/code\u003e, \u003ccode\u003ermcp\u003c/code\u003e and \u003ccode\u003ecc\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBreaking dependency bumps: \u003ccode\u003ecfb\u003c/code\u003e 0.15, \u003ccode\u003ecomrak\u003c/code\u003e 0.55, \u003ccode\u003elzma-rust2\u003c/code\u003e 0.21, \u003ccode\u003edirs\u003c/code\u003e 7, \u003ccode\u003elopdf\u003c/code\u003e 0.45, \u003ccode\u003ejsonschema\u003c/code\u003e 0.56, \u003ccode\u003ebindgen\u003c/code\u003e 0.73.\u003c/li\u003e\n\u003cli\u003eThe Node package builds with pnpm 12 (two-document lockfile).\u003c/li\u003e\n\u003cli\u003eInternal: shell sources are formatted by \u003ccode\u003epoly\u003c/code\u003e, and the script test suite gains Bats and Pester coverage.\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/kreuzberg-dev/kreuzberg-lts/blob/main/CHANGELOG.md\"\u003ekreuzberg's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.10.4] - 2026-09-21\u003c/h2\u003e\n\u003cp\u003ePatch release: CLI acceleration and output-formatting fixes, a dependency refresh, and a TLS advisory bump.\u003c/p\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCLI release binaries honour \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e.\u003c/strong\u003e The CLI statically linked its bundled CPU ONNX Runtime, so \u003ccode\u003e--acceleration cuda\u003c/code\u003e failed with \u0026quot;CUDA execution provider requested but not available\u0026quot; even when \u003ccode\u003eORT_DYLIB_PATH\u003c/code\u003e pointed at a GPU-enabled runtime. Release artifacts now load ONNX Runtime dynamically and ship a CPU fallback next to the binary. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/8\"\u003e#8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMarkdown formatting is no longer stripped from DOCX, EPUB and CSV output.\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/5\"\u003e#5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ekreuzberg-tesseract\u003c/code\u003e releases the native text array when UTF-8 conversion fails\u003c/strong\u003e, closing an error-path leak. (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/7\"\u003e#7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erustls\u003c/code\u003e bumped past RUSTSEC-2026-0285.\u003c/strong\u003e TLS 1.3 handshake messages were accepted across encryption-level boundaries; fixed in 0.23.45.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDependency refresh: \u003ccode\u003eliter-llm\u003c/code\u003e 1.19 → 2.0.3, \u003ccode\u003etree-sitter-language-pack\u003c/code\u003e 1.16.1 → 1.20.0, \u003ccode\u003ehtml-to-markdown-rs\u003c/code\u003e 3.12.0 → 3.14.3, and in-range bumps to \u003ccode\u003ereqwest\u003c/code\u003e, \u003ccode\u003etoml\u003c/code\u003e, \u003ccode\u003eencoding_rs\u003c/code\u003e, \u003ccode\u003email-parser\u003c/code\u003e, \u003ccode\u003ermcp\u003c/code\u003e and \u003ccode\u003ecc\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBreaking dependency bumps: \u003ccode\u003ecfb\u003c/code\u003e 0.15, \u003ccode\u003ecomrak\u003c/code\u003e 0.55, \u003ccode\u003elzma-rust2\u003c/code\u003e 0.21, \u003ccode\u003edirs\u003c/code\u003e 7, \u003ccode\u003elopdf\u003c/code\u003e 0.45, \u003ccode\u003ejsonschema\u003c/code\u003e 0.56, \u003ccode\u003ebindgen\u003c/code\u003e 0.73.\u003c/li\u003e\n\u003cli\u003eThe Node package builds with pnpm 12 (two-document lockfile).\u003c/li\u003e\n\u003cli\u003eInternal: shell sources are formatted by \u003ccode\u003epoly\u003c/code\u003e, and the script test suite gains Bats and Pester coverage.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/b8c96b3e25ade63d78c32fa0fa34a2afce6cd10e\"\u003e\u003ccode\u003eb8c96b3\u003c/code\u003e\u003c/a\u003e chore(release): prepare 4.10.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/1094f007542dca7ed3b56ed48aba0368b93b76aa\"\u003e\u003ccode\u003e1094f00\u003c/code\u003e\u003c/a\u003e fix(cli): load ONNX Runtime dynamically in release artifacts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/331c19d3142775cce8278b72ff52e8107d0f14e0\"\u003e\u003ccode\u003e331c19d\u003c/code\u003e\u003c/a\u003e fix(extraction): restore markdown formatting output (\u003ca href=\"https://redirect.github.com/kreuzberg-dev/kreuzberg-lts/issues/5\"\u003e#5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/ef63bc060c8824c6ecd341a1f6b44532856bdd25\"\u003e\u003ccode\u003eef63bc0\u003c/code\u003e\u003c/a\u003e chore(deps): breaking dependency bumps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/507ea51301b5c2f88efe4ed5cc3f7a50fd2fdfca\"\u003e\u003ccode\u003e507ea51\u003c/code\u003e\u003c/a\u003e chore(deps): compatible dependency bumps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/197fa604652ed54f7c0e1c5bf402615c9fb7cbff\"\u003e\u003ccode\u003e197fa60\u003c/code\u003e\u003c/a\u003e chore(deps): bump liter-llm, tree-sitter-language-pack, html-to-markdown-rs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/a66c5ecae92f5b6b75cc5e0459f0f5fd838d0c6d\"\u003e\u003ccode\u003ea66c5ec\u003c/code\u003e\u003c/a\u003e docs(ai-rulez): point the skills at modules that became directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/15182af9ccefacf1ce780f65ece1dccb9ede00df\"\u003e\u003ccode\u003e15182af\u003c/code\u003e\u003c/a\u003e fix(deps): bump rustls past RUSTSEC-2026-0285\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/fda4a140a6f65ed0e1319c9590fa95ad211afcf2\"\u003e\u003ccode\u003efda4a14\u003c/code\u003e\u003c/a\u003e style(shell): let poly format shell sources\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/commit/f6b3f98aa9813dbfd1d5c833f93606306867ca5c\"\u003e\u003ccode\u003ef6b3f98\u003c/code\u003e\u003c/a\u003e test(scripts): cover scripts/lib/tessdata.sh\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kreuzberg-dev/kreuzberg-lts/compare/v4.10.3...v4.10.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zip` from 8.6.0 to 9.0.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.4\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.3...v9.0.4\"\u003e9.0.4\u003c/a\u003e - 2026-10-16\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1066\"\u003e#1066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereturn \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty archive (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert impl Copy for Zip64CentralDirectoryEndLocator due to failing semver check, fix CI where most Miri tests weren't running, and other fixes so other PRs can pass CI (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1065\"\u003e#1065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate lzma-rust2 and ppmd-rust dependencies (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1060\"\u003e#1060\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\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/zip-rs/zip2/commit/7d9988688723f1136966e0e97200f41356dc57eb\"\u003e\u003ccode\u003e7d99886\u003c/code\u003e\u003c/a\u003e chore: release v9.0.4 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f61665ee0a61b1eb10cd99a224890ea54ebf5ca9\"\u003e\u003ccode\u003ef61665e\u003c/code\u003e\u003c/a\u003e ci(deps): bump the codeql group with 2 updates (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1072\"\u003e#1072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3f4f58c17fd51df93a1b5cdf6c668cc69dbf69ca\"\u003e\u003ccode\u003e3f4f58c\u003c/code\u003e\u003c/a\u003e ci(deps): bump release-plz/action from 0.5.139 to 0.5.140 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/8853a03262e809051e37cc027bbb404900a06f85\"\u003e\u003ccode\u003e8853a03\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.22.0 to 2.22.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/3ea38eb8ac287e8e99e4ec9121141ba927cd857b\"\u003e\u003ccode\u003e3ea38eb\u003c/code\u003e\u003c/a\u003e ci(fuzz): Write errors to stderr rather than stdout (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1064\"\u003e#1064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a5a1a669ee418c178d0788ca19a9db15597db1fb\"\u003e\u003ccode\u003ea5a1a66\u003c/code\u003e\u003c/a\u003e ci(deps): bump github/codeql-action/upload-sarif from 4.38.2 to 4.38.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ca70ca9debcff67312a3d1a96d034ad268fed28e\"\u003e\u003ccode\u003eca70ca9\u003c/code\u003e\u003c/a\u003e ci(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/9d76832a37c9170612f0f96a14e1ec747a0da415\"\u003e\u003ccode\u003e9d76832\u003c/code\u003e\u003c/a\u003e fix: enclosed_name rejects a separator inside one verbatim path component (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/0ebefb80c3955729e85ce362ecdc873c7d4448b8\"\u003e\u003ccode\u003e0ebefb8\u003c/code\u003e\u003c/a\u003e fix: return \u003ccode\u003eOk(None)\u003c/code\u003e when read_zipfile_from_stream is called on an empty ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b7c1a5b343550744b8afc23181c0401a0e88f386\"\u003e\u003ccode\u003eb7c1a5b\u003c/code\u003e\u003c/a\u003e ci: Exit read fuzzing early if a crash occurs (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1062\"\u003e#1062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zstd` from 0.14.0 to 0.14.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/75bc74045a2f6ea0439aeed7e159a266da20aac0\"\u003e\u003ccode\u003e75bc740\u003c/code\u003e\u003c/a\u003e Release zstd 0.14.3, zstd-safe 8.2.0, and zstd-sys 2.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/1c580b6719acd5374fdb41f716a182006846ff33\"\u003e\u003ccode\u003e1c580b6\u003c/code\u003e\u003c/a\u003e zstd-safe: keep the one-shot reset check inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/502ee2fdf5baa654b92e7b50e573daeeb82cd6fb\"\u003e\u003ccode\u003e502ee2f\u003c/code\u003e\u003c/a\u003e zstd-safe: only reset after one-shot decompression if a stream may be open\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/5ded6e0c21a055f8e97aba7d58bc459749132024\"\u003e\u003ccode\u003e5ded6e0\u003c/code\u003e\u003c/a\u003e zstd-safe: apply rustfmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/e224018a2389915d68ed17f30109bebad36e9734\"\u003e\u003ccode\u003ee224018\u003c/code\u003e\u003c/a\u003e zstd-safe: refuse to unload a dictionary under unfinished zstdmt jobs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/6a1065b9ae9920e5d4fbf42f7815ba9c87f43565\"\u003e\u003ccode\u003e6a1065b\u003c/code\u003e\u003c/a\u003e Stop a single_frame() decoder when finish_frame() ends the frame\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/c7156df2ec854921350c67bd7d73c34d9df2dabe\"\u003e\u003ccode\u003ec7156df\u003c/code\u003e\u003c/a\u003e Don't let finish_frame() start a frame nothing was read from\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/b0fb8a747add66f67855790d71a0c253fbec30ec\"\u003e\u003ccode\u003eb0fb8a7\u003c/code\u003e\u003c/a\u003e Add write::Decoder::finish() to report incomplete frames\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/ab34d019b058c94806c64b8638d1fe62550ca9cc\"\u003e\u003ccode\u003eab34d01\u003c/code\u003e\u003c/a\u003e Don't retry a panicked writer when dropping AutoFlushDecoder/AutoFinishEncoder\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gyscos/zstd-rs/commit/74ace2dcdca62a2ce0f034895d6079458311e003\"\u003e\u003ccode\u003e74ace2d\u003c/code\u003e\u003c/a\u003e Reset the borrowed context's session in raw::{Encoder,Decoder}::with_context\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gyscos/zstd-rs/compare/v0.14.0...v0.14.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `libc` from 0.2.189 to 0.2.190\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/libc/releases\"\u003elibc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.2.190\u003c/h2\u003e\n\u003cp\u003eThere is now a single config for enabling 64-bit \u003ccode\u003etime_t\u003c/code\u003e: \u003ccode\u003elibc_unstable_time64\u003c/code\u003e. This can be set\nunconditionally; it opts in to 64-bit \u003ccode\u003etime_t\u003c/code\u003e on the following platforms that use 32-bit by\ndefault:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e32-bit Linux-GNU\u003c/li\u003e\n\u003cli\u003e32-bit Linux-uClibc\u003c/li\u003e\n\u003cli\u003e32-bit Linux-musl. Note that setting this flag also enables some other changes that happend in\nmusl v1.2.\u003c/li\u003e\n\u003cli\u003e32-bit Windows-GNU\u003c/li\u003e\n\u003cli\u003eESP-IDF (all targets with this environment are 32-bit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMost other 32-bit platforms are either already using 64-bit \u003ccode\u003etime_t\u003c/code\u003e, or are considered legacy\nand will not be gaining support from their upstream maintainers.\u003c/p\u003e\n\u003cp\u003eYou can enable this using \u003ccode\u003eRUSTFLAGS\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003eRUSTFLAGS='--cfg=libc_unstable_time64' cargo ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNote that there may still be some changes to features gated by this config option, hence \u0026quot;unstable\u0026quot;\nin its name. In the near future we will rename it to just \u003ccode\u003elibc_time64\u003c/code\u003e. Until then, please test it\nout and report any bugs you find!\u003c/p\u003e\n\u003ch3\u003eSupport\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd initial support for HelenOS (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4355\"\u003e#4355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cp\u003eWe are slowly filling out the \u003ccode\u003eDefault\u003c/code\u003e implementations, to reduce the need for \u003ccode\u003emem::zeroed()\u003c/code\u003e in user code:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUnix: Implement \u003ccode\u003eDefault\u003c/code\u003e for a number of structs, especially on Apple platforms (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5576\"\u003e#5576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux, NetBSD: Give \u003ccode\u003estatvfs\u003c/code\u003e a \u003ccode\u003eDefault\u003c/code\u003e impl (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5583\"\u003e#5583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux: Add \u003ccode\u003eDefault\u003c/code\u003e to a \u003ccode\u003elinux/can.rs\u003c/code\u003e structs (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5257\"\u003e#5257\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther additions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExpose the \u003ccode\u003elibc_unstable_time64\u003c/code\u003e cfg (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5411\"\u003e#5411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid, Glibc: Add \u003ccode\u003epthread_gettid_np\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add \u003ccode\u003eRTLD_NEXT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5323\"\u003e#5323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add reuseport BPF socket options (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add TCP header flags, options and SACK limits (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5358\"\u003e#5358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eNET_RT_DUMP2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5442\"\u003e#5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eposix_spawn_file_actions_add(f)chdir(_np)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5558\"\u003e#5558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eBPF_WORDALIGN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003elchmod\u003c/code\u003e and \u003ccode\u003elchflags\u003c/code\u003e where supported (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5400\"\u003e#5400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eminherit\u003c/code\u003e and related constants (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4849\"\u003e#4849\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDocs: Add more links to public headers and manual pages (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5407\"\u003e#5407\u003c/a\u003e), (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5485\"\u003e#5485\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/rust-lang/libc/blob/0.2.190/CHANGELOG.md\"\u003elibc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/libc/compare/0.2.189...0.2.190\"\u003e0.2.190\u003c/a\u003e - 2026-10-02\u003c/h2\u003e\n\u003cp\u003eThere is now a single config for enabling 64-bit \u003ccode\u003etime_t\u003c/code\u003e: \u003ccode\u003elibc_unstable_time64\u003c/code\u003e. This can be set\nunconditionally; it opts in to 64-bit \u003ccode\u003etime_t\u003c/code\u003e on the following platforms that use 32-bit by\ndefault:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e32-bit Linux-GNU\u003c/li\u003e\n\u003cli\u003e32-bit Linux-uClibc\u003c/li\u003e\n\u003cli\u003e32-bit Linux-musl. Note that setting this flag also enables some other changes that happend in\nmusl v1.2.\u003c/li\u003e\n\u003cli\u003e32-bit Windows-GNU\u003c/li\u003e\n\u003cli\u003eESP-IDF (all targets with this environment are 32-bit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMost other 32-bit platforms are either already using 64-bit \u003ccode\u003etime_t\u003c/code\u003e, or are considered legacy\nand will not be gaining support from their upstream maintainers.\u003c/p\u003e\n\u003cp\u003eYou can enable this using \u003ccode\u003eRUSTFLAGS\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003eRUSTFLAGS='--cfg=libc_unstable_time64' cargo ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNote that there may still be some changes to features gated by this config option, hence \u0026quot;unstable\u0026quot;\nin its name. In the near future we will rename it to just \u003ccode\u003elibc_time64\u003c/code\u003e. Until then, please test it\nout and report any bugs you find!\u003c/p\u003e\n\u003ch3\u003eSupport\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd initial support for HelenOS (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4355\"\u003e#4355\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cp\u003eWe are slowly filling out the \u003ccode\u003eDefault\u003c/code\u003e implementations, to reduce the need for \u003ccode\u003emem::zeroed()\u003c/code\u003e in user code:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUnix: Implement \u003ccode\u003eDefault\u003c/code\u003e for a number of structs, especially on Apple platforms (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5576\"\u003e#5576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux, NetBSD: Give \u003ccode\u003estatvfs\u003c/code\u003e a \u003ccode\u003eDefault\u003c/code\u003e impl (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5583\"\u003e#5583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLinux: Add \u003ccode\u003eDefault\u003c/code\u003e to a \u003ccode\u003elinux/can.rs\u003c/code\u003e structs (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5257\"\u003e#5257\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOther additions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eExpose the \u003ccode\u003elibc_unstable_time64\u003c/code\u003e cfg (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5411\"\u003e#5411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid, Glibc: Add \u003ccode\u003epthread_gettid_np\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add \u003ccode\u003eRTLD_NEXT\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5323\"\u003e#5323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAndroid: Add reuseport BPF socket options (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add TCP header flags, options and SACK limits (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5358\"\u003e#5358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eNET_RT_DUMP2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5442\"\u003e#5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApple: Add \u003ccode\u003eposix_spawn_file_actions_add(f)chdir(_np)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5558\"\u003e#5558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eBPF_WORDALIGN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003elchmod\u003c/code\u003e and \u003ccode\u003elchflags\u003c/code\u003e where supported (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/5400\"\u003e#5400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBSD: Add \u003ccode\u003eminherit\u003c/code\u003e and related constants (\u003ca href=\"https://redirect.github.com/rust-lang/libc/pull/4849\"\u003e#4849\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/rust-lang/libc/commit/7b0ab5528dc7f361f3a0b4c06c2cad9971617f75\"\u003e\u003ccode\u003e7b0ab55\u003c/code\u003e\u003c/a\u003e ci: Rename \u003ccode\u003epublish_0.2.yml\u003c/code\u003e to \u003ccode\u003erelease.yaml\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/ac85dde5fc269ab4a8cd935d3f76adf85372677c\"\u003e\u003ccode\u003eac85dde\u003c/code\u003e\u003c/a\u003e ci: Sync release permissions with \u003ccode\u003emain\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/8f8cd2032060e1477c08077cd5f89215384723e2\"\u003e\u003ccode\u003e8f8cd20\u003c/code\u003e\u003c/a\u003e libc: Release 0.2.190\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/052c6e6a0186eeecf22c743d57c65a9963571241\"\u003e\u003ccode\u003e052c6e6\u003c/code\u003e\u003c/a\u003e changelog: Fix an incorrect commit link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/ea19fd7fba435c629ed247de7138d5cdb1dea309\"\u003e\u003ccode\u003eea19fd7\u003c/code\u003e\u003c/a\u003e test: Remove explicit \u003ccode\u003elibc\u003c/code\u003e version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/6dbf3a29a0a972087b684bc6d6cbf20f92143b66\"\u003e\u003ccode\u003e6dbf3a2\u003c/code\u003e\u003c/a\u003e dragonfly: Move \u003ccode\u003eINHERIT_ZERO\u003c/code\u003e to the freebsd module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/8a64766c8514865dea77cfc3216f5a9dc38c6728\"\u003e\u003ccode\u003e8a64766\u003c/code\u003e\u003c/a\u003e apple: add \u003ccode\u003eposix_spawn_file_actions_add(f)chdir(_np)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/28de5147ff5665b835472f00ead49da71084a593\"\u003e\u003ccode\u003e28de514\u003c/code\u003e\u003c/a\u003e linux, netbsd: Give statvfs a \u003ccode\u003eDefault\u003c/code\u003e impl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/a58a95f01d0561e75261052f5d8b3ad188f1ae4e\"\u003e\u003ccode\u003ea58a95f\u003c/code\u003e\u003c/a\u003e cygwin: Change \u003ccode\u003ePOSIX_SPAWN_*\u003c/code\u003e flags to \u003ccode\u003ec_short\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/libc/commit/d175264e718db4f216df7aad5f1291fd0ec34139\"\u003e\u003ccode\u003ed175264\u003c/code\u003e\u003c/a\u003e apple: \u003ccode\u003etimeval32\u003c/code\u003e is exhaustive\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rust-lang/libc/compare/0.2.189...0.2.190\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokio-util` from 0.7.19 to 0.7.20\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/5ec9e6b8d5a7111fe9cd35a637bd8b4e4eb1e483\"\u003e\u003ccode\u003e5ec9e6b\u003c/code\u003e\u003c/a\u003e chore: prepare tokio-util v0.7.20 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8608\"\u003e#8608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/afd1b2637014475a3176c4d82be01141c284918f\"\u003e\u003ccode\u003eafd1b26\u003c/code\u003e\u003c/a\u003e docs: fix stray braces and broken links in rustdoc (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8605\"\u003e#8605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/3eb95a40f1b88623470c4e902e2fa90e807fdeed\"\u003e\u003ccode\u003e3eb95a4\u003c/code\u003e\u003c/a\u003e wasm: use sleep on emscripten without JSPI (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8528\"\u003e#8528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/b22c80243589560ddbced2c2970a2950f996ae6f\"\u003e\u003ccode\u003eb22c802\u003c/code\u003e\u003c/a\u003e wasm: link emscripten_promise_await for Emscripten 4.x compatibility (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8528\"\u003e#8528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/16b1f9d2cfbdcab4966cdb80da0416786e8feeef\"\u003e\u003ccode\u003e16b1f9d\u003c/code\u003e\u003c/a\u003e ci: pin libc to 0.2.189 on FreeBSD (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8594\"\u003e#8594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/b2636752450484955e7ad334bac678424d51bc4a\"\u003e\u003ccode\u003eb263675\u003c/code\u003e\u003c/a\u003e time: clean up stale Err(Invalid) doc and typo (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8590\"\u003e#8590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/5d5cd8b5b896796445920b3b78c1ad5f9b853fc6\"\u003e\u003ccode\u003e5d5cd8b\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.53.2' into 'master' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8578\"\u003e#8578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/ff0c4068a4ba5f3af0fe3c5657ba42879b6ea599\"\u003e\u003ccode\u003eff0c406\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.2 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8580\"\u003e#8580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/a762700e41bf027630ba4620cfd80d127b7c801d\"\u003e\u003ccode\u003ea762700\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.5' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8577\"\u003e#8577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/ec31a9f62c9426cec415c8c79e0608dd2866bbf7\"\u003e\u003ccode\u003eec31a9f\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.5 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8579\"\u003e#8579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.19...tokio-util-0.7.20\"\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/timorunge/lore/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/timorunge%2Flore/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}},{"old_version":"8.6.0","new_version":"9.0.3","update_type":"major","path":"/jszip-rs","pr_created_at":"2026-10-19T07:04:57.000Z","version_change":"8.6.0 → 9.0.3","issue":{"uuid":"5919422362","node_id":"PR_kwDOOcDGis8AAAABJRZuYQ","number":1846,"state":"closed","title":"Bump zip from 8.6.0 to 9.0.3 in /jszip-rs","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-22T03:25:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-19T07:04:57.000Z","updated_at":"2026-10-22T03:25:49.000Z","time_to_close":246044,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/jszip-rs","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n## Requirement / issue\n\nUpdate the Rust JSZip zip crate from 8.6 to 9.0.3.\n\n## Change and impact\n\nThis major dependency update changes archive handling internals; API and Rust MSRV compatibility require fresh jszip-rs CI evidence.\n\n## Verification\n\nPrior PR checks passed before branch refresh; the refreshed Linux, Windows, macOS and Rust test jobs are pending.\n\n## Risk and independence\n\nMajor-version compatibility remains the principal risk. Merge only after refreshed checks pass; revert the dependency commit if archive behavior regresses. This is a solo-maintainer self-review with automated checks; independent human review remains pending under the repository's release-readiness policy.\n\n- [x] Traceability from objective to implementation and verification is documented.\n- [x] New behavior or a defect fix has regression evidence, or the exception is justified with an owner and review date.\n- [x] No secrets, personal data, generated build output, or unrelated changes are included.\n","html_url":"https://github.com/rhamenator/ai-scraping-defense/pull/1846","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhamenator%2Fai-scraping-defense/issues/1846","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1846/packages"}},{"old_version":"8.6.0","new_version":"9.0.3","update_type":"major","path":"/apps/desktop/src-tauri","pr_created_at":"2026-10-19T04:20:03.000Z","version_change":"8.6.0 → 9.0.3","issue":{"uuid":"5917713571","node_id":"PR_kwDOQYUqPc8AAAABJQCLLQ","number":98,"state":"open","title":"chore(deps): bump zip from 8.6.0 to 9.0.3 in /apps/desktop/src-tauri","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-19T04:20:03.000Z","updated_at":"2026-10-19T04:20:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/apps/desktop/src-tauri","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/michaelseliger/slideflow/pull/98","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelseliger%2Fslideflow/issues/98","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/98/packages"}},{"old_version":"8.6.0","new_version":"9.0.3","update_type":"major","path":null,"pr_created_at":"2026-10-19T04:19:05.000Z","version_change":"8.6.0 → 9.0.3","issue":{"uuid":"5917704013","node_id":"PR_kwDOQYUqPc8AAAABJQBrRg","number":95,"state":"open","title":"chore(deps): bump zip from 8.6.0 to 9.0.3","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-19T04:19:05.000Z","updated_at":"2026-10-19T04:19:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/michaelseliger/slideflow/pull/95","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelseliger%2Fslideflow/issues/95","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/95/packages"}},{"old_version":"8.6.0","new_version":"9.0.3","update_type":"major","path":null,"pr_created_at":"2026-10-18T14:44:02.000Z","version_change":"8.6.0 → 9.0.3","issue":{"uuid":"5910693901","node_id":"PR_kwDOTifnUc8AAAABJKj7YA","number":1180,"state":"open","title":"build(deps): bump zip from 8.6.0 to 9.0.3","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-18T14:44:02.000Z","updated_at":"2026-10-18T14:44:19.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/jandira-tech/jubarte-redlines/pull/1180","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jandira-tech%2Fjubarte-redlines/issues/1180","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1180/packages"}},{"old_version":"8.6.0","new_version":"9.0.3","update_type":"major","path":null,"pr_created_at":"2026-10-18T07:04:01.000Z","version_change":"8.6.0 → 9.0.3","issue":{"uuid":"5907093699","node_id":"PR_kwDOOUDSTs8AAAABJHz1MQ","number":937,"state":"closed","title":"chore(rust)(deps): bump zip from 8.6.0 to 9.0.3","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-19T01:17:22.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-18T07:04:01.000Z","updated_at":"2026-10-19T01:17:31.000Z","time_to_close":65601,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(rust)(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/SylphxAI/anymd/pull/937","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/SylphxAI%2Fanymd/issues/937","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/937/packages"}},{"old_version":"8.6.0","new_version":"9.0.3","update_type":"major","path":null,"pr_created_at":"2026-10-18T04:04:48.000Z","version_change":"8.6.0 → 9.0.3","issue":{"uuid":"5905980522","node_id":"PR_kwDOSzCZTs8AAAABJG9VdQ","number":23,"state":"closed","title":"chore(deps): Bump the cargo group with 3 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-18T08:02:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-18T04:04:48.000Z","updated_at":"2026-10-18T08:04:06.000Z","time_to_close":14275,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"cargo","update_count":3,"packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"},{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"sha2","old_version":"0.11.0","new_version":"0.11.1","repository_url":"https://github.com/RustCrypto/hashes"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the cargo group with 3 updates: [zip](https://github.com/zip-rs/zip2), [serde_json](https://github.com/serde-rs/json) and [sha2](https://github.com/RustCrypto/hashes).\n\nUpdates `zip` from 8.6.0 to 9.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sha2` from 0.11.0 to 0.11.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/138dc5a05b93f8e49cda177fc6cfd7cc43673e5d\"\u003e\u003ccode\u003e138dc5a\u003c/code\u003e\u003c/a\u003e Release sha2 v0.11.1 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/927\"\u003e#927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/cf0105661369ca12811082b4fb0904231173c9b6\"\u003e\u003ccode\u003ecf01056\u003c/code\u003e\u003c/a\u003e sha2: fix \u003ccode\u003eunsafe_op_in_unsafe_fn\u003c/code\u003e lint, bump MSRV to 1.88 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/7c59cadcfb4cb503fa165e7d43171a61b1378281\"\u003e\u003ccode\u003e7c59cad\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/f57b947f978f7ba522df7209a958ba11c426b0d5\"\u003e\u003ccode\u003ef57b947\u003c/code\u003e\u003c/a\u003e streebog: tweak internal implementation (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/336611ffbed10eddafa5f1b9e976120e56a6091d\"\u003e\u003ccode\u003e336611f\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003ecargo::manual_readme\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/1df8877ae0adc264ac561a5a32d6022343d9ceed\"\u003e\u003ccode\u003e1df8877\u003c/code\u003e\u003c/a\u003e md2: fix \u003ccode\u003eclippy::needless_range_loop\u003c/code\u003e lint (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/6075989cbbd822dbab3ede104c33fcc03645f964\"\u003e\u003ccode\u003e6075989\u003c/code\u003e\u003c/a\u003e sha2: fix loading of round constants on AArch64 backends (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/922\"\u003e#922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/eadfd90f0dd6272d20530a2cdb69d96319e4a85f\"\u003e\u003ccode\u003eeadfd90\u003c/code\u003e\u003c/a\u003e Update Cargo.lock (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/fa3084083d946ac12436567d5a59c0935d5db1fa\"\u003e\u003ccode\u003efa30840\u003c/code\u003e\u003c/a\u003e blake2 v0.11.0 (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RustCrypto/hashes/commit/f6c786d72ed4d37a32dcd32daa2e7277dd4683e1\"\u003e\u003ccode\u003ef6c786d\u003c/code\u003e\u003c/a\u003e ci: bump the all-deps group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/RustCrypto/hashes/issues/896\"\u003e#896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/RustCrypto/hashes/compare/sha2-v0.11.0...sha2-v0.11.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\n\n\n\u003c/details\u003e","html_url":"https://github.com/john-athan/sucher/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/john-athan%2Fsucher/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"8.6.0","new_version":"9.0.3","update_type":"major","path":"/apps/desktop/src-tauri","pr_created_at":"2026-10-17T03:24:50.000Z","version_change":"8.6.0 → 9.0.3","issue":{"uuid":"5894360755","node_id":"PR_kwDOUpBk0M8AAAABI9_pdw","number":53,"state":"closed","title":"build(deps): bump zip from 8.6.0 to 9.0.3 in /apps/desktop/src-tauri","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-17T10:23:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-17T03:24:50.000Z","updated_at":"2026-10-17T10:23:42.000Z","time_to_close":25130,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.3","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/apps/desktop/src-tauri","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.3\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.2...v9.0.3\"\u003e9.0.3\u003c/a\u003e - 2026-10-13\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve directories' read-only status when extracting on non-Unix systems (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1054\"\u003e#1054\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\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/zip-rs/zip2/commit/06b1fe7d51842772cbc31bd020e0a925428ecc22\"\u003e\u003ccode\u003e06b1fe7\u003c/code\u003e\u003c/a\u003e chore: release v9.0.3 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1061\"\u003e#1061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/924e06b689586764f5379fcb14627010ac742f29\"\u003e\u003ccode\u003e924e06b\u003c/code\u003e\u003c/a\u003e ci(deps): bump crate-ci/typos from 1.50.3 to 1.51.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1058\"\u003e#1058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/ed3af9bed1a7d48cf3b32eb9daaaf76f0ba8a037\"\u003e\u003ccode\u003eed3af9b\u003c/code\u003e\u003c/a\u003e ci(deps): bump step-security/harden-runner from 2.21.1 to 2.22.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1059\"\u003e#1059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2b0dcebae4213e2632b9fa9cbab28d34654a23cf\"\u003e\u003ccode\u003e2b0dceb\u003c/code\u003e\u003c/a\u003e test: add more tests on EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/009f1063d432e696acf579568b485d83bb59aed9\"\u003e\u003ccode\u003e009f106\u003c/code\u003e\u003c/a\u003e fix: Preserve directories' read-only status when extracting on non-Unix syste...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/177a11a1a9ccaaa3fb592197ddc62c0a13daa148\"\u003e\u003ccode\u003e177a11a\u003c/code\u003e\u003c/a\u003e test: verify has_overlapping_entries and data_start overflow in overlapping_f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/391fb970b7aaffb710c2ca7831242d2b26c6f747\"\u003e\u003ccode\u003e391fb97\u003c/code\u003e\u003c/a\u003e Improve doc comments for has_overlapping_files and has_overlapping_entries (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/969f77c99473a73bd7d12e5e3e3484a364b160de\"\u003e\u003ccode\u003e969f77c\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4989fc37d01bf56549362094f7aa0d4c4b4a4c5e\"\u003e\u003ccode\u003e4989fc3\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/sanskarIN/RepoDNA/pull/53","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sanskarIN%2FRepoDNA/issues/53","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/53/packages"}},{"old_version":"9.0.1","new_version":"9.0.2","update_type":"patch","path":null,"pr_created_at":"2026-10-15T21:14:10.000Z","version_change":"9.0.1 → 9.0.2","issue":{"uuid":"5874041710","node_id":"PR_kwDOSrdnKM8AAAABIt3-pw","number":207,"state":"closed","title":"chore(deps): bump zip from 9.0.1 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-16T10:15:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-15T21:14:10.000Z","updated_at":"2026-10-16T10:15:08.000Z","time_to_close":46856,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"9.0.1","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 9.0.1 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=9.0.1\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/batlehub/batlehub/pull/207","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/batlehub%2Fbatlehub/issues/207","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/207/packages"}},{"old_version":"8.6.0","new_version":"9.0.2","update_type":"major","path":null,"pr_created_at":"2026-10-15T11:43:24.000Z","version_change":"8.6.0 → 9.0.2","issue":{"uuid":"5865454675","node_id":"PR_kwDOQyKY_s8AAAABIm9pAA","number":425,"state":"open","title":"deps: bump zip from 8.6.0 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-15T11:43:24.000Z","updated_at":"2026-10-15T11:43:44.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\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/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/tphakala/birda/pull/425","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tphakala%2Fbirda/issues/425","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/425/packages"}},{"old_version":"8.6.0","new_version":"9.0.2","update_type":"major","path":null,"pr_created_at":"2026-10-15T02:44:02.000Z","version_change":"8.6.0 → 9.0.2","issue":{"uuid":"5859160813","node_id":"PR_kwDOPZgFL88AAAABIh8Zww","number":109,"state":"closed","title":"Bump zip from 8.6.0 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-18T00:27:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-15T02:44:02.000Z","updated_at":"2026-10-18T00:27:16.000Z","time_to_close":250992,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\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/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/hubuum/hubuum-cli/pull/109","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubuum%2Fhubuum-cli/issues/109","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/109/packages"}},{"old_version":"8.6.0","new_version":"9.0.2","update_type":"major","path":null,"pr_created_at":"2026-10-15T00:23:13.000Z","version_change":"8.6.0 → 9.0.2","issue":{"uuid":"5857843932","node_id":"PR_kwDOMi758s8AAAABIg6cfw","number":75,"state":"closed","title":"Bump zip from 8.6.0 to 9.0.2","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-19T00:28:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-15T00:23:13.000Z","updated_at":"2026-10-19T00:28:46.000Z","time_to_close":345931,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.2","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.1...v9.0.2\"\u003e9.0.2\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadditional bug fixes for symlink extraction\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\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/zip-rs/zip2/commit/d4baac67d5d4fd5a4f25a6f43860fc3034180bd1\"\u003e\u003ccode\u003ed4baac6\u003c/code\u003e\u003c/a\u003e doc: Manually update CHANGELOG for 9.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/bbb39b5bc23193821efa36704171668ed9f591ed\"\u003e\u003ccode\u003ebbb39b5\u003c/code\u003e\u003c/a\u003e chore: Bump version from 9.0.1 to 9.0.2 to force a release PR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5e0274b44b64d7067946bfb8397e3e7923cbb5d9\"\u003e\u003ccode\u003e5e0274b\u003c/code\u003e\u003c/a\u003e doc: Update CHANGELOG with bug fixes for symlink extraction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/5cd986fe7e9d0ce22caf9dfa06607ad606c08cf6\"\u003e\u003ccode\u003e5cd986f\u003c/code\u003e\u003c/a\u003e Update vulnerability reporting guidelines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/649e50e10c908de4c884bd26aeb73d99c76c1287\"\u003e\u003ccode\u003e649e50e\u003c/code\u003e\u003c/a\u003e test: fix conditionally-unused function and missing imports (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1053\"\u003e#1053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/7fc44906564a5d8c5ca9de70a1f19d885e31d062\"\u003e\u003ccode\u003e7fc4490\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25a4ccba2013ba6080bf99b964c25464c035366b\"\u003e\u003ccode\u003e25a4ccb\u003c/code\u003e\u003c/a\u003e ci: explicit nightly in the command (nightly is already the default) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/22e8f8c87d18956b072ce4db76b23c63f891a04e\"\u003e\u003ccode\u003e22e8f8c\u003c/code\u003e\u003c/a\u003e chore(deps): bump rust from 1.95 to 1.99 in /.devcontainer (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1051\"\u003e#1051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/b5326b2b42a19f6b5e861e3c726ac58eead521c7\"\u003e\u003ccode\u003eb5326b2\u003c/code\u003e\u003c/a\u003e chore(deps): update zstd requirement from ^0.13.3 to ^0.14.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/986\"\u003e#986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/553f64ff08b6e07445617a0b76e1365ec86f1547\"\u003e\u003ccode\u003e553f64f\u003c/code\u003e\u003c/a\u003e ci: Scope permissions to job level (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1049\"\u003e#1049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...9.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/urban-travel/hrdf-routing-engine/pull/75","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/urban-travel%2Fhrdf-routing-engine/issues/75","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/75/packages"}},{"old_version":"8.6.0","new_version":"9.0.1","update_type":"major","path":null,"pr_created_at":"2026-10-14T19:48:47.000Z","version_change":"8.6.0 → 9.0.1","issue":{"uuid":"5854546527","node_id":"PR_kwDOU_2qjM8AAAABIeR9Ow","number":4,"state":"closed","title":"Bump the crates group across 1 directory with 46 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-21T03:28:03.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T19:48:47.000Z","updated_at":"2026-10-21T03:28:04.000Z","time_to_close":545956,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"crates","update_count":46,"packages":[{"name":"clap","old_version":"4.6.6","new_version":"4.6.7","repository_url":"https://github.com/clap-rs/clap"},{"name":"rust-embed","old_version":"8.12.0","new_version":"8.13.0"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"},{"name":"serde_json","old_version":"1.0.151","new_version":"1.0.154","repository_url":"https://github.com/serde-rs/json"},{"name":"encoding_rs","old_version":"0.8.35","new_version":"0.8.42","repository_url":"https://github.com/hsivonen/encoding_rs"},{"name":"bindgen","old_version":"0.72.1","new_version":"0.73.2","repository_url":"https://github.com/rust-lang/rust-bindgen"},{"name":"bitflags","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/bitflags/bitflags"},{"name":"cc","old_version":"1.4.4","new_version":"1.8.0","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"cfg-if","old_version":"1.0.4","new_version":"1.0.5","repository_url":"https://github.com/rust-lang/cfg-if"},{"name":"clap_builder","old_version":"4.6.6","new_version":"4.6.7","repository_url":"https://github.com/clap-rs/clap"},{"name":"clap_derive","old_version":"4.6.4","new_version":"4.6.7","repository_url":"https://github.com/clap-rs/clap"},{"name":"clap_lex","old_version":"1.1.0","new_version":"1.1.1","repository_url":"https://github.com/clap-rs/clap"},{"name":"crc32fast","old_version":"1.5.1","new_version":"1.5.2","repository_url":"https://github.com/srijs/rust-crc32fast"},{"name":"crossbeam","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-channel","old_version":"0.5.16","new_version":"0.5.17","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-deque","old_version":"0.8.7","new_version":"0.8.8","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-epoch","old_version":"0.9.20","new_version":"0.9.21","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-queue","old_version":"0.3.13","new_version":"0.3.14","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"crossbeam-utils","old_version":"0.8.22","new_version":"0.8.23","repository_url":"https://github.com/crossbeam-rs/crossbeam"},{"name":"either","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/rayon-rs/either"},{"name":"find-msvc-tools","old_version":"0.1.11","new_version":"0.1.14","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"hybrid-array","old_version":"0.4.14","new_version":"0.4.15","repository_url":"https://github.com/RustCrypto/hybrid-array"},{"name":"indexmap","old_version":"2.14.1","new_version":"2.14.2","repository_url":"https://github.com/indexmap-rs/indexmap"},{"name":"itertools","old_version":"0.13.0","new_version":"0.14.0","repository_url":"https://github.com/rust-itertools/itertools"},{"name":"lazy_static","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/rust-lang-nursery/lazy-static.rs"},{"name":"libflate","old_version":"2.3.1","new_version":"2.3.2","repository_url":"https://github.com/sile/libflate"},{"name":"powerfmt","old_version":"0.2.0","new_version":"0.2.1","repository_url":"https://github.com/jhpratt/powerfmt"},{"name":"prettyplease","old_version":"0.2.37","new_version":"0.3.0","repository_url":"https://github.com/dtolnay/prettyplease"},{"name":"proc-macro-error3","old_version":"3.1.0","new_version":"3.1.1","repository_url":"https://github.com/gamma0987/proc-macro-error3"},{"name":"rand","old_version":"0.10.2","new_version":"0.10.3","repository_url":"https://github.com/rust-random/rand"},{"name":"rust-embed-impl","old_version":"8.12.0","new_version":"8.13.0"},{"name":"rust-embed-utils","old_version":"8.12.0","new_version":"8.13.0"},{"name":"scroll_derive","old_version":"0.13.1","new_version":"0.13.2","repository_url":"https://github.com/m4b/scroll"},{"name":"shlex","old_version":"1.3.0","new_version":"2.0.1","repository_url":"https://github.com/comex/rust-shlex"},{"name":"syn","old_version":"3.0.4","new_version":"3.0.8","repository_url":"https://github.com/dtolnay/syn"},{"name":"thiserror","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"thiserror-impl","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"tokio","old_version":"1.53.1","new_version":"1.53.2","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"toml_datetime","old_version":"1.1.1+spec-1.1.0","new_version":"1.1.2+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_edit","old_version":"0.25.13+spec-1.1.0","new_version":"0.25.17+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_parser","old_version":"1.1.3+spec-1.1.0","new_version":"1.1.5+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"unicase","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/seanmonstar/unicase"},{"name":"unicode-ident","old_version":"1.0.24","new_version":"1.0.26","repository_url":"https://github.com/dtolnay/unicode-ident"},{"name":"zlib-rs","old_version":"0.6.7","new_version":"0.6.8","repository_url":"https://github.com/trifectatechfoundation/zlib-rs"},{"name":"zstd-safe","old_version":"7.2.4","new_version":"7.3.0","repository_url":"https://github.com/gyscos/zstd-rs"},{"name":"zstd-sys","old_version":"2.0.16+zstd.1.5.7","new_version":"2.1.1+zstd.1.5.7","repository_url":"https://github.com/gyscos/zstd-rs"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the crates group with 46 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [clap](https://github.com/clap-rs/clap) | `4.6.6` | `4.6.7` |\n| rust-embed | `8.12.0` | `8.13.0` |\n| [zip](https://github.com/zip-rs/zip2) | `8.6.0` | `9.0.1` |\n| [serde_json](https://github.com/serde-rs/json) | `1.0.151` | `1.0.154` |\n| [encoding_rs](https://github.com/hsivonen/encoding_rs) | `0.8.35` | `0.8.42` |\n| [bindgen](https://github.com/rust-lang/rust-bindgen) | `0.72.1` | `0.73.2` |\n| [bitflags](https://github.com/bitflags/bitflags) | `2.13.1` | `2.13.2` |\n| [cc](https://github.com/rust-lang/cc-rs) | `1.4.4` | `1.8.0` |\n| [cfg-if](https://github.com/rust-lang/cfg-if) | `1.0.4` | `1.0.5` |\n| [clap_builder](https://github.com/clap-rs/clap) | `4.6.6` | `4.6.7` |\n| [clap_derive](https://github.com/clap-rs/clap) | `4.6.4` | `4.6.7` |\n| [clap_lex](https://github.com/clap-rs/clap) | `1.1.0` | `1.1.1` |\n| [crc32fast](https://github.com/srijs/rust-crc32fast) | `1.5.1` | `1.5.2` |\n| [crossbeam](https://github.com/crossbeam-rs/crossbeam) | `0.8.4` | `0.8.5` |\n| [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam) | `0.5.16` | `0.5.17` |\n| [crossbeam-deque](https://github.com/crossbeam-rs/crossbeam) | `0.8.7` | `0.8.8` |\n| [crossbeam-epoch](https://github.com/crossbeam-rs/crossbeam) | `0.9.20` | `0.9.21` |\n| [crossbeam-queue](https://github.com/crossbeam-rs/crossbeam) | `0.3.13` | `0.3.14` |\n| [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam) | `0.8.22` | `0.8.23` |\n| [either](https://github.com/rayon-rs/either) | `1.18.0` | `1.19.0` |\n| [find-msvc-tools](https://github.com/rust-lang/cc-rs) | `0.1.11` | `0.1.14` |\n| [hybrid-array](https://github.com/RustCrypto/hybrid-array) | `0.4.14` | `0.4.15` |\n| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.14.1` | `2.14.2` |\n| [itertools](https://github.com/rust-itertools/itertools) | `0.13.0` | `0.14.0` |\n| [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) | `1.5.0` | `1.5.1` |\n| [libflate](https://github.com/sile/libflate) | `2.3.1` | `2.3.2` |\n| [powerfmt](https://github.com/jhpratt/powerfmt) | `0.2.0` | `0.2.1` |\n| [prettyplease](https://github.com/dtolnay/prettyplease) | `0.2.37` | `0.3.0` |\n| [proc-macro-error3](https://github.com/gamma0987/proc-macro-error3) | `3.1.0` | `3.1.1` |\n| [rand](https://github.com/rust-random/rand) | `0.10.2` | `0.10.3` |\n| rust-embed-impl | `8.12.0` | `8.13.0` |\n| rust-embed-utils | `8.12.0` | `8.13.0` |\n| [scroll_derive](https://github.com/m4b/scroll) | `0.13.1` | `0.13.2` |\n| [shlex](https://github.com/comex/rust-shlex) | `1.3.0` | `2.0.1` |\n| [syn](https://github.com/dtolnay/syn) | `3.0.4` | `3.0.8` |\n| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [thiserror-impl](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.2` |\n| [toml_datetime](https://github.com/toml-rs/toml) | `1.1.1+spec-1.1.0` | `1.1.2+spec-1.1.0` |\n| [toml_edit](https://github.com/toml-rs/toml) | `0.25.13+spec-1.1.0` | `0.25.17+spec-1.1.0` |\n| [toml_parser](https://github.com/toml-rs/toml) | `1.1.3+spec-1.1.0` | `1.1.5+spec-1.1.0` |\n| [unicase](https://github.com/seanmonstar/unicase) | `2.9.0` | `2.10.0` |\n| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.24` | `1.0.26` |\n| [zlib-rs](https://github.com/trifectatechfoundation/zlib-rs) | `0.6.7` | `0.6.8` |\n| [zstd-safe](https://github.com/gyscos/zstd-rs) | `7.2.4` | `7.3.0` |\n| [zstd-sys](https://github.com/gyscos/zstd-rs) | `2.0.16+zstd.1.5.7` | `2.1.1+zstd.1.5.7` |\n\n\nUpdates `clap` from 4.6.6 to 4.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/releases\"\u003eclap's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.7\u003c/h2\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\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/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/d3e59a9ab214910b9dad02921b7ef42c6400de9b\"\u003e\u003ccode\u003ed3e59a9\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/d997f878c484e02b2935d32a7b67afe990e91227\"\u003e\u003ccode\u003ed997f87\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/fb6058cc38cf6f4b07b8db89c850fc80e059e222\"\u003e\u003ccode\u003efb6058c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6409\"\u003e#6409\u003c/a\u003e from heaths/pwsh-support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2310870f7a9fe4c39f5bb5620261a06ac9aaa0b1\"\u003e\u003ccode\u003e2310870\u003c/code\u003e\u003c/a\u003e test(complete): Add tests for completer_for_path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/5967c17393a09f90112cdc5b2c20a1383f0bd8e4\"\u003e\u003ccode\u003e5967c17\u003c/code\u003e\u003c/a\u003e refactor(complete): Move shell detection to Shells\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/594602bb29f374e49da5029df63e5c740c723ad0\"\u003e\u003ccode\u003e594602b\u003c/code\u003e\u003c/a\u003e fix(complete): Detect pwsh for PowerShell\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3a4f2d031b5110aaaac40f1cb1d6c0b8ff619df8\"\u003e\u003ccode\u003e3a4f2d0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6427\"\u003e#6427\u003c/a\u003e from clap-rs/renovate/shlex-2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/67ebaed4ac95a83d5d7cc22d64ee0fc162ae1db3\"\u003e\u003ccode\u003e67ebaed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6426\"\u003e#6426\u003c/a\u003e from clap-rs/renovate/actions-checkout-7.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/c968b136d0e6f560c08b06a844a20f2798a00096\"\u003e\u003ccode\u003ec968b13\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate shlex to v2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/8f247cbf58c582a755ee4dbe62a2390d93b9f8eb\"\u003e\u003ccode\u003e8f247cb\u003c/code\u003e\u003c/a\u003e chore(deps): Update actions/checkout action to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/clap_complete-v4.6.6...clap_complete-v4.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `rust-embed` from 8.12.0 to 8.13.0\n\nUpdates `zip` from 8.6.0 to 9.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `serde_json` from 1.0.151 to 1.0.154\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/serde-rs/json/releases\"\u003eserde_json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.154\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport preserve_order in no_std builds (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e, thanks \u003ca href=\"https://github.com/razmser\"\u003e\u003ccode\u003e@​razmser\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.153\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReport invalid UTF-8 at the first bad byte (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e, thanks \u003ca href=\"https://github.com/00200200\"\u003e\u003ccode\u003e@​00200200\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.0.152\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve sign of \u003ccode\u003e-0\u003c/code\u003e in arbitrary_precision mode (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1346\"\u003e#1346\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix comparison of large non-integer values with f32::INFINITY (\u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1347\"\u003e#1347\u003c/a\u003e, thanks \u003ca href=\"https://github.com/yuxi-liu-wired\"\u003e\u003ccode\u003e@​yuxi-liu-wired\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/serde-rs/json/commit/20572a6d066958542d79cdd6cf1a7cd9f0c8e1f8\"\u003e\u003ccode\u003e20572a6\u003c/code\u003e\u003c/a\u003e Release 1.0.154\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/a91bfaf539aa7927ab88086d7a9ff522cb090f7a\"\u003e\u003ccode\u003ea91bfaf\u003c/code\u003e\u003c/a\u003e Fix RandomState links in map documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/3c932c05f73bcbc7626db4e1959cbce075d7106e\"\u003e\u003ccode\u003e3c932c0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1333\"\u003e#1333\u003c/a\u003e from razmser/no-std-preserve-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b2d7264cef72ef297058ef7d731e7d77574cf3e\"\u003e\u003ccode\u003e4b2d726\u003c/code\u003e\u003c/a\u003e Release 1.0.153\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/83335eed01fcfe5f3cfb8064938df935e99e3d61\"\u003e\u003ccode\u003e83335ee\u003c/code\u003e\u003c/a\u003e Touch up PR 1345\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/4b4810a451a3095c7bcce792782e460cf1105d8d\"\u003e\u003ccode\u003e4b4810a\u003c/code\u003e\u003c/a\u003e Resolve range_plus_one pedantic clippy lint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/8af71cc0d7ceecd53b9c9b5a9ac512e98d1c78e7\"\u003e\u003ccode\u003e8af71cc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/serde-rs/json/issues/1345\"\u003e#1345\u003c/a\u003e from 00200200/fix-invalid-utf8-error-column\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/452afa2630f1d568ba06a5f43ad2e2f5303ac000\"\u003e\u003ccode\u003e452afa2\u003c/code\u003e\u003c/a\u003e Correct multiline raw UTF-8 error positions and simplify indexing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/c9f1e3b0216328591262889d9a1c2771f3dd5fff\"\u003e\u003ccode\u003ec9f1e3b\u003c/code\u003e\u003c/a\u003e Release 1.0.152\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/serde-rs/json/commit/854fc70fa3449c302265b75e750401b009b85cd1\"\u003e\u003ccode\u003e854fc70\u003c/code\u003e\u003c/a\u003e Touch up PR 1347\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/serde-rs/json/compare/v1.0.151...v1.0.154\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `encoding_rs` from 0.8.35 to 0.8.42\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/a155adc7271c9e507556d053c95b459186671d2a\"\u003e\u003ccode\u003ea155adc\u003c/code\u003e\u003c/a\u003e Increment version number to 0.8.42\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/6603aed8a134fb444184e2d8b0b90609a64d1889\"\u003e\u003ccode\u003e6603aed\u003c/code\u003e\u003c/a\u003e Attach the multiversion crate to the std feature instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/f718b076e4cef994bc23231417b366480f52ad27\"\u003e\u003ccode\u003ef718b07\u003c/code\u003e\u003c/a\u003e docs: \u003ccode\u003emultiversion\u003c/code\u003e is compiled only with \u003ccode\u003esimd-accel\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/4434afacb2f1a35dfd1c287b09b8b14c2a3e685f\"\u003e\u003ccode\u003e4434afa\u003c/code\u003e\u003c/a\u003e chore: pull in \u003ccode\u003emultiversion\u003c/code\u003e only when it is actually used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/96138f6c9351831946c57bf091dc5265f0da9afc\"\u003e\u003ccode\u003e96138f6\u003c/code\u003e\u003c/a\u003e Update main branch in URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/08604915e6f1a3b7a93398aec0bb92d7a6611a6a\"\u003e\u003ccode\u003e0860491\u003c/code\u003e\u003c/a\u003e Increment version number to 0.8.41\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/2e9ea612b5499deb08a6646401fe5b5c60d4de75\"\u003e\u003ccode\u003e2e9ea61\u003c/code\u003e\u003c/a\u003e Document multiversion 0.9.0 and syn version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/6667988d019dce6434799bb7744f32c511b231ec\"\u003e\u003ccode\u003e6667988\u003c/code\u003e\u003c/a\u003e build(deps): accept multiversion 0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/662cb427013c13eb4444e7e51e8579c9457f5e6b\"\u003e\u003ccode\u003e662cb42\u003c/code\u003e\u003c/a\u003e Allow split_u16_stride_mut as dead code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hsivonen/encoding_rs/commit/55f2530369fdf3be74e5588cf9fc1cec100914a5\"\u003e\u003ccode\u003e55f2530\u003c/code\u003e\u003c/a\u003e Increment version number to 0.8.40\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hsivonen/encoding_rs/compare/v0.8.35...v0.8.42\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bindgen` from 0.72.1 to 0.73.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/rust-bindgen/releases\"\u003ebindgen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.73.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eSee the full changelog but mostly bitfield / alignment regression fixes from 0.72.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/rust-lang/rust-bindgen/compare/v0.73.1...v0.73.2\"\u003ehttps://github.com/rust-lang/rust-bindgen/compare/v0.73.1...v0.73.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.73.1\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003ev0.73.0\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md\"\u003ebindgen's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.73.2 (2026-09-08)\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed various regressions with over/underaligned types with respect to 0.72 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3449\"\u003e#3449\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3453\"\u003e#3453\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3458\"\u003e#3458\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed a codegen regression with bitfields with enum types in some circumstances (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3455\"\u003e#3455\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003ch1\u003e0.73.1 (2026-09-05)\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWidened acceptable prettyplease / syn dependency versions (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3447\"\u003e#3447\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003ch1\u003e0.73.0 (2026-09-05)\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eDebug\u003c/code\u003e, \u003ccode\u003eClone\u003c/code\u003e and \u003ccode\u003eEq\u003c/code\u003e traits to \u003ccode\u003eParseCallbacks\u003c/code\u003e info types (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3233\"\u003e#3233\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eInclude the source location in discovery \u003ccode\u003eParseCallbacks\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3244\"\u003e#3244\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReport constants and variables in \u003ccode\u003eParseCallbacks::new_item_found\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3249\"\u003e#3249\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAllow adding custom attributes to \u003ccode\u003eextern\u003c/code\u003e function blocks (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3257\"\u003e#3257\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport new-type-alias constants (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3288\"\u003e#3288\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3390\"\u003e#3390\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSupport nested flexible array members (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3306\"\u003e#3306\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd support for custom per-field attributes (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3307\"\u003e#3307\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd const-generic bitfield accessors for compile-time optimization (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3325\"\u003e#3325\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3374\"\u003e#3374\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAllow renaming struct and union fields (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3358\"\u003e#3358\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003elibcpp\u003c/code\u003e feature to link \u003ccode\u003elibclang\u003c/code\u003e against \u003ccode\u003elibc++\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3375\"\u003e#3375\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePrebuilt binaries for aarch64 Linux (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3217\"\u003e#3217\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGuarantee opaque type layout across all architectures (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3280\"\u003e#3280\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eNonNull\u003c/code\u003e for C++ references (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3292\"\u003e#3292\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBindings::write\u003c/code\u003e now takes \u003ccode\u003eimpl Write\u003c/code\u003e instead of \u003ccode\u003eBox\u0026lt;dyn Write\u0026gt;\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3317\"\u003e#3317\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3324\"\u003e#3324\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOptimize bitfield unit get/set with byte-wise operations (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3325\"\u003e#3325\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003econst\u003c/code\u003e \u003ccode\u003e__BindgenUnionField\u003c/code\u003e accessors and comply with Rust 2024\n\u003ccode\u003eunsafe_op_in_unsafe_fn\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3337\"\u003e#3337\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eGenerate a doc comment pointing at the aliased type when a type alias is\nhidden (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3122\"\u003e#3122\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003edyngen: convert the library path to \u003ccode\u003eOsStr\u003c/code\u003e before opening it (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3315\"\u003e#3315\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReturn a \u003ccode\u003eNoHeadersProvided\u003c/code\u003e error instead of generating empty bindings\nwhen no input headers are provided (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3391\"\u003e#3391\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump the MSRV to 1.71 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3401\"\u003e#3401\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBump \u003ccode\u003esyn\u003c/code\u003e to v3 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3401\"\u003e#3401\u003c/a\u003e) and \u003ccode\u003eshlex\u003c/code\u003e to v2 (\u003ca href=\"https://redirect.github.com/rust-lang/rust-bindgen/issues/3380\"\u003e#3380\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved support for generating code for rustc versions \u0026lt; 1.51, along with\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/73c69d681eec90b84ffba4f993b5fb2f19580781\"\u003e\u003ccode\u003e73c69d6\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/77cbc723acf88854ac2d25f15413def50e029a2b\"\u003e\u003ccode\u003e77cbc72\u003c/code\u003e\u003c/a\u003e codegen: Pad bitfields to field offset if applicable.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/dc615310095a04739d06aa02b317cbc219ed145c\"\u003e\u003ccode\u003edc61531\u003c/code\u003e\u003c/a\u003e ty: More struct layout fixes for overaligned integers / aliases.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/4348523dc31f872b1e1e363100b211cd30e7e1ae\"\u003e\u003ccode\u003e4348523\u003c/code\u003e\u003c/a\u003e codegen: Revert some bitfield codegen changes and silence unnecessary_transmu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/efb6e0c05fec83cc30fce0f697c1c0f97968df29\"\u003e\u003ccode\u003eefb6e0c\u003c/code\u003e\u003c/a\u003e ty: Use underlying layout of typedefs if available.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/18fc3ac91264031fd3d57c071ca654763e79fb11\"\u003e\u003ccode\u003e18fc3ac\u003c/code\u003e\u003c/a\u003e codegen: Simplify bitfield merging code.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/910679f40978ee35518fcde8621650e0224d875e\"\u003e\u003ccode\u003e910679f\u003c/code\u003e\u003c/a\u003e codegen: Remove hack that is no longer needed now that we have repr(align) ev...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/38ebc486a780a014bce11e7927aaba0785bb96a5\"\u003e\u003ccode\u003e38ebc48\u003c/code\u003e\u003c/a\u003e codegen: Don't force padding to be aligned.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/64f0939766c792822bd03c6733972e7e1067724e\"\u003e\u003ccode\u003e64f0939\u003c/code\u003e\u003c/a\u003e codegen: Don't force padding for over-aligned fields.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/rust-bindgen/commit/cf8faab758ba737d17ed06051d643c5bbead200e\"\u003e\u003ccode\u003ecf8faab\u003c/code\u003e\u003c/a\u003e codegen: Simplify some conditions about repr(align).\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rust-lang/rust-bindgen/compare/v0.72.1...v0.73.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `bitflags` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bitflags/bitflags/releases\"\u003ebitflags's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.13.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFlags: adjust order of elements in manual implementation example by \u003ca href=\"https://github.com/DanielEScherzer\"\u003e\u003ccode\u003e@​DanielEScherzer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/494\"\u003ebitflags/bitflags#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-pull const declarations outside of nested const by \u003ca href=\"https://github.com/KodrAus\"\u003e\u003ccode\u003e@​KodrAus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/496\"\u003ebitflags/bitflags#496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare for 2.13.2 release by \u003ca href=\"https://github.com/KodrAus\"\u003e\u003ccode\u003e@​KodrAus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/497\"\u003ebitflags/bitflags#497\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\"\u003ehttps://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md\"\u003ebitflags's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.13.2\u003c/h1\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFlags: adjust order of elements in manual implementation example by \u003ca href=\"https://github.com/DanielEScherzer\"\u003e\u003ccode\u003e@​DanielEScherzer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/494\"\u003ebitflags/bitflags#494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-pull const declarations outside of nested const by \u003ca href=\"https://github.com/KodrAus\"\u003e\u003ccode\u003e@​KodrAus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/bitflags/bitflags/pull/496\"\u003ebitflags/bitflags#496\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\"\u003ehttps://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\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/bitflags/bitflags/commit/80ce9b545acb0bd42150695fc351889cac1d8eb4\"\u003e\u003ccode\u003e80ce9b5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bitflags/bitflags/issues/497\"\u003e#497\u003c/a\u003e from bitflags/cargo/2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/5822493e21489d141324ca1787a62a21d1e2f667\"\u003e\u003ccode\u003e5822493\u003c/code\u003e\u003c/a\u003e prepare for 2.13.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/48f4f1a85e72f019fe64ca18fc4cbfd04e3c6ff9\"\u003e\u003ccode\u003e48f4f1a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bitflags/bitflags/issues/496\"\u003e#496\u003c/a\u003e from bitflags/fix/rustc-ice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/2c0b042c1515c0d6adc94c00d5d730c1cca7aca3\"\u003e\u003ccode\u003e2c0b042\u003c/code\u003e\u003c/a\u003e re-pull const declarations outside of nested const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/c3f8d31d59f3ba8c05833fb322ecab8a2cb88060\"\u003e\u003ccode\u003ec3f8d31\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bitflags/bitflags/issues/494\"\u003e#494\u003c/a\u003e from DanielEScherzer/flags-docs-example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bitflags/bitflags/commit/0fc376241b05b5da46076f82db8fb1a0bb3be448\"\u003e\u003ccode\u003e0fc3762\u003c/code\u003e\u003c/a\u003e Flags: adjust order of elements in manual implementation example\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bitflags/bitflags/compare/2.13.1...2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cc` from 1.4.4 to 1.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/cc-rs/releases\"\u003ecc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecc-v1.8.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_PREFER_CLANG_CL_OVER_MSVC\u003c/code\u003e to override \u003ccode\u003eprefer_clang_cl_over_msvc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2001\"\u003e#2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(panic)\u003c/em\u003e fix panic in code and replace with error when appropriate (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(env)\u003c/em\u003e do not panic if WASM_MUSL_SYSROOT not set (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e help thread gets more token than necessary (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estop forwarding -Cprofile-generate/-Cprofile-use to the C compiler (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not apply target crt-static when target is overridden (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1999\"\u003e#1999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e poll for process exit on linux (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocument \u003ccode\u003eNVCC\u003c/code\u003e and other environment variables (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2005\"\u003e#2005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e poll for new token (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e Use poll on unix (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2000\"\u003e#2000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecc-v1.7.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eTool::get_envs\u003c/code\u003e, deprecate Tool::env and store tool env as \u003ccode\u003eArc\u0026lt;OsStr\u0026gt;\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1985\"\u003e#1985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elink \u003ccode\u003ec++\u003c/code\u003e when Clang uses libc++ (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_MASM_ASM\u003c/code\u003e and fall back to \u003ccode\u003ellvm-ml\u003c/code\u003e for MASM files (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(target parsing)\u003c/em\u003e for powerpc64-ibm-aix abi (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore ASCII case in program name checks (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(compile)\u003c/em\u003e issue compilation cmds more frequently in parallel \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1997\"\u003e#1997\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1998\"\u003e#1998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e Optimize tool detection caching (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e optimize EnvSnapshot Hash, PartialEq, Ord impl (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegenerate target info (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecc-v1.6.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::create_archive\u003c/code\u003e and \u003ccode\u003eemit_link_directives\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread the process environment once per \u003ccode\u003eBuild\u003c/code\u003e, on first use (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::message_logger\u003c/code\u003e for structured access to cc's messages (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1967\"\u003e#1967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCXXSTDLIB_STATIC\u003c/code\u003e to link the C++ stdlib statically from outside (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1957\"\u003e#1957\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ekey the flag support cache on target, host, language and environment (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1965\"\u003e#1965\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/rust-lang/cc-rs/blob/main/CHANGELOG.md\"\u003ecc's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.7.0...cc-v1.8.0\"\u003e1.8.0\u003c/a\u003e - 2026-10-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_PREFER_CLANG_CL_OVER_MSVC\u003c/code\u003e to override \u003ccode\u003eprefer_clang_cl_over_msvc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2001\"\u003e#2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(panic)\u003c/em\u003e fix panic in code and replace with error when appropriate (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(env)\u003c/em\u003e do not panic if WASM_MUSL_SYSROOT not set (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e help thread gets more token than necessary (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estop forwarding -Cprofile-generate/-Cprofile-use to the C compiler (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not apply target crt-static when target is overridden (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1999\"\u003e#1999\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e poll for process exit on linux (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocument \u003ccode\u003eNVCC\u003c/code\u003e and other environment variables (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2005\"\u003e#2005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(jobserver)\u003c/em\u003e poll for new token (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(parallel)\u003c/em\u003e Use poll on unix (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/2000\"\u003e#2000\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.6.0...cc-v1.7.0\"\u003e1.7.0\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eTool::get_envs\u003c/code\u003e, deprecate Tool::env and store tool env as \u003ccode\u003eArc\u0026lt;OsStr\u0026gt;\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1985\"\u003e#1985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elink \u003ccode\u003ec++\u003c/code\u003e when Clang uses libc++ (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1978\"\u003e#1978\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCC_MASM_ASM\u003c/code\u003e and fall back to \u003ccode\u003ellvm-ml\u003c/code\u003e for MASM files (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1975\"\u003e#1975\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(target parsing)\u003c/em\u003e for powerpc64-ibm-aix abi (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore ASCII case in program name checks (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1981\"\u003e#1981\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(compile)\u003c/em\u003e issue compilation cmds more frequently in parallel \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1997\"\u003e#1997\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/1998\"\u003e#1998\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e Optimize tool detection caching (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(cache)\u003c/em\u003e optimize EnvSnapshot Hash, PartialEq, Ord impl (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegenerate target info (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.5.1...cc-v1.6.0\"\u003e1.6.0\u003c/a\u003e - 2026-10-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::create_archive\u003c/code\u003e and \u003ccode\u003eemit_link_directives\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread the process environment once per \u003ccode\u003eBuild\u003c/code\u003e, on first use (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eBuild::message_logger\u003c/code\u003e for structured access to cc's messages (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1967\"\u003e#1967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eCXXSTDLIB_STATIC\u003c/code\u003e to link the C++ stdlib statically from outside (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/pull/1957\"\u003e#1957\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/rust-lang/cc-rs/commit/d0454eee9b9f046c4c3462b59e78145d81cc6b92\"\u003e\u003ccode\u003ed0454ee\u003c/code\u003e\u003c/a\u003e chore(cc): release v1.8.0 (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2010\"\u003e#2010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/fd18a6c1626d734469342083d89f142a764ebf6e\"\u003e\u003ccode\u003efd18a6c\u003c/code\u003e\u003c/a\u003e perf(parallel): poll for process exit on linux (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2009\"\u003e#2009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/b69d7ebc6116f73878397d2e1b290c0851d8a75e\"\u003e\u003ccode\u003eb69d7eb\u003c/code\u003e\u003c/a\u003e fix(panic): fix panic in code and replace with error when appropriate (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2008\"\u003e#2008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/78eaf8f311801a09db899c031185388a36b98763\"\u003e\u003ccode\u003e78eaf8f\u003c/code\u003e\u003c/a\u003e fix(env): do not panic if WASM_MUSL_SYSROOT not set (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2007\"\u003e#2007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/ca93d670f7eb8409cd2b166a3aee8ee5578e108a\"\u003e\u003ccode\u003eca93d67\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003eNVCC\u003c/code\u003e and other environment variables (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2005\"\u003e#2005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/e4f1339ed49712fe3f79295c52a4b98e15782fee\"\u003e\u003ccode\u003ee4f1339\u003c/code\u003e\u003c/a\u003e fix(jobserver): help thread gets more token than necessary (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2006\"\u003e#2006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/369070e6ecf678bbded7ad9996b9e3cb030ae9a1\"\u003e\u003ccode\u003e369070e\u003c/code\u003e\u003c/a\u003e perf(jobserver): poll for new token (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2004\"\u003e#2004\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/360d734061733b046e992597093f9ac6ae68637d\"\u003e\u003ccode\u003e360d734\u003c/code\u003e\u003c/a\u003e fix: stop forwarding -Cprofile-generate/-Cprofile-use to the C compiler (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2003\"\u003e#2003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/5832160173fe201761116644d7ef2062d3b84ffe\"\u003e\u003ccode\u003e5832160\u003c/code\u003e\u003c/a\u003e refactor(forward_available): use let-else (\u003ca href=\"https://redirect.github.com/rust-lang/cc-rs/issues/2002\"\u003e#2002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cc-rs/commit/fb83356fd7d4de96f6dc53855de641ab0bcd9e3f\"\u003e\u003ccode\u003efb83356\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eCC_PREFER_CLANG_CL_OVER_MSVC\u003c/code\u003e to override `prefer_clang_cl_over_ms...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rust-lang/cc-rs/compare/cc-v1.4.4...cc-v1.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cfg-if` from 1.0.4 to 1.0.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rust-lang/cfg-if/releases\"\u003ecfg-if's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a note that this crate is deprecated, suggesting \u003ccode\u003ecfg_select!\u003c/code\u003e instead\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/rust-lang/cfg-if/blob/main/CHANGELOG.md\"\u003ecfg-if's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/compare/v1.0.4...v1.0.5\"\u003e1.0.5\u003c/a\u003e - 2026-09-16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a note that this crate is deprecated, suggesting \u003ccode\u003ecfg_select!\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/8b0a2b0fc1fa3b3741b9e72895f390cf499fe36f\"\u003e\u003ccode\u003e8b0a2b0\u003c/code\u003e\u003c/a\u003e Deprecation notice + crate version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/efabe3f520a1a7b75e7e2267abf923ac23762269\"\u003e\u003ccode\u003eefabe3f\u003c/code\u003e\u003c/a\u003e Add a changelog entry for the upcoming deprecation notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/a66c2d4d559cdd6b047d1db3290f6bf252773fc9\"\u003e\u003ccode\u003ea66c2d4\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 6 to 7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rust-lang/cfg-if/commit/bda9677a0e8cc55f2a82130cb9c32c1a7335abfe\"\u003e\u003ccode\u003ebda9677\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/rust-lang/cfg-if/compare/v1.0.4...v1.0.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clap_builder` from 4.6.6 to 4.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/releases\"\u003eclap_builder's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.7\u003c/h2\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\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/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap_builder's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/13f2db5072d600c11d8d6298e4e9ba53ffc6c1ab\"\u003e\u003ccode\u003e13f2db5\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3304fead40c107f92f63daccf25af7b4f34ba709\"\u003e\u003ccode\u003e3304fea\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7b2ad34cfd8742757ebd9f5b3e9211cbb66f7c2f\"\u003e\u003ccode\u003e7b2ad34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6521\"\u003e#6521\u003c/a\u003e from r-near/feat/derive-deferred-initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/4380302f04d201aec21b67d2ca0f4d5cb5c01897\"\u003e\u003ccode\u003e4380302\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate trybuild to v1.0.120 (\u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/a812461690d1ec08a8c14e5df7661588a150800a\"\u003e\u003ccode\u003ea812461\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6528\"\u003e#6528\u003c/a\u003e from epage/template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/710884f95cc2279c7ffaa623dcb8bd54cb3cea76\"\u003e\u003ccode\u003e710884f\u003c/code\u003e\u003c/a\u003e style: Make clippy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/ce800a398b2e1325d1e66b44c68ab40639b3b568\"\u003e\u003ccode\u003ece800a3\u003c/code\u003e\u003c/a\u003e chore: Update from _rust template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/78d70f3c68b9f99dcdd1b28b846a8e824ea7d497\"\u003e\u003ccode\u003e78d70f3\u003c/code\u003e\u003c/a\u003e feat(derive): Defer enum subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2b2d8815fe1e8616569ec6c19a0979410ac45578\"\u003e\u003ccode\u003e2b2d881\u003c/code\u003e\u003c/a\u003e test(derive): Cover subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7f870209bfa0f1cd73b2203ef96cb5ac305c4034\"\u003e\u003ccode\u003e7f87020\u003c/code\u003e\u003c/a\u003e test(derive): Build before nested introspection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/v4.6.6...v4.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clap_derive` from 4.6.4 to 4.6.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/releases\"\u003eclap_derive's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.7\u003c/h2\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.6\u003c/h2\u003e\n\u003ch2\u003e[4.6.6] - 2026-08-06\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eCommand::get_overridden_usage\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.5\u003c/h2\u003e\n\u003ch2\u003e[4.6.5] - 2026-07-31\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(help)\u003c/em\u003e Correctly mark which \u003ccode\u003evalue_names\u003c/code\u003e are optional with \u003ccode\u003enum_args\u003c/code\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/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap_derive's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.6.7] - 2026-09-14\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(derive)\u003c/em\u003e Add \u003ccode\u003e#[command(defer = \u0026lt;bool\u0026gt;)]\u003c/code\u003e attribute to opt-in to lazy initialisation of subcommands\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.6] - 2026-08-06\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eCommand::get_overridden_usage\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.6.5] - 2026-07-31\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(help)\u003c/em\u003e Correctly mark which \u003ccode\u003evalue_names\u003c/code\u003e are optional with \u003ccode\u003enum_args\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/13f2db5072d600c11d8d6298e4e9ba53ffc6c1ab\"\u003e\u003ccode\u003e13f2db5\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3304fead40c107f92f63daccf25af7b4f34ba709\"\u003e\u003ccode\u003e3304fea\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7b2ad34cfd8742757ebd9f5b3e9211cbb66f7c2f\"\u003e\u003ccode\u003e7b2ad34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6521\"\u003e#6521\u003c/a\u003e from r-near/feat/derive-deferred-initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/4380302f04d201aec21b67d2ca0f4d5cb5c01897\"\u003e\u003ccode\u003e4380302\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate trybuild to v1.0.120 (\u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/a812461690d1ec08a8c14e5df7661588a150800a\"\u003e\u003ccode\u003ea812461\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6528\"\u003e#6528\u003c/a\u003e from epage/template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/710884f95cc2279c7ffaa623dcb8bd54cb3cea76\"\u003e\u003ccode\u003e710884f\u003c/code\u003e\u003c/a\u003e style: Make clippy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/ce800a398b2e1325d1e66b44c68ab40639b3b568\"\u003e\u003ccode\u003ece800a3\u003c/code\u003e\u003c/a\u003e chore: Update from _rust template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/78d70f3c68b9f99dcdd1b28b846a8e824ea7d497\"\u003e\u003ccode\u003e78d70f3\u003c/code\u003e\u003c/a\u003e feat(derive): Defer enum subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2b2d8815fe1e8616569ec6c19a0979410ac45578\"\u003e\u003ccode\u003e2b2d881\u003c/code\u003e\u003c/a\u003e test(derive): Cover subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7f870209bfa0f1cd73b2203ef96cb5ac305c4034\"\u003e\u003ccode\u003e7f87020\u003c/code\u003e\u003c/a\u003e test(derive): Build before nested introspection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/v4.6.4...v4.6.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `clap_lex` from 1.1.0 to 1.1.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/clap-rs/clap/blob/main/CHANGELOG.md\"\u003eclap_lex's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.1.1 (2015-07-17)\u003c/h2\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003efixes a logic bug and allows setting Arg::number_of_values() \u0026lt; 2 (\u003ca href=\"https://github.com/clap-rs/clap/commit/42b6d1fc3c519c92dfb3af15276e7d3b635e6cfe\"\u003e42b6d1fc\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/161\"\u003e#161\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/clap-rs/clap/commit/13f2db5072d600c11d8d6298e4e9ba53ffc6c1ab\"\u003e\u003ccode\u003e13f2db5\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/3304fead40c107f92f63daccf25af7b4f34ba709\"\u003e\u003ccode\u003e3304fea\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7b2ad34cfd8742757ebd9f5b3e9211cbb66f7c2f\"\u003e\u003ccode\u003e7b2ad34\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6521\"\u003e#6521\u003c/a\u003e from r-near/feat/derive-deferred-initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/4380302f04d201aec21b67d2ca0f4d5cb5c01897\"\u003e\u003ccode\u003e4380302\u003c/code\u003e\u003c/a\u003e chore(deps): Update Rust crate trybuild to v1.0.120 (\u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6509\"\u003e#6509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/a812461690d1ec08a8c14e5df7661588a150800a\"\u003e\u003ccode\u003ea812461\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/clap-rs/clap/issues/6528\"\u003e#6528\u003c/a\u003e from epage/template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/710884f95cc2279c7ffaa623dcb8bd54cb3cea76\"\u003e\u003ccode\u003e710884f\u003c/code\u003e\u003c/a\u003e style: Make clippy happy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/ce800a398b2e1325d1e66b44c68ab40639b3b568\"\u003e\u003ccode\u003ece800a3\u003c/code\u003e\u003c/a\u003e chore: Update from _rust template\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/78d70f3c68b9f99dcdd1b28b846a8e824ea7d497\"\u003e\u003ccode\u003e78d70f3\u003c/code\u003e\u003c/a\u003e feat(derive): Defer enum subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/2b2d8815fe1e8616569ec6c19a0979410ac45578\"\u003e\u003ccode\u003e2b2d881\u003c/code\u003e\u003c/a\u003e test(derive): Cover subcommand initialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/clap-rs/clap/commit/7f870209bfa0f1cd73b2203ef96cb5ac305c4034\"\u003e\u003ccode\u003e7f87020\u003c/code\u003e\u003c/a\u003e test(derive): Build before nested introspection\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/clap-rs/clap/compare/clap_lex-v1.1.0...clap_lex-v1.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crc32fast` from 1.5.1 to 1.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/7eb0b8a2c9b246d27dc4cb5a53d3fc3b43a4bb83\"\u003e\u003ccode\u003e7eb0b8a\u003c/code\u003e\u003c/a\u003e release 1.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/927270745b182e686b360ca6b87e71fce33632fb\"\u003e\u003ccode\u003e9272707\u003c/code\u003e\u003c/a\u003e perf(baseline): fold whole 16-byte blocks in the tail (\u003ca href=\"https://redirect.github.com/srijs/rust-crc32fast/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/1e291e6cba1caf6d346d3d2a2f4d621ccf10f1cf\"\u003e\u003ccode\u003e1e291e6\u003c/code\u003e\u003c/a\u003e ci: add riscv64gc-unknown-linux-gnu to cross-test matrix (\u003ca href=\"https://redirect.github.com/srijs/rust-crc32fast/issues/59\"\u003e#59\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/srijs/rust-crc32fast/commit/9d028706a30a6ae50ba06f2d791965f2f21be67d\"\u003e\u003ccode\u003e9d02870\u003c/code\u003e\u003c/a\u003e Update license links (\u003ca href=\"https://redirect.github.com/srijs/rust-crc32fast/issues/58\"\u003e#58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/srijs/rust-crc32fast/compare/v1.5.1...v1.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crossbeam` from 0.8.4 to 0.8.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbeam-rs/crossbeam/releases\"\u003ecrossbeam's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecrossbeam-utils 0.8.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eAtomicCell::fetch_update\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/704\"\u003e#704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport targets that do not have atomic CAS on stable Rust (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecrossbeam-deque 0.8.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove dependency on \u003ccode\u003ecfg-if\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1072\"\u003e#1072\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ecrossbeam 0.8.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1284\"\u003e#1284\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/crossbeam-rs/crossbeam/blob/main/CHANGELOG.md\"\u003ecrossbeam's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 0.8.5\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1284\"\u003e#1284\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/crossbeam-rs/crossbeam/commit/2920c984290229ab4e0ca0452ef09e48a82063f3\"\u003e\u003ccode\u003e2920c98\u003c/code\u003e\u003c/a\u003e Prepare for the next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/808b75a4cbbb59eab83a92cf867a3c771795f959\"\u003e\u003ccode\u003e808b75a\u003c/code\u003e\u003c/a\u003e ci: Update codegen job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/46774e09313d4601c23f77da0b078c914194c152\"\u003e\u003ccode\u003e46774e0\u003c/code\u003e\u003c/a\u003e channel: Document that send_timeout sends an available message even if the ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/89a3fe4025857397a1adfc954957687d4dce9c93\"\u003e\u003ccode\u003e89a3fe4\u003c/code\u003e\u003c/a\u003e epoch: Make Shared::null const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/383d74adcda222f99d54b4e80b55cce6bf30f142\"\u003e\u003ccode\u003e383d74a\u003c/code\u003e\u003c/a\u003e Use *::MAX associated constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a30b825e6de35ecc4762a55656f63b4dbf4ccb8a\"\u003e\u003ccode\u003ea30b825\u003c/code\u003e\u003c/a\u003e channel,deque,queue: Use AtomicU64/u64 in head/tail index if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a0e4d2929e4bf670bf05aad548880656e187a51e\"\u003e\u003ccode\u003ea0e4d29\u003c/code\u003e\u003c/a\u003e Replace iterative capacity growth with \u003ccode\u003enext_power_of_two\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/94f74d26240f5d49e61d56ac10111e6527dbcfe6\"\u003e\u003ccode\u003e94f74d2\u003c/code\u003e\u003c/a\u003e Recognize x86_64-unknown-linux-gnutsan in build script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/30e5963e4c0a9fc6626bd6417528c4f621e3838e\"\u003e\u003ccode\u003e30e5963\u003c/code\u003e\u003c/a\u003e epoch: Add missing fence emulation for tsan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/708a6bd582d1ee482183e186e98527b41bffe565\"\u003e\u003ccode\u003e708a6bd\u003c/code\u003e\u003c/a\u003e Handle overflow in bounded channel/queue initialization (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-0.8.4...crossbeam-0.8.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `crossbeam-channel` from 0.5.16 to 0.5.17\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/crossbeam-rs/crossbeam/releases\"\u003ecrossbeam-channel's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ecrossbeam-channel 0.5.17\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix UB in bounded channel when \u003ccode\u003eSelectedOperation\u003c/code\u003e is leaked. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix behavior inconsistency on already received case in \u003ccode\u003eat()\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1296\"\u003e#1296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle overflow in bounded channel initialization. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse 64-bit index on 32-bit platforms if 64-bit atomic is available. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1321\"\u003e#1321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy. (\u003ca href=\"https://redirect.github.com/crossbeam-rs/crossbeam/issues/1284\"\u003e#1284\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/crossbeam-rs/crossbeam/commit/2920c984290229ab4e0ca0452ef09e48a82063f3\"\u003e\u003ccode\u003e2920c98\u003c/code\u003e\u003c/a\u003e Prepare for the next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/808b75a4cbbb59eab83a92cf867a3c771795f959\"\u003e\u003ccode\u003e808b75a\u003c/code\u003e\u003c/a\u003e ci: Update codegen job\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/46774e09313d4601c23f77da0b078c914194c152\"\u003e\u003ccode\u003e46774e0\u003c/code\u003e\u003c/a\u003e channel: Document that send_timeout sends an available message even if the ti...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/89a3fe4025857397a1adfc954957687d4dce9c93\"\u003e\u003ccode\u003e89a3fe4\u003c/code\u003e\u003c/a\u003e epoch: Make Shared::null const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/383d74adcda222f99d54b4e80b55cce6bf30f142\"\u003e\u003ccode\u003e383d74a\u003c/code\u003e\u003c/a\u003e Use *::MAX associated constants\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a30b825e6de35ecc4762a55656f63b4dbf4ccb8a\"\u003e\u003ccode\u003ea30b825\u003c/code\u003e\u003c/a\u003e channel,deque,queue: Use AtomicU64/u64 in head/tail index if available\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/crossbeam-rs/crossbeam/commit/a0e4d2929e4bf670bf05aad548880656e187a51e\"\u003e\u003ccode\u003ea0e4d29\u003c/code...\n\n_Description has been truncated_","html_url":"https://github.com/3525643975chz-web/7-misu/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/3525643975chz-web%2F7-misu/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"8.6.0","new_version":"9.0.1","update_type":"major","path":"/native","pr_created_at":"2026-10-14T17:52:41.000Z","version_change":"8.6.0 → 9.0.1","issue":{"uuid":"5852813007","node_id":"PR_kwDOTDVGOs8AAAABIc4GRQ","number":49,"state":"open","title":"build(deps): bump zip from 8.6.0 to 9.0.1 in /native","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-14T17:52:41.000Z","updated_at":"2026-10-20T15:00:44.473Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"}],"path":"/native","ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/KiaroSama/Numera-Emoji-Mapper/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KiaroSama%2FNumera-Emoji-Mapper/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}},{"old_version":"8.6.0","new_version":"9.0.1","update_type":"major","path":null,"pr_created_at":"2026-10-14T17:06:51.000Z","version_change":"8.6.0 → 9.0.1","issue":{"uuid":"5852108463","node_id":"PR_kwDOAkuhzM8AAAABIcTfAw","number":442,"state":"closed","title":"chore(deps): bump zip from 8.6.0 to 9.0.1","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-15T10:03:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T17:06:51.000Z","updated_at":"2026-10-15T10:03:18.000Z","time_to_close":60983,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/dginev/CorTeX/pull/442","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dginev%2FCorTeX/issues/442","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/442/packages"}},{"old_version":"8.6.0","new_version":"9.0.1","update_type":"major","path":null,"pr_created_at":"2026-10-14T16:54:51.000Z","version_change":"8.6.0 → 9.0.1","issue":{"uuid":"5851926657","node_id":"PR_kwDOUdWDZ88AAAABIcKGPg","number":26,"state":"open","title":"build(deps): bump zip from 8.6.0 to 9.0.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-14T16:54:51.000Z","updated_at":"2026-10-15T11:00:26.906Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"zip","old_version":"8.6.0","new_version":"9.0.1","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps [zip](https://github.com/zip-rs/zip2) from 8.6.0 to 9.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.1\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0...v9.0.1\"\u003e9.0.1\u003c/a\u003e - 2026-10-10\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eset_permissions was still following symlinks in non-streaming extraction (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1038\"\u003e#1038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etwo arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject an empty archive whose central directory offset is past the EOCD (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1025\"\u003e#1025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eshrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ewrite only the sentinel-marked values in a central ZIP64 field (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1027\"\u003e#1027\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\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/zip-rs/zip2/commit/ac26df12dcaf341d4e7f42246fc77f92a6d24699\"\u003e\u003ccode\u003eac26df1\u003c/code\u003e\u003c/a\u003e chore: release v9.0.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1045\"\u003e#1045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/c605dfab44ce7d9e6c0c61bcc1cd64ec169f7ec8\"\u003e\u003ccode\u003ec605dfa\u003c/code\u003e\u003c/a\u003e style: cargo fmt --all (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1044\"\u003e#1044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/114875ab75193dce77e8742c483ea2f6cac57d92\"\u003e\u003ccode\u003e114875a\u003c/code\u003e\u003c/a\u003e fix: set_permissions was still following symlinks in non-streaming extraction...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/4f278b41f1a57e72c92fdf9426d66d71be8857f6\"\u003e\u003ccode\u003e4f278b4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2528ff7cd0ebb10adae7d36a770562e172090a52\"\u003e\u003ccode\u003e2528ff7\u003c/code\u003e\u003c/a\u003e fix: two arithmetic overflows in the implode decoder (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1028\"\u003e#1028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/50f04341fbfe29817e81d3f775f0d042466fabd2\"\u003e\u003ccode\u003e50f0434\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.1 to 1.12.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1042\"\u003e#1042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/25bb3de95dcde89767238581005b38b652acf4d9\"\u003e\u003ccode\u003e25bb3de\u003c/code\u003e\u003c/a\u003e fix: reject an empty archive whose central directory offset is past the EOCD ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f31c01df4414f2c3533da1bcd908075bf3f19170\"\u003e\u003ccode\u003ef31c01d\u003c/code\u003e\u003c/a\u003e fix: don't panic when two entries extract to the same path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1023\"\u003e#1023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/71efbd8391d4b371a23cc22a65d406ac85764597\"\u003e\u003ccode\u003e71efbd8\u003c/code\u003e\u003c/a\u003e fix: fail reads that exceed the declared uncompressed size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1022\"\u003e#1022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/fd7c9b1ec5c06107ffbce435a30478d8ba19a41c\"\u003e\u003ccode\u003efd7c9b1\u003c/code\u003e\u003c/a\u003e fix: shrink decoder skipped LZW code 8191 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1029\"\u003e#1029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip\u0026package-manager=cargo\u0026previous-version=8.6.0\u0026new-version=9.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/brightmeows/bms-resource-toolbox/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/brightmeows%2Fbms-resource-toolbox/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":"8.6.0","new_version":"9.0.0","update_type":"major","path":null,"pr_created_at":"2026-10-13T04:04:52.000Z","version_change":"8.6.0 → 9.0.0","issue":{"uuid":"5824323880","node_id":"PR_kwDOUjRz_s8AAAABIGEYDQ","number":16,"state":"closed","title":"deps(rust)(deps): bump the rust-dependencies group across 1 directory with 127 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-16T10:21:41.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-13T04:04:52.000Z","updated_at":"2026-10-16T10:21:43.000Z","time_to_close":281809,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(rust)(deps): bump","group_name":"rust-dependencies","update_count":127,"packages":[{"name":"tauri","old_version":"2.11.5","new_version":"2.11.6","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-plugin-opener","old_version":"2.5.5","new_version":"2.7.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-fs","old_version":"2.5.2","new_version":"2.6.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-shell","old_version":"2.3.6","new_version":"2.4.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-deep-link","old_version":"2.4.10","new_version":"2.6.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-single-instance","old_version":"2.4.4","new_version":"2.5.2","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-dialog","old_version":"2.7.3","new_version":"2.8.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-log","old_version":"2.9.1","new_version":"2.10.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-clipboard-manager","old_version":"2.3.3","new_version":"2.4.1","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tauri-plugin-window-state","old_version":"2.4.1","new_version":"2.5.0","repository_url":"https://github.com/tauri-apps/plugins-workspace"},{"name":"tokio","old_version":"1.53.1","new_version":"1.53.2","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"tokio-util","old_version":"0.7.19","new_version":"0.7.20","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"lazy_static","old_version":"1.5.0","new_version":"1.5.1","repository_url":"https://github.com/rust-lang-nursery/lazy-static.rs"},{"name":"libc","old_version":"0.2.189","new_version":"0.2.190","repository_url":"https://github.com/rust-lang/libc"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.0","repository_url":"https://github.com/zip-rs/zip2"},{"name":"uuid","old_version":"1.26.1","new_version":"1.28.0","repository_url":"https://github.com/uuid-rs/uuid"},{"name":"rand","old_version":"0.10.2","new_version":"0.10.3","repository_url":"https://github.com/rust-random/rand"},{"name":"utoipa","old_version":"5.5.0","new_version":"6.0.0","repository_url":"https://github.com/juhaku/utoipa"},{"name":"utoipa-axum","old_version":"0.2.0","new_version":"0.3.0","repository_url":"https://github.com/juhaku/utoipa"},{"name":"shadowsocks","old_version":"1.24.0","new_version":"1.25.0","repository_url":"https://github.com/shadowsocks/shadowsocks-rust"},{"name":"hyper","old_version":"1.11.1","new_version":"1.12.0","repository_url":"https://github.com/hyperium/hyper"},{"name":"hyper-util","old_version":"0.1.20","new_version":"0.1.21","repository_url":"https://github.com/hyperium/hyper-util"},{"name":"thiserror","old_version":"2.0.20","new_version":"2.0.21","repository_url":"https://github.com/dtolnay/thiserror"},{"name":"maxminddb","old_version":"0.30.3","new_version":"0.32.0","repository_url":"https://github.com/oschwald/maxminddb-rust"},{"name":"dirs","old_version":"6.0.0","new_version":"7.0.0"},{"name":"jsonc-parser","old_version":"0.33.2","new_version":"0.34.0","repository_url":"https://github.com/dprint/jsonc-parser"},{"name":"objc2","old_version":"0.6.4","new_version":"0.6.5","repository_url":"https://github.com/madsmtm/objc2"},{"name":"tauri-build","old_version":"2.6.3","new_version":"2.7.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"alloc-no-stdlib","old_version":"2.0.4","new_version":"3.0.0","repository_url":"https://github.com/dropbox/rust-alloc-no-stdlib"},{"name":"alloc-stdlib","old_version":"0.2.4","new_version":"0.3.0","repository_url":"https://github.com/dropbox/rust-alloc-no-stdlib"},{"name":"arbitrary","old_version":"1.4.2","new_version":"1.5.0","repository_url":"https://github.com/rust-fuzz/arbitrary"},{"name":"async-recursion","old_version":"1.1.1","new_version":"1.2.0","repository_url":"https://github.com/dcchut/async-recursion"},{"name":"brotli","old_version":"8.0.4","new_version":"9.0.0","repository_url":"https://github.com/dropbox/rust-brotli"},{"name":"brotli-decompressor","old_version":"5.0.3","new_version":"6.0.1","repository_url":"https://github.com/dropbox/rust-brotli-decompressor"},{"name":"camino","old_version":"1.2.5","new_version":"1.2.6","repository_url":"https://github.com/camino-rs/camino"},{"name":"cargo_toml","old_version":"0.22.3","new_version":"1.0.1"},{"name":"cc","old_version":"1.4.6","new_version":"1.7.0","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"cfb","old_version":"0.7.3","new_version":"0.10.0","repository_url":"https://github.com/mdsteele/rust-cfb"},{"name":"cfg-if","old_version":"1.0.4","new_version":"1.0.5","repository_url":"https://github.com/rust-lang/cfg-if"},{"name":"const-oid","old_version":"0.9.6","new_version":"0.10.2","repository_url":"https://github.com/RustCrypto/formats"},{"name":"cssparser","old_version":"0.36.0","new_version":"0.37.0","repository_url":"https://github.com/servo/rust-cssparser"},{"name":"cssparser-macros","old_version":"0.6.1","new_version":"0.7.1","repository_url":"https://github.com/servo/rust-cssparser"},{"name":"ctor","old_version":"0.8.0","new_version":"1.0.13","repository_url":"https://github.com/mmastrac/linktime"},{"name":"ctr","old_version":"0.9.2","new_version":"0.10.1","repository_url":"https://github.com/RustCrypto/block-modes"},{"name":"ctutils","old_version":"0.4.2","new_version":"0.4.3","repository_url":"https://github.com/RustCrypto/utils"},{"name":"der","old_version":"0.7.10","new_version":"0.8.2","repository_url":"https://github.com/RustCrypto/formats"},{"name":"dom_query","old_version":"0.27.0","new_version":"0.28.0","repository_url":"https://github.com/niklak/dom_query"},{"name":"ed25519","old_version":"2.2.3","new_version":"3.0.0","repository_url":"https://github.com/RustCrypto/signatures"},{"name":"either","old_version":"1.18.0","new_version":"1.19.0","repository_url":"https://github.com/rayon-rs/either"},{"name":"embed-resource","old_version":"3.0.11","new_version":"3.0.12","repository_url":"https://github.com/nabijaczleweli/rust-embed-resource"},{"name":"encoding_rs","old_version":"0.8.41","new_version":"0.8.42","repository_url":"https://github.com/hsivonen/encoding_rs"},{"name":"find-msvc-tools","old_version":"0.1.12","new_version":"0.1.14","repository_url":"https://github.com/rust-lang/cc-rs"},{"name":"font-types","old_version":"0.12.5","new_version":"0.12.6","repository_url":"https://github.com/googlefonts/fontations"},{"name":"ghash","old_version":"0.5.1","new_version":"0.6.0","repository_url":"https://github.com/RustCrypto/universal-hashes"},{"name":"h2","old_version":"0.4.19","new_version":"0.4.20","repository_url":"https://github.com/hyperium/h2"},{"name":"hkdf","old_version":"0.12.4","new_version":"0.13.0","repository_url":"https://github.com/RustCrypto/KDFs"},{"name":"html5ever","old_version":"0.38.0","new_version":"0.39.0","repository_url":"https://github.com/servo/html5ever"},{"name":"hyper-rustls","old_version":"0.27.9","new_version":"0.27.10","repository_url":"https://github.com/rustls/hyper-rustls"},{"name":"infer","old_version":"0.19.0","new_version":"0.22.0","repository_url":"https://github.com/bojand/infer"},{"name":"jiff","old_version":"0.2.37","new_version":"0.2.38","repository_url":"https://github.com/BurntSushi/jiff"},{"name":"jiff-static","old_version":"0.2.37","new_version":"0.2.38","repository_url":"https://github.com/BurntSushi/jiff"},{"name":"jiff-tzdb","old_version":"0.1.8","new_version":"0.1.9","repository_url":"https://github.com/BurntSushi/jiff"},{"name":"json-patch","old_version":"3.0.1","new_version":"4.2.0","repository_url":"https://github.com/idubrov/json-patch"},{"name":"jsonptr","old_version":"0.6.3","new_version":"0.7.1","repository_url":"https://github.com/chanced/jsonptr"},{"name":"keyboard-types","old_version":"0.7.0","new_version":"0.8.3","repository_url":"https://github.com/rust-windowing/keyboard-types"},{"name":"libredox","old_version":"0.1.24","new_version":"0.1.25"},{"name":"markup5ever","old_version":"0.38.0","new_version":"0.39.0","repository_url":"https://github.com/servo/html5ever"},{"name":"md-5","old_version":"0.10.6","new_version":"0.11.0","repository_url":"https://github.com/RustCrypto/hashes"},{"name":"mio","old_version":"1.2.3","new_version":"1.2.4","repository_url":"https://github.com/tokio-rs/mio"},{"name":"muda","old_version":"0.19.3","new_version":"0.20.0","repository_url":"https://github.com/tauri-apps/muda"},{"name":"pkcs8","old_version":"0.10.2","new_version":"0.11.0","repository_url":"https://github.com/RustCrypto/formats"},{"name":"polyval","old_version":"0.6.2","new_version":"0.7.3","repository_url":"https://github.com/RustCrypto/universal-hashes"},{"name":"powerfmt","old_version":"0.2.0","new_version":"0.2.1","repository_url":"https://github.com/jhpratt/powerfmt"},{"name":"redox_users","old_version":"0.5.2","new_version":"0.5.3"},{"name":"rustix","old_version":"1.1.4","new_version":"1.1.5","repository_url":"https://github.com/bytecodealliance/rustix"},{"name":"sealed","old_version":"0.6.0","new_version":"0.7.0","repository_url":"https://github.com/jmg-duarte/sealed-rs"},{"name":"selectors","old_version":"0.36.1","new_version":"0.38.0","repository_url":"https://github.com/servo/stylo"},{"name":"sendfd","old_version":"0.4.4","new_version":"0.4.5","repository_url":"https://github.com/standard-ai/sendfd"},{"name":"serde_spanned","old_version":"1.1.1","new_version":"1.1.2","repository_url":"https://github.com/toml-rs/toml"},{"name":"serde_with","old_version":"3.23.0","new_version":"3.24.0","repository_url":"https://github.com/jonasbb/serde_with"},{"name":"serde_with_macros","old_version":"3.23.0","new_version":"3.24.0","repository_url":"https://github.com/jonasbb/serde_with"},{"name":"shadowsocks-crypto","old_version":"0.6.2","new_version":"0.8.0","repository_url":"https://github.com/shadowsocks/shadowsocks-crypto"},{"name":"signal-hook","old_version":"0.4.4","new_version":"0.4.5","repository_url":"https://github.com/vorner/signal-hook"},{"name":"signature","old_version":"2.2.0","new_version":"3.0.0","repository_url":"https://github.com/RustCrypto/traits"},{"name":"siphasher","old_version":"1.0.3","new_version":"1.0.4","repository_url":"https://github.com/jedisct1/rust-siphash"},{"name":"smallvec","old_version":"1.16.1","new_version":"1.16.3","repository_url":"https://github.com/servo/rust-smallvec"},{"name":"spin","old_version":"0.10.1","new_version":"0.12.3"},{"name":"spki","old_version":"0.7.3","new_version":"0.8.1","repository_url":"https://github.com/RustCrypto/formats"},{"name":"syn","old_version":"3.0.5","new_version":"3.0.7","repository_url":"https://github.com/dtolnay/syn"},{"name":"tao","old_version":"0.35.3","new_version":"0.37.1","repository_url":"https://github.com/tauri-apps/tao"},{"name":"tauri-codegen","old_version":"2.6.3","new_version":"2.7.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-macros","old_version":"2.6.3","new_version":"2.7.2","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-plugin","old_version":"2.6.3","new_version":"2.7.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-runtime","old_version":"2.11.3","new_version":"2.12.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-runtime-wry","old_version":"2.11.4","new_version":"2.12.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tauri-utils","old_version":"2.9.3","new_version":"2.10.1","repository_url":"https://github.com/tauri-apps/tauri"},{"name":"tokio-rustls","old_version":"0.26.5","new_version":"0.26.6","repository_url":"https://github.com/rustls/tokio-rustls"},{"name":"toml_datetime","old_version":"1.1.1+spec-1.1.0","new_version":"1.1.2+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_parser","old_version":"1.1.3+spec-1.1.0","new_version":"1.1.5+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"toml_writer","old_version":"1.1.2+spec-1.1.0","new_version":"1.1.3+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"tray-icon","old_version":"0.24.2","new_version":"0.25.1","repository_url":"https://github.com/tauri-apps/tray-icon"},{"name":"unicase","old_version":"2.9.0","new_version":"2.10.0","repository_url":"https://github.com/seanmonstar/unicase"},{"name":"unicode-ident","old_version":"1.0.24","new_version":"1.0.26","repository_url":"https://github.com/dtolnay/unicode-ident"},{"name":"untrusted","old_version":"0.9.0","new_version":"0.7.1","repository_url":"https://github.com/briansmith/untrusted"},{"name":"urlpattern","old_version":"0.3.0","new_version":"0.6.0","repository_url":"https://github.com/denoland/rust-urlpattern"},{"name":"utoipa-gen","old_version":"5.5.0","new_version":"6.0.1","repository_url":"https://github.com/juhaku/utoipa"},{"name":"want","old_version":"0.3.1","new_version":"0.3.2","repository_url":"https://github.com/seanmonstar/want"},{"name":"webview2-com","old_version":"0.38.2","new_version":"0.39.1","repository_url":"https://github.com/wravery/webview2-rs"},{"name":"webview2-com-sys","old_version":"0.38.2","new_version":"0.39.1","repository_url":"https://github.com/wravery/webview2-rs"},{"name":"window-vibrancy","old_version":"0.6.0","new_version":"0.8.1","repository_url":"https://github.com/tauri-apps/tauri-plugin-vibrancy"},{"name":"windows-collections","old_version":"0.2.0","new_version":"0.3.2","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-core","old_version":"0.61.2","new_version":"0.62.2","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-future","old_version":"0.2.1","new_version":"0.3.2","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-link","old_version":"0.1.3","new_version":"0.2.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-numerics","old_version":"0.2.0","new_version":"0.3.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-registry","old_version":"0.5.3","new_version":"0.6.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-result","old_version":"0.3.4","new_version":"0.4.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-strings","old_version":"0.4.2","new_version":"0.5.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"windows-threading","old_version":"0.1.0","new_version":"0.2.1","repository_url":"https://github.com/microsoft/windows-rs"},{"name":"wl-clipboard-rs","old_version":"0.9.3","new_version":"0.9.4","repository_url":"https://github.com/YaLTeR/wl-clipboard-rs"},{"name":"wry","old_version":"0.55.1","new_version":"0.57.0","repository_url":"https://github.com/tauri-apps/wry"},{"name":"yoke-derive","old_version":"0.8.2","new_version":"0.8.4","repository_url":"https://github.com/unicode-org/icu4x"},{"name":"zerocopy","old_version":"0.8.57","new_version":"0.8.62","repository_url":"https://github.com/google/zerocopy"},{"name":"zerocopy-derive","old_version":"0.8.57","new_version":"0.8.62","repository_url":"https://github.com/google/zerocopy"},{"name":"zerofrom-derive","old_version":"0.1.7","new_version":"0.1.8","repository_url":"https://github.com/unicode-org/icu4x"},{"name":"zeroize","old_version":"1.9.0","new_version":"1.9.1","repository_url":"https://github.com/RustCrypto/utils"},{"name":"zlib-rs","old_version":"0.6.7","new_version":"0.6.8","repository_url":"https://github.com/trifectatechfoundation/zlib-rs"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the rust-dependencies group with 127 updates in the /src-tauri directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tauri](https://github.com/tauri-apps/tauri) | `2.11.5` | `2.11.6` |\n| [tauri-plugin-opener](https://github.com/tauri-apps/plugins-workspace) | `2.5.5` | `2.7.0` |\n| [tauri-plugin-fs](https://github.com/tauri-apps/plugins-workspace) | `2.5.2` | `2.6.0` |\n| [tauri-plugin-shell](https://github.com/tauri-apps/plugins-workspace) | `2.3.6` | `2.4.1` |\n| [tauri-plugin-deep-link](https://github.com/tauri-apps/plugins-workspace) | `2.4.10` | `2.6.1` |\n| [tauri-plugin-single-instance](https://github.com/tauri-apps/plugins-workspace) | `2.4.4` | `2.5.2` |\n| [tauri-plugin-dialog](https://github.com/tauri-apps/plugins-workspace) | `2.7.3` | `2.8.1` |\n| [tauri-plugin-log](https://github.com/tauri-apps/plugins-workspace) | `2.9.1` | `2.10.0` |\n| [tauri-plugin-clipboard-manager](https://github.com/tauri-apps/plugins-workspace) | `2.3.3` | `2.4.1` |\n| [tauri-plugin-window-state](https://github.com/tauri-apps/plugins-workspace) | `2.4.1` | `2.5.0` |\n| [tokio](https://github.com/tokio-rs/tokio) | `1.53.1` | `1.53.2` |\n| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.19` | `0.7.20` |\n| [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) | `1.5.0` | `1.5.1` |\n| [libc](https://github.com/rust-lang/libc) | `0.2.189` | `0.2.190` |\n| [zip](https://github.com/zip-rs/zip2) | `8.6.0` | `9.0.0` |\n| [uuid](https://github.com/uuid-rs/uuid) | `1.26.1` | `1.28.0` |\n| [rand](https://github.com/rust-random/rand) | `0.10.2` | `0.10.3` |\n| [utoipa](https://github.com/juhaku/utoipa) | `5.5.0` | `6.0.0` |\n| [utoipa-axum](https://github.com/juhaku/utoipa) | `0.2.0` | `0.3.0` |\n| [shadowsocks](https://github.com/shadowsocks/shadowsocks-rust) | `1.24.0` | `1.25.0` |\n| [hyper](https://github.com/hyperium/hyper) | `1.11.1` | `1.12.0` |\n| [hyper-util](https://github.com/hyperium/hyper-util) | `0.1.20` | `0.1.21` |\n| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.20` | `2.0.21` |\n| [maxminddb](https://github.com/oschwald/maxminddb-rust) | `0.30.3` | `0.32.0` |\n| dirs | `6.0.0` | `7.0.0` |\n| [jsonc-parser](https://github.com/dprint/jsonc-parser) | `0.33.2` | `0.34.0` |\n| [objc2](https://github.com/madsmtm/objc2) | `0.6.4` | `0.6.5` |\n| [tauri-build](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.2` |\n| [alloc-no-stdlib](https://github.com/dropbox/rust-alloc-no-stdlib) | `2.0.4` | `3.0.0` |\n| [alloc-stdlib](https://github.com/dropbox/rust-alloc-no-stdlib) | `0.2.4` | `0.3.0` |\n| [arbitrary](https://github.com/rust-fuzz/arbitrary) | `1.4.2` | `1.5.0` |\n| [async-recursion](https://github.com/dcchut/async-recursion) | `1.1.1` | `1.2.0` |\n| [brotli](https://github.com/dropbox/rust-brotli) | `8.0.4` | `9.0.0` |\n| [brotli-decompressor](https://github.com/dropbox/rust-brotli-decompressor) | `5.0.3` | `6.0.1` |\n| [camino](https://github.com/camino-rs/camino) | `1.2.5` | `1.2.6` |\n| [cargo_toml](https://gitlab.com/lib.rs/cargo_toml) | `0.22.3` | `1.0.1` |\n| [cc](https://github.com/rust-lang/cc-rs) | `1.4.6` | `1.7.0` |\n| [cfb](https://github.com/mdsteele/rust-cfb) | `0.7.3` | `0.10.0` |\n| [cfg-if](https://github.com/rust-lang/cfg-if) | `1.0.4` | `1.0.5` |\n| [const-oid](https://github.com/RustCrypto/formats) | `0.9.6` | `0.10.2` |\n| [cssparser](https://github.com/servo/rust-cssparser) | `0.36.0` | `0.37.0` |\n| [cssparser-macros](https://github.com/servo/rust-cssparser) | `0.6.1` | `0.7.1` |\n| [ctor](https://github.com/mmastrac/linktime) | `0.8.0` | `1.0.13` |\n| [ctr](https://github.com/RustCrypto/block-modes) | `0.9.2` | `0.10.1` |\n| [ctutils](https://github.com/RustCrypto/utils) | `0.4.2` | `0.4.3` |\n| [der](https://github.com/RustCrypto/formats) | `0.7.10` | `0.8.2` |\n| [dom_query](https://github.com/niklak/dom_query) | `0.27.0` | `0.28.0` |\n| [ed25519](https://github.com/RustCrypto/signatures) | `2.2.3` | `3.0.0` |\n| [either](https://github.com/rayon-rs/either) | `1.18.0` | `1.19.0` |\n| [embed-resource](https://github.com/nabijaczleweli/rust-embed-resource) | `3.0.11` | `3.0.12` |\n| [encoding_rs](https://github.com/hsivonen/encoding_rs) | `0.8.41` | `0.8.42` |\n| [find-msvc-tools](https://github.com/rust-lang/cc-rs) | `0.1.12` | `0.1.14` |\n| [font-types](https://github.com/googlefonts/fontations) | `0.12.5` | `0.12.6` |\n| [ghash](https://github.com/RustCrypto/universal-hashes) | `0.5.1` | `0.6.0` |\n| [h2](https://github.com/hyperium/h2) | `0.4.19` | `0.4.20` |\n| [hkdf](https://github.com/RustCrypto/KDFs) | `0.12.4` | `0.13.0` |\n| [html5ever](https://github.com/servo/html5ever) | `0.38.0` | `0.39.0` |\n| [hyper-rustls](https://github.com/rustls/hyper-rustls) | `0.27.9` | `0.27.10` |\n| [infer](https://github.com/bojand/infer) | `0.19.0` | `0.22.0` |\n| [jiff](https://github.com/BurntSushi/jiff) | `0.2.37` | `0.2.38` |\n| [jiff-static](https://github.com/BurntSushi/jiff) | `0.2.37` | `0.2.38` |\n| [jiff-tzdb](https://github.com/BurntSushi/jiff) | `0.1.8` | `0.1.9` |\n| [json-patch](https://github.com/idubrov/json-patch) | `3.0.1` | `4.2.0` |\n| [jsonptr](https://github.com/chanced/jsonptr) | `0.6.3` | `0.7.1` |\n| [keyboard-types](https://github.com/rust-windowing/keyboard-types) | `0.7.0` | `0.8.3` |\n| libredox | `0.1.24` | `0.1.25` |\n| [markup5ever](https://github.com/servo/html5ever) | `0.38.0` | `0.39.0` |\n| [md-5](https://github.com/RustCrypto/hashes) | `0.10.6` | `0.11.0` |\n| [mio](https://github.com/tokio-rs/mio) | `1.2.3` | `1.2.4` |\n| [muda](https://github.com/tauri-apps/muda) | `0.19.3` | `0.20.0` |\n| [pkcs8](https://github.com/RustCrypto/formats) | `0.10.2` | `0.11.0` |\n| [polyval](https://github.com/RustCrypto/universal-hashes) | `0.6.2` | `0.7.3` |\n| [powerfmt](https://github.com/jhpratt/powerfmt) | `0.2.0` | `0.2.1` |\n| redox_users | `0.5.2` | `0.5.3` |\n| [rustix](https://github.com/bytecodealliance/rustix) | `1.1.4` | `1.1.5` |\n| [sealed](https://github.com/jmg-duarte/sealed-rs) | `0.6.0` | `0.7.0` |\n| [selectors](https://github.com/servo/stylo) | `0.36.1` | `0.38.0` |\n| [sendfd](https://github.com/standard-ai/sendfd) | `0.4.4` | `0.4.5` |\n| [serde_spanned](https://github.com/toml-rs/toml) | `1.1.1` | `1.1.2` |\n| [serde_with](https://github.com/jonasbb/serde_with) | `3.23.0` | `3.24.0` |\n| [serde_with_macros](https://github.com/jonasbb/serde_with) | `3.23.0` | `3.24.0` |\n| [shadowsocks-crypto](https://github.com/shadowsocks/shadowsocks-crypto) | `0.6.2` | `0.8.0` |\n| [signal-hook](https://github.com/vorner/signal-hook) | `0.4.4` | `0.4.5` |\n| [signature](https://github.com/RustCrypto/traits) | `2.2.0` | `3.0.0` |\n| [siphasher](https://github.com/jedisct1/rust-siphash) | `1.0.3` | `1.0.4` |\n| [smallvec](https://github.com/servo/rust-smallvec) | `1.16.1` | `1.16.3` |\n| spin | `0.10.1` | `0.12.3` |\n| [spki](https://github.com/RustCrypto/formats) | `0.7.3` | `0.8.1` |\n| [syn](https://github.com/dtolnay/syn) | `3.0.5` | `3.0.7` |\n| [tao](https://github.com/tauri-apps/tao) | `0.35.3` | `0.37.1` |\n| [tauri-codegen](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.2` |\n| [tauri-macros](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.2` |\n| [tauri-plugin](https://github.com/tauri-apps/tauri) | `2.6.3` | `2.7.1` |\n| [tauri-runtime](https://github.com/tauri-apps/tauri) | `2.11.3` | `2.12.1` |\n| [tauri-runtime-wry](https://github.com/tauri-apps/tauri) | `2.11.4` | `2.12.1` |\n| [tauri-utils](https://github.com/tauri-apps/tauri) | `2.9.3` | `2.10.1` |\n| [tokio-rustls](https://github.com/rustls/tokio-rustls) | `0.26.5` | `0.26.6` |\n| [toml_datetime](https://github.com/toml-rs/toml) | `1.1.1+spec-1.1.0` | `1.1.2+spec-1.1.0` |\n| [toml_parser](https://github.com/toml-rs/toml) | `1.1.3+spec-1.1.0` | `1.1.5+spec-1.1.0` |\n| [toml_writer](https://github.com/toml-rs/toml) | `1.1.2+spec-1.1.0` | `1.1.3+spec-1.1.0` |\n| [tray-icon](https://github.com/tauri-apps/tray-icon) | `0.24.2` | `0.25.1` |\n| [unicase](https://github.com/seanmonstar/unicase) | `2.9.0` | `2.10.0` |\n| [unicode-ident](https://github.com/dtolnay/unicode-ident) | `1.0.24` | `1.0.26` |\n| [untrusted](https://github.com/briansmith/untrusted) | `0.9.0` | `0.7.1` |\n| [urlpattern](https://github.com/denoland/rust-urlpattern) | `0.3.0` | `0.6.0` |\n| [utoipa-gen](https://github.com/juhaku/utoipa) | `5.5.0` | `6.0.1` |\n| [want](https://github.com/seanmonstar/want) | `0.3.1` | `0.3.2` |\n| [webview2-com](https://github.com/wravery/webview2-rs) | `0.38.2` | `0.39.1` |\n| [webview2-com-sys](https://github.com/wravery/webview2-rs) | `0.38.2` | `0.39.1` |\n| [window-vibrancy](https://github.com/tauri-apps/tauri-plugin-vibrancy) | `0.6.0` | `0.8.1` |\n| [windows-collections](https://github.com/microsoft/windows-rs) | `0.2.0` | `0.3.2` |\n| [windows-core](https://github.com/microsoft/windows-rs) | `0.61.2` | `0.62.2` |\n| [windows-future](https://github.com/microsoft/windows-rs) | `0.2.1` | `0.3.2` |\n| [windows-link](https://github.com/microsoft/windows-rs) | `0.1.3` | `0.2.1` |\n| [windows-numerics](https://github.com/microsoft/windows-rs) | `0.2.0` | `0.3.1` |\n| [windows-registry](https://github.com/microsoft/windows-rs) | `0.5.3` | `0.6.1` |\n| [windows-result](https://github.com/microsoft/windows-rs) | `0.3.4` | `0.4.1` |\n| [windows-strings](https://github.com/microsoft/windows-rs) | `0.4.2` | `0.5.1` |\n| [windows-threading](https://github.com/microsoft/windows-rs) | `0.1.0` | `0.2.1` |\n| [wl-clipboard-rs](https://github.com/YaLTeR/wl-clipboard-rs) | `0.9.3` | `0.9.4` |\n| [wry](https://github.com/tauri-apps/wry) | `0.55.1` | `0.57.0` |\n| [yoke-derive](https://github.com/unicode-org/icu4x) | `0.8.2` | `0.8.4` |\n| [zerocopy](https://github.com/google/zerocopy) | `0.8.57` | `0.8.62` |\n| [zerocopy-derive](https://github.com/google/zerocopy) | `0.8.57` | `0.8.62` |\n| [zerofrom-derive](https://github.com/unicode-org/icu4x) | `0.1.7` | `0.1.8` |\n| [zeroize](https://github.com/RustCrypto/utils) | `1.9.0` | `1.9.1` |\n| [zlib-rs](https://github.com/trifectatechfoundation/zlib-rs) | `0.6.7` | `0.6.8` |\n\n\nUpdates `tauri` from 2.11.5 to 2.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/tauri/releases\"\u003etauri's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etauri v2.11.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003eFetching advisory database from `https://github.com/RustSec/advisory-db.git`\n      Loaded 1251 security advisories (from /home/runner/.cargo/advisory-db)\n    Updating crates.io index\n    Scanning Cargo.lock for vulnerabilities (1075 crate dependencies)\nCrate:     fxhash\nVersion:   0.2.1\nWarning:   unmaintained\nTitle:     fxhash - no longer maintained\nDate:      2025-09-05\nID:        RUSTSEC-2025-0057\nURL:       https://rustsec.org/advisories/RUSTSEC-2025-0057\n\u003cp\u003eCrate:     paste\u003cbr /\u003e\nVersion:   1.0.15\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     paste - no longer maintained\u003cbr /\u003e\nDate:      2024-10-07\u003cbr /\u003e\nID:        RUSTSEC-2024-0436\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2024-0436\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2024-0436\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     rustls-pemfile\u003cbr /\u003e\nVersion:   1.0.4\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     rustls-pemfile is unmaintained\u003cbr /\u003e\nDate:      2025-11-28\u003cbr /\u003e\nID:        RUSTSEC-2025-0134\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2025-0134\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2025-0134\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     rustls-pemfile\u003cbr /\u003e\nVersion:   2.2.0\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     rustls-pemfile is unmaintained\u003cbr /\u003e\nDate:      2025-11-28\u003cbr /\u003e\nID:        RUSTSEC-2025-0134\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2025-0134\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2025-0134\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     rustybuzz\u003cbr /\u003e\nVersion:   0.20.1\u003cbr /\u003e\nWarning:   unmaintained\u003cbr /\u003e\nTitle:     \u003ccode\u003erustybuzz\u003c/code\u003e is unmaintained\u003cbr /\u003e\nDate:      2026-07-11\u003cbr /\u003e\nID:        RUSTSEC-2026-0206\u003cbr /\u003e\nURL:       \u003ca href=\"https://rustsec.org/advisories/RUSTSEC-2026-0206\"\u003ehttps://rustsec.org/advisories/RUSTSEC-2026-0206\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCrate:     ttf-parser\u003cbr /\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\u003cbr /\u003e\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/tauri-apps/tauri/commit/9452ddee5ebefd9b678a94ff003521379df6c9ae\"\u003e\u003ccode\u003e9452dde\u003c/code\u003e\u003c/a\u003e fix audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/7c2fe9ffd35139c31817225f670332cf4b70c5b6\"\u003e\u003ccode\u003e7c2fe9f\u003c/code\u003e\u003c/a\u003e run covector version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/7d71a8af9f2dbb65a197291c56ab086e1a79ffad\"\u003e\u003ccode\u003e7d71a8a\u003c/code\u003e\u003c/a\u003e add publish-hotfix workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/5a87bab122e82de23dccf42968d49a0f0b7f09d0\"\u003e\u003ccode\u003e5a87bab\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/tauri/commit/e901f1de9ee4dee9d0d2e1942808679a14f1f610\"\u003e\u003ccode\u003ee901f1d\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tauri-apps/tauri/compare/tauri-v2.11.5...tauri-v2.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-opener` from 2.5.5 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-opener's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003efs-js v2.7.0\u003c/h2\u003e\n\u003ch2\u003e[2.7.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a934743b7307891cc028c0dea945113311ddf100\"\u003e\u003ccode\u003ea934743b\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3637\"\u003e#3637\u003c/a\u003e) Added the \u003ccode\u003escopeDroppedPaths\u003c/code\u003e plugin config option (\u003ccode\u003eplugins \u0026gt; fs \u0026gt; scopeDroppedPaths\u003c/code\u003e in \u003ccode\u003etauri.conf.json\u003c/code\u003e). Set it to \u003ccode\u003efalse\u003c/code\u003e to stop adding the paths dropped onto any window to the fs scope, which otherwise gives every webview with an fs permission access to them (directories recursively). Defaults to \u003ccode\u003etrue\u003c/code\u003e, the current behaviour.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/085a02835d1c3eab09f2804f7d7e29611c010a01\"\u003e\u003ccode\u003e085a0283\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3636\"\u003e#3636\u003c/a\u003e) Fixed a panic on Android when a content provider returns no file descriptor for a \u003ccode\u003econtent://\u003c/code\u003e URI (e.g. virtual files). The fs command now fails with an error instead.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f81f0447cc8d5ce6b88cc72aede4b7324428a542\"\u003e\u003ccode\u003ef81f0447\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3635\"\u003e#3635\u003c/a\u003e) Fixed reading uncompressed Android assets (\u003ccode\u003e$RESOURCE\u003c/code\u003e files such as images or audio that are stored uncompressed in the APK) returning the bytes of the APK instead of the asset. Assets are now always read from a copy in the app cache, like compressed ones.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e03dca60e7c9219e24095e8da46f775fc9137e76\"\u003e\u003ccode\u003ee03dca60\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3628\"\u003e#3628\u003c/a\u003e) \u003ccode\u003estartAccessingSecurityScopedResource\u003c/code\u003e and \u003ccode\u003estopAccessingSecurityScopedResource\u003c/code\u003e now accept absolute paths on iOS, as documented, instead of silently doing nothing unless given a \u003ccode\u003efile://\u003c/code\u003e URL.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5de7ebfc952c07f376b2c25f3789742071748d5a\"\u003e\u003ccode\u003e5de7ebfc\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3634\"\u003e#3634\u003c/a\u003e) \u003cstrong\u003eSecurity:\u003c/strong\u003e the \u003ccode\u003eopen\u003c/code\u003e command no longer accepts a \u003ccode\u003ecustomFlags\u003c/code\u003e option from the webview. It was not part of the JavaScript types and let the webview pass arbitrary \u003ccode\u003eopen(2)\u003c/code\u003e flags (e.g. \u003ccode\u003eO_TRUNC\u003c/code\u003e) to files it may only read. \u003ccode\u003eOpenOptionsExt::custom_flags\u003c/code\u003e still works from Rust.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5e6c023a796a21594064d06421c3bad3cef0a470\"\u003e\u003ccode\u003e5e6c023a\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3626\"\u003e#3626\u003c/a\u003e) \u003ccode\u003eFileHandle.read\u003c/code\u003e no longer allocates a buffer of the requested size up front: the length is capped to the rest of the file (64 MiB for files of unknown size), an allocation failure is reported as an error instead of aborting the app, and only the bytes that were read are sent back to the webview.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a9000177cd2f51ec02096db89fc0be5d389be20\"\u003e\u003ccode\u003e3a900017\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3627\"\u003e#3627\u003c/a\u003e) \u003cstrong\u003eSecurity:\u003c/strong\u003e the fs scope check now resolves symlinks in the ancestors of paths that do not exist yet, and resolves relative symlink targets against the link's directory instead of the process working directory. Previously a new file created below a symlinked directory inside the scope (\u003ccode\u003ewriteFile\u003c/code\u003e, \u003ccode\u003emkdir\u003c/code\u003e, \u003ccode\u003ecreate\u003c/code\u003e, \u003ccode\u003erename\u003c/code\u003e, \u003ccode\u003ecopyFile\u003c/code\u003e, ...) was written outside of the scope. Deny patterns now also apply to the path as given, so they can name a symlink, and a path whose symlinks cannot be resolved (e.g. a loop) is rejected.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/77d00a4f54ba65a2ab04a25ba501cf704e25fe60\"\u003e\u003ccode\u003e77d00a4f\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3633\"\u003e#3633\u003c/a\u003e) \u003ccode\u003eFileHandle.seek\u003c/code\u003e now rejects a negative offset with \u003ccode\u003eSeekMode.Start\u003c/code\u003e instead of seeking to a huge position.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5c144e74663a34b593dd70da9fcb48b6a21270a1\"\u003e\u003ccode\u003e5c144e74\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3631\"\u003e#3631\u003c/a\u003e) Fixed \u003ccode\u003ereadTextFileLines\u003c/code\u003e with a UTF-16 encoding splitting lines on a \u003ccode\u003e0x0A 0x00\u003c/code\u003e (LE) or \u003ccode\u003e0x00 0x0A\u003c/code\u003e (BE) byte sequence that is not aligned on a code unit, e.g. \u003ccode\u003eਗĀ\u003c/code\u003e, which garbled every following line.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/dcc8cb032b3db46a1ec9d0023391071806451fb7\"\u003e\u003ccode\u003edcc8cb03\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3629\"\u003e#3629\u003c/a\u003e) Fixed \u003ccode\u003ewriteFile\u003c/code\u003e with a \u003ccode\u003eReadableStream\u003c/code\u003e leaving the end of the previous contents in place when the new data is shorter. The file is now truncated first unless \u003ccode\u003eappend\u003c/code\u003e is set, like when writing a buffer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-fs@2.7.0\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 2.4kB README.md\nnpm notice 39.9kB dist-js/index.cjs\nnpm notice 41.1kB dist-js/index.d.ts\nnpm notice 39.2kB dist-js/index.js\nnpm notice 697B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-fs\nnpm notice version: 2.7.0\nnpm notice filename: tauri-apps-plugin-fs-2.7.0.tgz\nnpm notice package size: 25.6 kB\nnpm notice unpacked size: 124.3 kB\nnpm notice shasum: e76d4d07b05063de6911fd1c42948ab0264ac20e\nnpm notice integrity: sha512-8RQbPkuYuLZ2r[...]GdKJVqDokyDgQ==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3189606635\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-fs@2.7.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6bbd44d4ef254d835a12c6d7bdf2a8a61778031a\"\u003e\u003ccode\u003e6bbd44d\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3675\"\u003e#3675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/fc18d0551354c109b7d1fcbe57550649d693daaa\"\u003e\u003ccode\u003efc18d05\u003c/code\u003e\u003c/a\u003e fix(global-shortcut): release the shortcuts lock before running handlers (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3683\"\u003e#3683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b4\u003c/code\u003e\u003c/a\u003e fix(ios): make \u003ccode\u003einit_plugin_*\u003c/code\u003e entry points public so release builds link on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/818d2e04d92fd208f11aafdf32bb4a0605f344b2\"\u003e\u003ccode\u003e818d2e0\u003c/code\u003e\u003c/a\u003e fix(single-instance): limit second instance's wait on Windows (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/323fe80df1f0a78fb2c8d1dfca7a635fd5e0a3c3\"\u003e\u003ccode\u003e323fe80\u003c/code\u003e\u003c/a\u003e fix(single-instance): forward non-Unicode arguments and cwd (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3644\"\u003e#3644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/677258138b300b60d008b66debc8131de75e38da\"\u003e\u003ccode\u003e6772581\u003c/code\u003e\u003c/a\u003e test(e2e): fix __name usage on FS test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/46f7c878a0f23ebd7aeafa315af2bd0739972f19\"\u003e\u003ccode\u003e46f7c87\u003c/code\u003e\u003c/a\u003e chore: fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a8acd178bdc03797e3d00c9fb45c161cf3d3b52e\"\u003e\u003ccode\u003ea8acd17\u003c/code\u003e\u003c/a\u003e feat(shell): add process group spawn option (fix \u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/1332\"\u003e#1332\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3351\"\u003e#3351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e03dca60e7c9219e24095e8da46f775fc9137e76\"\u003e\u003ccode\u003ee03dca6\u003c/code\u003e\u003c/a\u003e fix(fs): accept absolute paths in the iOS security-scope commands (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a9000177cd2f51ec02096db89fc0be5d389be20\"\u003e\u003ccode\u003e3a90001\u003c/code\u003e\u003c/a\u003e fix(fs): resolve symlinks of missing paths before checking the scope (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3627\"\u003e#3627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/http-v2.5.5...fs-v2.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-fs` from 2.5.2 to 2.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-fs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003enotification-js v2.6.0\u003c/h2\u003e\n\u003ch2\u003e[2.6.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003efeat\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/46381516b7bd7b6915ded698d93e92760b4221d7\"\u003e\u003ccode\u003e46381516\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3671\"\u003e#3671\u003c/a\u003e) Report actions on desktop: a click on a notification (\u003ccode\u003etap\u003c/code\u003e) or on one of the actions of its action type reaches \u003ccode\u003eonAction\u003c/code\u003e and the new Rust \u003ccode\u003eNotification::on_action\u003c/code\u003e, which also works on mobile. \u003ccode\u003eregisterActionTypes\u003c/code\u003e, \u003ccode\u003eremoveActive\u003c/code\u003e (Linux and the BSDs) and the listener commands no longer fail with \u0026quot;command not found\u0026quot; on desktop.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eonAction\u003c/code\u003e callback is now typed with the new \u003ccode\u003eActionPerformed\u003c/code\u003e interface, which is what every platform sends, instead of \u003ccode\u003eOptions\u003c/code\u003e. Callbacks annotated with \u003ccode\u003eOptions\u003c/code\u003e must be updated.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-notification@2.6.0\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 4.2kB README.md\nnpm notice 16.6kB dist-js/index.cjs\nnpm notice 26.1kB dist-js/index.d.ts\nnpm notice 16.2kB dist-js/index.js\nnpm notice 11B dist-js/init.d.ts\nnpm notice 663B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-notification\nnpm notice version: 2.6.0\nnpm notice filename: tauri-apps-plugin-notification-2.6.0.tgz\nnpm notice package size: 11.1 kB\nnpm notice unpacked size: 64.7 kB\nnpm notice shasum: 68f6090e06e17a92fd1803c7b40a01e4ee20cc7c\nnpm notice integrity: sha512-QvpsQ6L6uSGT/[...]J3c52S+1afsIw==\nnpm notice total files: 7\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3189634908\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-notification@2.6.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003enotification v2.6.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a2364a5f216324439feedeb25b2db74e7b1eba90\"\u003e\u003ccode\u003ea2364a5\u003c/code\u003e\u003c/a\u003e fix: integration test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/67ebc1396bfd4b437530f9bbe8bed6845ade8fc3\"\u003e\u003ccode\u003e67ebc13\u003c/code\u003e\u003c/a\u003e fix(ci): check-publish job should check .changes/pre.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/cbfd428bcc3ecb21aac9dd049779c9b9c7b90734\"\u003e\u003ccode\u003ecbfd428\u003c/code\u003e\u003c/a\u003e Publish New Versions (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3618\"\u003e#3618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f460570b4423708fb3b5ab1e1213d889a4d7a9b5\"\u003e\u003ccode\u003ef460570\u003c/code\u003e\u003c/a\u003e chore: fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a433ec09d13c6532f54256608d8e951283d64596\"\u003e\u003ccode\u003ea433ec0\u003c/code\u003e\u003c/a\u003e fix: mobile clippy warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3d8a3c877b352726285b79be9450dd59ba78fc63\"\u003e\u003ccode\u003e3d8a3c8\u003c/code\u003e\u003c/a\u003e chore: edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b517cc7e858d0d45d6b0d67fddf5290ff2e7e2ca\"\u003e\u003ccode\u003eb517cc7\u003c/code\u003e\u003c/a\u003e fix: actually set rust-version to 1.90\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b6a38a5e32c64745d28267d1ab59c8bd02ba4d72\"\u003e\u003ccode\u003eb6a38a5\u003c/code\u003e\u003c/a\u003e fix(ci): e2e test error reporting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9b29b601f387ded1f4adb4386623a3c035a5598c\"\u003e\u003ccode\u003e9b29b60\u003c/code\u003e\u003c/a\u003e feat: update to tauri 2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a01943572ba0d00909857a62588d06159e709ba\"\u003e\u003ccode\u003e3a01943\u003c/code\u003e\u003c/a\u003e tests(e2e): fix e2e failures on Linux and Windows (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3642\"\u003e#3642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.5.2...fs-v2.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-shell` from 2.3.6 to 2.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-shell's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egeolocation-js v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-geolocation@2.4.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 4.8kB README.md\nnpm notice 3.9kB dist-js/index.cjs\nnpm notice 6.3kB dist-js/index.d.ts\nnpm notice 3.7kB dist-js/index.js\nnpm notice 662B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-geolocation\nnpm notice version: 2.4.1\nnpm notice filename: tauri-apps-plugin-geolocation-2.4.1.tgz\nnpm notice package size: 4.8 kB\nnpm notice unpacked size: 20.2 kB\nnpm notice shasum: 0113f207fe25a8779e5d4d31e789ffa7397532f2\nnpm notice integrity: sha512-XYZwcB8Azz9dJ[...]oOVoNEnUDxoDA==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028122996\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-geolocation@2.4.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003egeolocation v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d66aa6ff78cbbeaef1542a1fa930c33399578a25\"\u003e\u003ccode\u003ed66aa6f\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2822\"\u003e#2822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6f345870df4e7b187deb869df03b79858e03b4fe\"\u003e\u003ccode\u003e6f34587\u003c/code\u003e\u003c/a\u003e fix(single-instance): disable dbus name replacement (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2860\"\u003e#2860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/708fa4e2b77e847ce554115e80f7eb685f4a322e\"\u003e\u003ccode\u003e708fa4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-config-prettier to v10.1.8 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2858\"\u003e#2858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b7292030594daa04e78979214478031241b6e38e\"\u003e\u003ccode\u003eb729203\u003c/code\u003e\u003c/a\u003e fix(upload): fix download() locks main thread on Android (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2838\"\u003e#2838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2f9c71aae77cddd4ca2ffe9d13e9e1f23ee4f478\"\u003e\u003ccode\u003e2f9c71a\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2850\"\u003e#2850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/80d4d8e128922b022e76049189a657b71ce95a97\"\u003e\u003ccode\u003e80d4d8e\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint monorepo to v9.31.0 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2839\"\u003e#2839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e7a98b0d2e60463ff86a0f031ce3c84c83a21274\"\u003e\u003ccode\u003ee7a98b0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.37.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2848\"\u003e#2848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/44a1f659125a341191420e650608b0b6ff316a0e\"\u003e\u003ccode\u003e44a1f65\u003c/code\u003e\u003c/a\u003e fix(fs): \u003ccode\u003ewriteFile\u003c/code\u003e create file by default (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2846\"\u003e#2846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6210cd31df00bb3c55642013c74dc1da81fa00f9\"\u003e\u003ccode\u003e6210cd3\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2841\"\u003e#2841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/467f07b7de4103a653e40fec8badb6f24abcef39\"\u003e\u003ccode\u003e467f07b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v7 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2800\"\u003e#2800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/nfc-v2.3.6...fs-v2.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-deep-link` from 2.4.10 to 2.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-deep-link's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edeep-link-js v2.6.1\u003c/h2\u003e\n\u003ch2\u003e[2.6.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-deep-link@2.6.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 6.2kB README.md\nnpm notice 4.7kB dist-js/index.cjs\nnpm notice 4.0kB dist-js/index.d.ts\nnpm notice 4.5kB dist-js/index.js\nnpm notice 801B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-deep-link\nnpm notice version: 2.6.1\nnpm notice filename: tauri-apps-plugin-deep-link-2.6.1.tgz\nnpm notice package size: 4.8 kB\nnpm notice unpacked size: 21.1 kB\nnpm notice shasum: 916950afe9d8999303d71400b1168a132bd64c59\nnpm notice integrity: sha512-yomIOIoiiDwXW[...]TI3XdDd2T9XlA==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028118946\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-deep-link@2.6.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003edeep-link v2.6.1\u003c/h2\u003e\n\u003ch2\u003e[2.6.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3c5d2677677dc7ebea618514af56fc951449cc1b\"\u003e\u003ccode\u003e3c5d267\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3567\"\u003e#3567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/c050e073b68205bae7389fb86958cb9331e1a3be\"\u003e\u003ccode\u003ec050e07\u003c/code\u003e\u003c/a\u003e fix(store): \u003ccode\u003eapply_pending_auto_save\u003c/code\u003e can deadlock (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3572\"\u003e#3572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/0850317b5c85092cbf4ea9caf4ef3a9c771fcf27\"\u003e\u003ccode\u003e0850317\u003c/code\u003e\u003c/a\u003e chore(deps): update pnpm to v12 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3576\"\u003e#3576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2a5783397eccd4927742dd95508938b7c7f20fb2\"\u003e\u003ccode\u003e2a57833\u003c/code\u003e\u003c/a\u003e refactor(example): use tsconfig and change entries to ts (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3575\"\u003e#3575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b48d52cf6eb59b12fd5ad5e4b7cde864c03ebd5b\"\u003e\u003ccode\u003eb48d52c\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.63.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3558\"\u003e#3558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a21555ddd2eaadfed23848912fe2802c2ba7579e\"\u003e\u003ccode\u003ea21555d\u003c/code\u003e\u003c/a\u003e fix(http): stop unhandled rejections from the fetch cleanup path (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3566\"\u003e#3566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/845d8989cbd2fb1913ea0d62618591298a181495\"\u003e\u003ccode\u003e845d898\u003c/code\u003e\u003c/a\u003e fix: ignore and fix audits (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3564\"\u003e#3564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/deep-link-v2.4.10...http-v2.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-single-instance` from 2.4.4 to 2.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-single-instance's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esingle-instance v2.5.2\u003c/h2\u003e\n\u003ch2\u003e[2.5.2]\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to \u003ccode\u003edeep-link@2.6.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003eUpdating crates.io index\n   Packaging tauri-plugin-single-instance v2.5.2 (/home/runner/work/plugins-workspace/plugins-workspace/plugins/single-instance)\n    Updating crates.io index\nwarning: package `yoke-derive v0.8.3` in Cargo.lock is yanked in registry `crates-io`\n  |\n  = help: consider updating to a version that is not yanked\n    Packaged 15 files, 168.3KiB (46.0KiB compressed)\n   Uploading tauri-plugin-single-instance v2.5.2 (/home/runner/work/plugins-workspace/plugins-workspace/plugins/single-instance)\n    Uploaded tauri-plugin-single-instance v2.5.2 to registry `crates-io`\nnote: waiting for tauri-plugin-single-instance v2.5.2 to be available at registry `crates-io`\nhelp: you may press ctrl-c to skip waiting; the crate should be available shortly\n   Published tauri-plugin-single-instance v2.5.2 at registry `crates-io`\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003ebarcode-scanner-js v2.5.2\u003c/h2\u003e\n\u003ch2\u003e[2.5.2]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-barcode-scanner@2.5.2\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 3.3kB README.md\nnpm notice 5.3kB dist-js/index.cjs\nnpm notice 5.3kB dist-js/index.d.ts\nnpm notice 5.2kB dist-js/index.js\nnpm notice 755B package.json\nnpm notice Tarball Details\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6aa2854f314481a459be1189b02c65a2450789ab\"\u003e\u003ccode\u003e6aa2854\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3509\"\u003e#3509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9d6d03269a3dea3e9dbf4635fe0fd68f23f750fa\"\u003e\u003ccode\u003e9d6d032\u003c/code\u003e\u003c/a\u003e chore(deps): update h2 to 0.4.19 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3556\"\u003e#3556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/98f8787de428ee2353567057891112cd5e854f48\"\u003e\u003ccode\u003e98f8787\u003c/code\u003e\u003c/a\u003e ci: fix typo in workflow permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/1a7b12c10256567aca763f4d47cc4da886f73c63\"\u003e\u003ccode\u003e1a7b12c\u003c/code\u003e\u003c/a\u003e ci: add explicit token permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2f4c85c99a1799212e3550ba8b4bc597bc9d26ae\"\u003e\u003ccode\u003e2f4c85c\u003c/code\u003e\u003c/a\u003e chore(deps): bump serde_with (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3490\"\u003e#3490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/c546de061656f37a6c2192f82eea0060c84460d0\"\u003e\u003ccode\u003ec546de0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.62.5 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/db9c5998feff9384f9cbbefcbe0d45937c00a1fc\"\u003e\u003ccode\u003edb9c599\u003c/code\u003e\u003c/a\u003e fix(android): missing \u003ccode\u003econsumer-rules.pro\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3531\"\u003e#3531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9c9343772b8feb8d63c84cd6e0d36164b33415c3\"\u003e\u003ccode\u003e9c93437\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.66.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3391\"\u003e#3391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/685610ae782b668770d412f42a5d52d2cc9e497e\"\u003e\u003ccode\u003e685610a\u003c/code\u003e\u003c/a\u003e fix(fs): default permissions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3507\"\u003e#3507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f8053e659e4ccd85c1f52833411ff8417cbc5e69\"\u003e\u003ccode\u003ef8053e6\u003c/code\u003e\u003c/a\u003e docs: cargo features (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3527\"\u003e#3527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.4.4...fs-v2.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-dialog` from 2.7.3 to 2.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-dialog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edialog-js v2.8.1\u003c/h2\u003e\n\u003ch2\u003e[2.8.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-dialog@2.8.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 3.5kB README.md\nnpm notice 7.1kB dist-js/index.cjs\nnpm notice 15.1kB dist-js/index.d.ts\nnpm notice 7.0kB dist-js/index.js\nnpm notice 11B dist-js/init.d.ts\nnpm notice 657B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-dialog\nnpm notice version: 2.8.1\nnpm notice filename: tauri-apps-plugin-dialog-2.8.1.tgz\nnpm notice package size: 6.8 kB\nnpm notice unpacked size: 34.3 kB\nnpm notice shasum: f29f3c28862a1ed767b6fd241f34abf26129f88f\nnpm notice integrity: sha512-/DtE3B62JgpYu[...]phsKnb+738Dmw==\nnpm notice total files: 7\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028120915\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-dialog@2.8.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003edialog v2.8.1\u003c/h2\u003e\n\u003ch2\u003e[2.8.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/7eb8246d47ba4d15002280ecf028521540e0070d\"\u003e\u003ccode\u003e7eb8246\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3673\"\u003e#3673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/65ce65bdbb4390f73076c8182fbf06a52036f241\"\u003e\u003ccode\u003e65ce65b\u003c/code\u003e\u003c/a\u003e fix(ci): Android e2e flakes, shell \u003ccode\u003eTerminated\u003c/code\u003e sent before output (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3672\"\u003e#3672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/cbd691b651dfdb4312cb42d3542c06a781fb31e5\"\u003e\u003ccode\u003ecbd691b\u003c/code\u003e\u003c/a\u003e chore(examples): update Android project for API example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/974bbdc3ffc79f89a2641e3cd23361d1a85da8e4\"\u003e\u003ccode\u003e974bbdc\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3113a54cc275b1af532c3fb20154beba7d67d623\"\u003e\u003ccode\u003e3113a54\u003c/code\u003e\u003c/a\u003e chore(deps): update urlpattern to 0.6 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3670\"\u003e#3670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b443d6be52a17329b980c55e8bbd03fb6cbb5cd7\"\u003e\u003ccode\u003eb443d6b\u003c/code\u003e\u003c/a\u003e fix(http): release the request's resources once fetch_send settles (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3669\"\u003e#3669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2a9c29e004325db674fd904089749c38f4aac824\"\u003e\u003ccode\u003e2a9c29e\u003c/code\u003e\u003c/a\u003e fix(updater): restore the current app when a macOS install fails (fix \u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3505\"\u003e#3505\u003c/a\u003e, ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d4835d0e947179bac24a383212792d74be3ebe4f\"\u003e\u003ccode\u003ed4835d0\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3660\"\u003e#3660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82\u003c/code\u003e\u003c/a\u003e fix: mobile docs.rs builds\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/25f387465659f17c7e395268dbfb2175eb847769\"\u003e\u003ccode\u003e25f3874\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-plugin-security to v4.1.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3661\"\u003e#3661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/dialog-v2.7.3...http-v2.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-log` from 2.9.1 to 2.10.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a2364a5f216324439feedeb25b2db74e7b1eba90\"\u003e\u003ccode\u003ea2364a5\u003c/code\u003e\u003c/a\u003e fix: integration test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/67ebc1396bfd4b437530f9bbe8bed6845ade8fc3\"\u003e\u003ccode\u003e67ebc13\u003c/code\u003e\u003c/a\u003e fix(ci): check-publish job should check .changes/pre.json\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/cbfd428bcc3ecb21aac9dd049779c9b9c7b90734\"\u003e\u003ccode\u003ecbfd428\u003c/code\u003e\u003c/a\u003e Publish New Versions (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3618\"\u003e#3618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f460570b4423708fb3b5ab1e1213d889a4d7a9b5\"\u003e\u003ccode\u003ef460570\u003c/code\u003e\u003c/a\u003e chore: fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a433ec09d13c6532f54256608d8e951283d64596\"\u003e\u003ccode\u003ea433ec0\u003c/code\u003e\u003c/a\u003e fix: mobile clippy warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3d8a3c877b352726285b79be9450dd59ba78fc63\"\u003e\u003ccode\u003e3d8a3c8\u003c/code\u003e\u003c/a\u003e chore: edition 2024\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b517cc7e858d0d45d6b0d67fddf5290ff2e7e2ca\"\u003e\u003ccode\u003eb517cc7\u003c/code\u003e\u003c/a\u003e fix: actually set rust-version to 1.90\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b6a38a5e32c64745d28267d1ab59c8bd02ba4d72\"\u003e\u003ccode\u003eb6a38a5\u003c/code\u003e\u003c/a\u003e fix(ci): e2e test error reporting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/9b29b601f387ded1f4adb4386623a3c035a5598c\"\u003e\u003ccode\u003e9b29b60\u003c/code\u003e\u003c/a\u003e feat: update to tauri 2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/3a01943572ba0d00909857a62588d06159e709ba\"\u003e\u003ccode\u003e3a01943\u003c/code\u003e\u003c/a\u003e tests(e2e): fix e2e failures on Linux and Windows (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3642\"\u003e#3642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/log-v2.9.1...log-v2.10.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-clipboard-manager` from 2.3.3 to 2.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-clipboard-manager's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egeolocation-js v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-geolocation@2.4.1\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 4.8kB README.md\nnpm notice 3.9kB dist-js/index.cjs\nnpm notice 6.3kB dist-js/index.d.ts\nnpm notice 3.7kB dist-js/index.js\nnpm notice 662B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-geolocation\nnpm notice version: 2.4.1\nnpm notice filename: tauri-apps-plugin-geolocation-2.4.1.tgz\nnpm notice package size: 4.8 kB\nnpm notice unpacked size: 20.2 kB\nnpm notice shasum: 0113f207fe25a8779e5d4d31e789ffa7397532f2\nnpm notice integrity: sha512-XYZwcB8Azz9dJ[...]oOVoNEnUDxoDA==\nnpm notice total files: 6\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3028122996\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-geolocation@2.4.1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003egeolocation v2.4.1\u003c/h2\u003e\n\u003ch2\u003e[2.4.1]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/569ee82cf61a358b4c73ba52f2e99f3317ec05d0\"\u003e\u003ccode\u003e569ee82c\u003c/code\u003e\u003c/a\u003e Fix the docs.rs build for Android: the build script now detects docs.rs through the \u003ccode\u003eDOCS_RS\u003c/code\u003e environment variable, since \u003ccode\u003ecfg(docsrs)\u003c/code\u003e is never set for build scripts.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d66aa6ff78cbbeaef1542a1fa930c33399578a25\"\u003e\u003ccode\u003ed66aa6f\u003c/code\u003e\u003c/a\u003e publish new versions (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2822\"\u003e#2822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6f345870df4e7b187deb869df03b79858e03b4fe\"\u003e\u003ccode\u003e6f34587\u003c/code\u003e\u003c/a\u003e fix(single-instance): disable dbus name replacement (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2860\"\u003e#2860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/708fa4e2b77e847ce554115e80f7eb685f4a322e\"\u003e\u003ccode\u003e708fa4e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-config-prettier to v10.1.8 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2858\"\u003e#2858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/b7292030594daa04e78979214478031241b6e38e\"\u003e\u003ccode\u003eb729203\u003c/code\u003e\u003c/a\u003e fix(upload): fix download() locks main thread on Android (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2838\"\u003e#2838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2f9c71aae77cddd4ca2ffe9d13e9e1f23ee4f478\"\u003e\u003ccode\u003e2f9c71a\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2850\"\u003e#2850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/80d4d8e128922b022e76049189a657b71ce95a97\"\u003e\u003ccode\u003e80d4d8e\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint monorepo to v9.31.0 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2839\"\u003e#2839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/e7a98b0d2e60463ff86a0f031ce3c84c83a21274\"\u003e\u003ccode\u003ee7a98b0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.37.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2848\"\u003e#2848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/44a1f659125a341191420e650608b0b6ff316a0e\"\u003e\u003ccode\u003e44a1f65\u003c/code\u003e\u003c/a\u003e fix(fs): \u003ccode\u003ewriteFile\u003c/code\u003e create file by default (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2846\"\u003e#2846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/6210cd31df00bb3c55642013c74dc1da81fa00f9\"\u003e\u003ccode\u003e6210cd3\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency rollup to v4.45.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2841\"\u003e#2841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/467f07b7de4103a653e40fec8badb6f24abcef39\"\u003e\u003ccode\u003e467f07b\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v7 (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/2800\"\u003e#2800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/nfc-v2.3.3...fs-v2.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tauri-plugin-window-state` from 2.4.1 to 2.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/releases\"\u003etauri-plugin-window-state's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eshell-js v2.5.0\u003c/h2\u003e\n\u003ch2\u003e[2.5.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a8acd178bdc03797e3d00c9fb45c161cf3d3b52e\"\u003e\u003ccode\u003ea8acd178\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3351\"\u003e#3351\u003c/a\u003e) Add \u003ccode\u003eprocessGroup\u003c/code\u003e option to spawn commands in a new process group (POSIX) or job object (Windows), allowing the entire process tree to be killed when calling \u003ccode\u003ekill()\u003c/code\u003e on the child process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre\u003e\u003ccode\u003enpm warn publish npm auto-corrected some errors in your package.json when publishing.  Please run \u0026quot;npm pkg fix\u0026quot; to address these errors.\nnpm warn publish errors corrected:\nnpm warn publish \u0026quot;repository\u0026quot; was changed from a string to an object\nnpm warn publish \u0026quot;repository.url\u0026quot; was normalized to \u0026quot;git+https://github.com/tauri-apps/plugins-workspace.git\u0026quot;\nnpm notice\nnpm notice 📦  @tauri-apps/plugin-shell@2.5.0\nnpm notice Tarball Contents\nnpm notice 888B LICENSE.spdx\nnpm notice 2.6kB README.md\nnpm notice 21.8kB dist-js/index.cjs\nnpm notice 22.0kB dist-js/index.d.ts\nnpm notice 21.7kB dist-js/index.js\nnpm notice 11B dist-js/init.d.ts\nnpm notice 656B package.json\nnpm notice Tarball Details\nnpm notice name: @tauri-apps/plugin-shell\nnpm notice version: 2.5.0\nnpm notice filename: tauri-apps-plugin-shell-2.5.0.tgz\nnpm notice package size: 8.0 kB\nnpm notice unpacked size: 69.6 kB\nnpm notice shasum: 16d0b1a1f5b02689777a01dc78b9d591eec3a3b7\nnpm notice integrity: sha512-FZ6RtcikCxJ35[...]DcLs7JIfuFkWw==\nnpm notice total files: 7\nnpm notice\nnpm notice npm tokens that bypass 2FA are being restricted for account changes and direct publishing. Learn how to prepare: https://gh.io/npm-gat-bypass2fa-deprecation\nnpm notice Publishing to https://registry.npmjs.org/ with tag latest and public access\nnpm notice publish Signed provenance statement with source and build information from GitHub Actions\nnpm notice publish Provenance statement published to transparency log: https://search.sigstore.dev/?logIndex=3189638540\nnpm notice Your package is being processed and may take a few minutes to become available.\n+ @tauri-apps/plugin-shell@2.5.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eshell v2.5.0\u003c/h2\u003e\n\u003ch2\u003e[2.5.0]\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/42ae8b4501f3628cddeab3973eb38a7593304cc8\"\u003e\u003ccode\u003e42ae8b45\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3684\"\u003e#3684\u003c/a\u003e) On iOS, mark the plugin's \u003ccode\u003einit_plugin_*\u003c/code\u003e entry point \u003ccode\u003epublic\u003c/code\u003e so release builds made with Xcode 27 keep it global and link.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/a8acd178bdc03797e3d00c9fb45c161cf3d3b52e\"\u003e\u003ccode\u003ea8acd178\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/pull/3351\"\u003e#3351\u003c/a\u003e) Add \u003ccode\u003eprocessGroup\u003c/code\u003e option to spawn commands in a new process group (POSIX) or job object (Windows), allowing the entire process tree to be killed when calling \u003ccode\u003ekill()\u003c/code\u003e on the child process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/d6a3898001a4bcc659e045f9501498751b77dbe6\"\u003e\u003ccode\u003ed6a3898\u003c/code\u003e\u003c/a\u003e Publish New Versions (v2) (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3268\"\u003e#3268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2e5bcdf202f98ec0fb0481725dd32f0626c766c8\"\u003e\u003ccode\u003e2e5bcdf\u003c/code\u003e\u003c/a\u003e chore(deps): fix audits (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3373\"\u003e#3373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/4374b4fc1a9a7c0506034d86707fd3288d347f9b\"\u003e\u003ccode\u003e4374b4f\u003c/code\u003e\u003c/a\u003e chore(notification): remove unused dev-deps (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3372\"\u003e#3372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/f75d21db3351d6f12adf585c2c797c20ece94f7f\"\u003e\u003ccode\u003ef75d21d\u003c/code\u003e\u003c/a\u003e chore(deps): remove used of tauri-utils build feature (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3360\"\u003e#3360\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/4b95f5e079593d5b2b98220c332f420dc70d18d1\"\u003e\u003ccode\u003e4b95f5e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint to v10.1.0 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3357\"\u003e#3357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/99c3e37b54c115e8712f67c2b53ed1f2f0b4aae6\"\u003e\u003ccode\u003e99c3e37\u003c/code\u003e\u003c/a\u003e chore(deps): bump tar in /plugins/updater/tests/updater-migration/v1-app (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3352\"\u003e#3352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/eaac19a5b7e325a06d4c1c6d740e38d86c55cd89\"\u003e\u003ccode\u003eeaac19a\u003c/code\u003e\u003c/a\u003e chore(deps): update rust crate tar to v0.4.45 [security] (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3353\"\u003e#3353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/5183e314cbabc179228e232992ad67025f30272d\"\u003e\u003ccode\u003e5183e31\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency typescript-eslint to v8.57.1 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3344\"\u003e#3344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/2c0883e64e9a53ea18102ed350cd5e65ba7c8f4b\"\u003e\u003ccode\u003e2c0883e\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency vite to v8 (\u003ca href=\"https://redirect.github.com/tauri-apps/plugins-workspace/issues/3346\"\u003e#3346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tauri-apps/plugins-workspace/commit/024ec0c29c20cf94579dab9b79d6be0da61a8daa\"\u003e\u003ccode\u003e024ec0c\u003c/code\u003e\u003c/a\u003e fix(deep-link): ChromeOS deep link calls filtered and ignored by plugin (fix ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tauri-apps/plugins-workspace/compare/fs-v2.4.1...fs-v2.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tokio` from 1.53.1 to 1.53.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003c...\n\n_Description has been truncated_","html_url":"https://github.com/cjkjfs/bwbrowser/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjkjfs%2Fbwbrowser/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":"8.6.0","new_version":"9.0.0","update_type":"major","path":null,"pr_created_at":"2026-10-12T21:27:48.000Z","version_change":"8.6.0 → 9.0.0","issue":{"uuid":"5820670621","node_id":"PR_kwDOSsIXTM8AAAABIDMjjA","number":268,"state":"open","title":"chore(deps): bump the cargo-dependencies group with 4 updates","user":"dependabot[bot]","labels":["dependencies","rust"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-12T21:27:48.000Z","updated_at":"2026-10-13T05:17:05.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"cargo-dependencies","update_count":4,"packages":[{"name":"tokio","old_version":"1.53.1","new_version":"1.53.2","repository_url":"https://github.com/tokio-rs/tokio"},{"name":"hyper","old_version":"1.11.1","new_version":"1.12.0","repository_url":"https://github.com/hyperium/hyper"},{"name":"toml","old_version":"1.1.6+spec-1.1.0","new_version":"1.1.8+spec-1.1.0","repository_url":"https://github.com/toml-rs/toml"},{"name":"zip","old_version":"8.6.0","new_version":"9.0.0","repository_url":"https://github.com/zip-rs/zip2"}],"path":null,"ecosystem":"cargo"},"body":"Bumps the cargo-dependencies group with 4 updates: [tokio](https://github.com/tokio-rs/tokio), [hyper](https://github.com/hyperium/hyper), [toml](https://github.com/toml-rs/toml) and [zip](https://github.com/zip-rs/zip2).\n\nUpdates `tokio` from 1.53.1 to 1.53.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tokio-rs/tokio/releases\"\u003etokio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTokio v1.53.2\u003c/h2\u003e\n\u003ch1\u003e1.53.2 (October 3rd, 2026)\u003c/h1\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eio: revert \u0026quot;always cleanup \u003ccode\u003eAsyncFd\u003c/code\u003e registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eprocess: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix mpsc index wraparound in block reclamation (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: forget mpsc \u003ccode\u003ePermit\u003c/code\u003e before sending value (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: validate \u003ccode\u003eMAX_PERMITS\u003c/code\u003e in \u003ccode\u003eSemaphore::acquire\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: wake broadcast \u003ccode\u003eSender::closed\u003c/code\u003e outside mutex (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etask: drop replaced waker outside lock in \u003ccode\u003eJoinSet\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop timer lock before dropping waker in \u003ccode\u003eclear_entry\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: expire timers directly on shutdown without rotating wheel (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed (unstable)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efs: clamp \u003ccode\u003eio_uring\u003c/code\u003e read length to \u003ccode\u003eu32::MAX\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8572\"\u003e#8572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: ignore \u003ccode\u003ecurrent_thread\u003c/code\u003e task dumps from other runtimes (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8544\"\u003e#8544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ert: preserve \u003ccode\u003eio_uring\u003c/code\u003e context if a completion waker panics (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8566\"\u003e#8566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esync: fix semaphore use-after-free and permit leak on tracing panic (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etaskdump: restore deferred leaf wakes during capture (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8445\"\u003e#8445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etime: drop stored waker when cancelling alt timer entry (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8550\"\u003e#8550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8445\"\u003e#8445\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8445\"\u003etokio-rs/tokio#8445\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8572\"\u003e#8572\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8572\"\u003etokio-rs/tokio#8572\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8540\"\u003etokio-rs/tokio#8540\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8542\"\u003etokio-rs/tokio#8542\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8544\"\u003e#8544\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8544\"\u003etokio-rs/tokio#8544\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8546\"\u003e#8546\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8546\"\u003etokio-rs/tokio#8546\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8548\"\u003e#8548\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8548\"\u003etokio-rs/tokio#8548\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8550\"\u003e#8550\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8550\"\u003etokio-rs/tokio#8550\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8552\"\u003e#8552\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8552\"\u003etokio-rs/tokio#8552\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8554\"\u003e#8554\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8554\"\u003etokio-rs/tokio#8554\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8558\"\u003e#8558\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8558\"\u003etokio-rs/tokio#8558\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8560\"\u003e#8560\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8560\"\u003etokio-rs/tokio#8560\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8562\"\u003etokio-rs/tokio#8562\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8564\"\u003etokio-rs/tokio#8564\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8566\"\u003e#8566\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8566\"\u003etokio-rs/tokio#8566\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8570\"\u003e#8570\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8570\"\u003etokio-rs/tokio#8570\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/tokio-rs/tokio/pull/8574\"\u003etokio-rs/tokio#8574\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/tokio-rs/tokio/commit/ff0c4068a4ba5f3af0fe3c5657ba42879b6ea599\"\u003e\u003ccode\u003eff0c406\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.53.2 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8580\"\u003e#8580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/a762700e41bf027630ba4620cfd80d127b7c801d\"\u003e\u003ccode\u003ea762700\u003c/code\u003e\u003c/a\u003e Merge 'tokio-1.51.5' into 'tokio-1.53.x' (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8577\"\u003e#8577\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/ec31a9f62c9426cec415c8c79e0608dd2866bbf7\"\u003e\u003ccode\u003eec31a9f\u003c/code\u003e\u003c/a\u003e chore: prepare Tokio v1.51.5 (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8579\"\u003e#8579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/625c85108da5ad0d482702a21d7d58a56ea06a48\"\u003e\u003ccode\u003e625c851\u003c/code\u003e\u003c/a\u003e sync: assign semaphore permits before emitting tracing event (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/832dd233293eaa59ba19cc6f5dc4753aab55ac13\"\u003e\u003ccode\u003e832dd23\u003c/code\u003e\u003c/a\u003e sync: avoid leaking semaphore permits on tracing panic (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/826954a2f3b6f595121c38875a5d81ca3e5f6cc6\"\u003e\u003ccode\u003e826954a\u003c/code\u003e\u003c/a\u003e sync: unlink semaphore waiter before emitting tracing event (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8542\"\u003e#8542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/9a479922501eb47102ab844fa40e4b28d1a3c250\"\u003e\u003ccode\u003e9a47992\u003c/code\u003e\u003c/a\u003e process: unregister Windows wait before closing child handle (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8564\"\u003e#8564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/2fc5972b8bd6f51d1ad6df3bcc1a1927d1702663\"\u003e\u003ccode\u003e2fc5972\u003c/code\u003e\u003c/a\u003e fs: handle integer overflow in buffered relative seek (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8574\"\u003e#8574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/85a6d13882e2ccf5c24131b282bab0214b0a493e\"\u003e\u003ccode\u003e85a6d13\u003c/code\u003e\u003c/a\u003e io: revert \u0026quot;always cleanup AsyncFd registration list on deregister\u0026quot; (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8540\"\u003e#8540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tokio-rs/tokio/commit/436faa2da3970817653fef98c9abc6c8b4367f51\"\u003e\u003ccode\u003e436faa2\u003c/code\u003e\u003c/a\u003e rt: drop blocking pool mutex before shutting down rejected task (\u003ca href=\"https://redirect.github.com/tokio-rs/tokio/issues/8562\"\u003e#8562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tokio-rs/tokio/compare/tokio-1.53.1...tokio-1.53.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `hyper` from 1.11.1 to 1.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hyperium/hyper/releases\"\u003ehyper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e add max_header_size limit for server and client (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4183\"\u003e#4183\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/d1cd14eff392be63a2318d690cc9380723ec61a1\"\u003ed1cd14ef\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/3832\"\u003e#3832\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ewithdraw a stale want when the client dispatcher takes a request (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4208\"\u003e#4208\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/c44f1cc51c2bc45b502031a646d3d54315bd7a16\"\u003ec44f1cc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove content-length if transfer-encoding is auto-added (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4224\"\u003e#4224\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/69396fdd960629d69b09cc6c9b367ef8650c001d\"\u003e69396fdd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealways remove content-length if transfer-encoding is sent (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4223\"\u003e#4223\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/a5d7fd7861598c0b8c857cb75240a75bcfbd96a3\"\u003ea5d7fd78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet a Connection close token win over a later keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4201\"\u003e#4201\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/5dadff76d1cb5d21046218df3568569fbba8ed21\"\u003e5dadff76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve hop-by-hop when setting close or keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4196\"\u003e#4196\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/74a39081ff1496970fb75da75c5282b23a9b69e5\"\u003e74a39081\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehttp2:\u003c/strong\u003e do not reserve capacity for idle Upgraded streams (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4198\"\u003e#4198\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/e89d0d93d9566210ee95aea234a00952ebc4a202\"\u003ee89d0d93\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eEverything\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix typo responsibile -\u0026gt; responsible by \u003ca href=\"https://github.com/vaibhav8a\"\u003e\u003ccode\u003e@​vaibhav8a\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4177\"\u003ehyperium/hyper#4177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: replace single-character lifetime names with descriptive names by \u003ca href=\"https://github.com/dox4\"\u003e\u003ccode\u003e@​dox4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4173\"\u003ehyperium/hyper#4173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(http1): resolve collapsible_match lint by \u003ca href=\"https://github.com/nakaryo716\"\u003e\u003ccode\u003e@​nakaryo716\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4178\"\u003ehyperium/hyper#4178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehyper Improvement Proposals by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4131\"\u003ehyperium/hyper#4131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(body): simpler custom Incoming channel by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4168\"\u003ehyperium/hyper#4168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(maintainers): add 0x676e67 as a collaborator by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4184\"\u003ehyperium/hyper#4184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(ext): remove broken \u003ccode\u003eOriginalHeaderOrder\u003c/code\u003e doctest by \u003ca href=\"https://github.com/cratelyn\"\u003e\u003ccode\u003e@​cratelyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4188\"\u003ehyperium/hyper#4188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): remove unused \u003ccode\u003efutures-channel\u003c/code\u003e from \u003ccode\u003ehttp1\u003c/code\u003e feature by \u003ca href=\"https://github.com/0x676e67\"\u003e\u003ccode\u003e@​0x676e67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4185\"\u003ehyperium/hyper#4185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(ci): update to cargo-check-external-types 0.5.0 by \u003ca href=\"https://github.com/tottoto\"\u003e\u003ccode\u003e@​tottoto\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4189\"\u003ehyperium/hyper#4189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): address ignored_unit_patterns lint by \u003ca href=\"https://github.com/nakaryo716\"\u003e\u003ccode\u003e@​nakaryo716\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4193\"\u003ehyperium/hyper#4193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve hop-by-hop when setting close or keep-alive by \u003ca href=\"https://github.com/dtolnay\"\u003e\u003ccode\u003e@​dtolnay\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4196\"\u003ehyperium/hyper#4196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http2): do not reserve capacity for idle Upgraded streams by \u003ca href=\"https://github.com/Dev-next-gen\"\u003e\u003ccode\u003e@​Dev-next-gen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4198\"\u003ehyperium/hyper#4198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): Address clippy panics and missing_panics_doc lints by \u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4191\"\u003ehyperium/hyper#4191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix typos in capi README, MSRV and governance docs by \u003ca href=\"https://github.com/toyeshhm\"\u003e\u003ccode\u003e@​toyeshhm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4204\"\u003ehyperium/hyper#4204\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): Address trivial, low quantity clippy lints. by \u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4190\"\u003ehyperium/hyper#4190\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(clippy): allow clippy lints following 1.99.0 release by \u003ca href=\"https://github.com/dswij\"\u003e\u003ccode\u003e@​dswij\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4219\"\u003ehyperium/hyper#4219\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: remove useless_borrows_in_formatting from the clippy allowlist by \u003ca href=\"https://github.com/ump45nose\"\u003e\u003ccode\u003e@​ump45nose\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4220\"\u003ehyperium/hyper#4220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(h1): mark partial Debug impls as non-exhaustive by \u003ca href=\"https://github.com/badimalex\"\u003e\u003ccode\u003e@​badimalex\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4218\"\u003ehyperium/hyper#4218\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle(lib): Address cast-possible-truncation clippy findings. by \u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4192\"\u003ehyperium/hyper#4192\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(http1): add max_header_size limit for server and client by \u003ca href=\"https://github.com/Aditya-9-6\"\u003e\u003ccode\u003e@​Aditya-9-6\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4183\"\u003ehyperium/hyper#4183\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): let a Connection close token win over a later keep-alive by \u003ca href=\"https://github.com/shoemoney\"\u003e\u003ccode\u003e@​shoemoney\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4201\"\u003ehyperium/hyper#4201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): always remove content-length if transfer-encoding is sent by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4223\"\u003ehyperium/hyper#4223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): remove invalid content-length if transfer-encoding is auto-added by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4224\"\u003ehyperium/hyper#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(http1): withdraw a stale want when the client dispatcher takes a request by \u003ca href=\"https://github.com/shodoco\"\u003e\u003ccode\u003e@​shodoco\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4208\"\u003ehyperium/hyper#4208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf(body): skip waking a closed peer when a channel end drops by \u003ca href=\"https://github.com/0x676e67\"\u003e\u003ccode\u003e@​0x676e67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4225\"\u003ehyperium/hyper#4225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare v1.12.0 by \u003ca href=\"https://github.com/seanmonstar\"\u003e\u003ccode\u003e@​seanmonstar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4226\"\u003ehyperium/hyper#4226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vaibhav8a\"\u003e\u003ccode\u003e@​vaibhav8a\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4177\"\u003ehyperium/hyper#4177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dox4\"\u003e\u003ccode\u003e@​dox4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4173\"\u003ehyperium/hyper#4173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dtolnay\"\u003e\u003ccode\u003e@​dtolnay\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4196\"\u003ehyperium/hyper#4196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Dev-next-gen\"\u003e\u003ccode\u003e@​Dev-next-gen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4198\"\u003ehyperium/hyper#4198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Siech0\"\u003e\u003ccode\u003e@​Siech0\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4191\"\u003ehyperium/hyper#4191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toyeshhm\"\u003e\u003ccode\u003e@​toyeshhm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/hyperium/hyper/pull/4204\"\u003ehyperium/hyper#4204\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/hyperium/hyper/blob/master/CHANGELOG.md\"\u003ehyper's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.12.0 (2026-10-06)\u003c/h2\u003e\n\u003ch4\u003eBug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003ewithdraw a stale want when the client dispatcher takes a request (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4208\"\u003e#4208\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/c44f1cc51c2bc45b502031a646d3d54315bd7a16\"\u003ec44f1cc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove content-length if transfer-encoding is auto-added (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4224\"\u003e#4224\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/69396fdd960629d69b09cc6c9b367ef8650c001d\"\u003e69396fdd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ealways remove content-length if transfer-encoding is sent (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4223\"\u003e#4223\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/a5d7fd7861598c0b8c857cb75240a75bcfbd96a3\"\u003ea5d7fd78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet a Connection close token win over a later keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4201\"\u003e#4201\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/5dadff76d1cb5d21046218df3568569fbba8ed21\"\u003e5dadff76\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve hop-by-hop when setting close or keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4196\"\u003e#4196\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/74a39081ff1496970fb75da75c5282b23a9b69e5\"\u003e74a39081\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehttp2:\u003c/strong\u003e do not reserve capacity for idle Upgraded streams (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4198\"\u003e#4198\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/e89d0d93d9566210ee95aea234a00952ebc4a202\"\u003ee89d0d93\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFeatures\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp1:\u003c/strong\u003e add max_header_size limit for server and client (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4183\"\u003e#4183\u003c/a\u003e) (\u003ca href=\"https://github.com/hyperium/hyper/commit/d1cd14eff392be63a2318d690cc9380723ec61a1\"\u003ed1cd14ef\u003c/a\u003e, closes \u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/3832\"\u003e#3832\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/hyperium/hyper/commit/7f67699ce32d717081deb7018b4da7d679277ac0\"\u003e\u003ccode\u003e7f67699\u003c/code\u003e\u003c/a\u003e v1.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/254bf1271bf4385edd743316ca7c508b3c77d6cb\"\u003e\u003ccode\u003e254bf12\u003c/code\u003e\u003c/a\u003e perf(body): skip waking a closed peer when a channel end drops (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4225\"\u003e#4225\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/c44f1cc51c2bc45b502031a646d3d54315bd7a16\"\u003e\u003ccode\u003ec44f1cc\u003c/code\u003e\u003c/a\u003e fix(http1): withdraw a stale want when the client dispatcher takes a request ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/69396fdd960629d69b09cc6c9b367ef8650c001d\"\u003e\u003ccode\u003e69396fd\u003c/code\u003e\u003c/a\u003e fix(http1): remove content-length if transfer-encoding is auto-added (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4224\"\u003e#4224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/a5d7fd7861598c0b8c857cb75240a75bcfbd96a3\"\u003e\u003ccode\u003ea5d7fd7\u003c/code\u003e\u003c/a\u003e fix(http1): always remove content-length if transfer-encoding is sent (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4223\"\u003e#4223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/5dadff76d1cb5d21046218df3568569fbba8ed21\"\u003e\u003ccode\u003e5dadff7\u003c/code\u003e\u003c/a\u003e fix(http1): let a Connection close token win over a later keep-alive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4201\"\u003e#4201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/d1cd14eff392be63a2318d690cc9380723ec61a1\"\u003e\u003ccode\u003ed1cd14e\u003c/code\u003e\u003c/a\u003e feat(http1): add max_header_size limit for server and client (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4183\"\u003e#4183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/714c7cf46fd405c88eb34c2f243ae5b146ba8f07\"\u003e\u003ccode\u003e714c7cf\u003c/code\u003e\u003c/a\u003e style(lib): address cast-possible-truncation clippy findings (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4192\"\u003e#4192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/0d474402c20c17939c30aaecde56d1a3e21b2b0a\"\u003e\u003ccode\u003e0d47440\u003c/code\u003e\u003c/a\u003e style(lib): mark partial Debug impls as non-exhaustive (\u003ca href=\"https://redirect.github.com/hyperium/hyper/issues/4218\"\u003e#4218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hyperium/hyper/commit/da3b1b197c954ac5454a92562fe3d729a87cba56\"\u003e\u003ccode\u003eda3b1b1\u003c/code\u003e\u003c/a\u003e style(lib): remove useless_borrows_in_formatting from the clippy allowlist (#...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hyperium/hyper/compare/v1.11.1...v1.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `toml` from 1.1.6+spec-1.1.0 to 1.1.8+spec-1.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/ceac6e4412420d5a5c19e4f7293ad005cf1a31b2\"\u003e\u003ccode\u003eceac6e4\u003c/code\u003e\u003c/a\u003e chore: Release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/0fe9e93d6d6299400e168681f7cdd7515c0693d2\"\u003e\u003ccode\u003e0fe9e93\u003c/code\u003e\u003c/a\u003e docs: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/e3a64aa201ec339abacb570417d75b327490cab4\"\u003e\u003ccode\u003ee3a64aa\u003c/code\u003e\u003c/a\u003e fix(display): Ensure all keys are encoded  (\u003ca href=\"https://redirect.github.com/toml-rs/toml/issues/1245\"\u003e#1245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/76484d005a0e68e8c1876f8a3417b71a3921623f\"\u003e\u003ccode\u003e76484d0\u003c/code\u003e\u003c/a\u003e fix(display): Ensure all keys are encoded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/711b1ba1ecb11e61df9a1609e24fa3b17d11d961\"\u003e\u003ccode\u003e711b1ba\u003c/code\u003e\u003c/a\u003e refactor(display): Clarify that we are working with encoded keys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/4f73ebdc8bd7fdf0e6bd379baeb96dedcee6bb2b\"\u003e\u003ccode\u003e4f73ebd\u003c/code\u003e\u003c/a\u003e test(display): Reproduce the key bug\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/6c6a5cdcdc4d9beb16ff9bdf2dcbf360fc2bc84e\"\u003e\u003ccode\u003e6c6a5cd\u003c/code\u003e\u003c/a\u003e fix(parser): Remove risk of unsoundness with synthetic parser events and 'uns...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/9c5e95d8d67514f2191afbee137ba40e85e4f441\"\u003e\u003ccode\u003e9c5e95d\u003c/code\u003e\u003c/a\u003e fix(parser): Remove risk of unsoundness with synthetic parser events and 'uns...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/4d45944be2f6ee3b938dbba3d64a6d9c280bd9e9\"\u003e\u003ccode\u003e4d45944\u003c/code\u003e\u003c/a\u003e perf(parser): Remove no-op code (\u003ca href=\"https://redirect.github.com/toml-rs/toml/issues/1243\"\u003e#1243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/toml-rs/toml/commit/189c91c3d06a0f56e18f85cb00d3425534defd71\"\u003e\u003ccode\u003e189c91c\u003c/code\u003e\u003c/a\u003e perf(parser): Remove no-op code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/toml-rs/toml/compare/toml-v1.1.6...toml-v1.1.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zip` from 8.6.0 to 9.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zip-rs/zip2/releases\"\u003ezip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚜 Refactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emove extract to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup permissions related code (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove feature gate (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate \u003ccode\u003eZipFileFlags\u003c/code\u003e to wrap \u003ccode\u003eflags\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove unused trait (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/946\"\u003e#946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaccess \u003ccode\u003ecrate::format\u003c/code\u003e with \u003ccode\u003ezip::unstable::format\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eharmonize functions to \u003ccode\u003eformat/functions.rs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite \u003ccode\u003emake_reader()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/936\"\u003e#936\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/zip-rs/zip2/blob/master/CHANGELOG.md\"\u003ezip's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/zip-rs/zip2/compare/v9.0.0-pre3...v9.0.0\"\u003e9.0.0\u003c/a\u003e - 2026-10-08\u003c/h2\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd ZipFileBuilder for parallelizing compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/911\"\u003e#911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd method \u003ccode\u003eby_index_with_data_descriptor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/994\"\u003e#994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd len, is_empty and entry to ZipArchiveMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1015\"\u003e#1015\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eread data descriptor from binary (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/990\"\u003e#990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd comment and test for ZipStreamReader and symlinks (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(write)\u003c/em\u003e add \u003ccode\u003eZipWriter::hide_file\u003c/code\u003e for in-place entry deletion (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/924\"\u003e#924\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd compression (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/948\"\u003e#948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd test to in place modification (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003emove CustomExtraField to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/941\"\u003e#941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd a test on enum size (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse ZipFileEntry instead of ZipStreamFileMetadata (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/935\"\u003e#935\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ZipFileEntry with no Reader (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/933\"\u003e#933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echange \u003ccode\u003eaes_mode\u003c/code\u003e to \u003ccode\u003eaes_settings()\u003c/code\u003e in ZipFileData (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/925\"\u003e#925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup and harmonize extra fields (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/923\"\u003e#923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite zip64 extra (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/913\"\u003e#913\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ereject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1036\"\u003e#1036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eapply central directory metadata in ZipStreamReader, only to written entries (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1030\"\u003e#1030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003econsume the whole extended timestamp field in the central header (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eparse the central header of the extended timestamp (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1002\"\u003e#1002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't pre-allocate the declared size in the legacy decoders (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/991\"\u003e#991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSymlink with very large declared size could lead to out-of-memory panic (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/984\"\u003e#984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecopy extra fields in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/955\"\u003e#955\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd unix_mode when copy_raw_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erewrite documentation of add_symlink_from_path (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eignore a ZIP64 extra field that no sentinel asked for (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edo not set data descriptor if directory (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eexpose flags function for easier access (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve unix permission in raw_copy_file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eclippy warning on nightly (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove extra alloc used to copy (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/938\"\u003e#938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elazy allocation on error case (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/937\"\u003e#937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix data alignment (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/929\"\u003e#929\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\u003c!-- raw HTML omitted --\u003e🚜 Refactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emove extract to own file (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/1009\"\u003e#1009\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecleanup permissions related code (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove feature gate (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/949\"\u003e#949\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecreate \u003ccode\u003eZipFileFlags\u003c/code\u003e to wrap \u003ccode\u003eflags\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove unused trait (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/946\"\u003e#946\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaccess \u003ccode\u003ecrate::format\u003c/code\u003e with \u003ccode\u003ezip::unstable::format\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eharmonize functions to \u003ccode\u003eformat/functions.rs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/pull/943\"\u003e#943\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/zip-rs/zip2/commit/2b1c4244a6f42906c8b3f21a358bf2321d0baaef\"\u003e\u003ccode\u003e2b1c424\u003c/code\u003e\u003c/a\u003e chore: release v9.0.0 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/940\"\u003e#940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/759993fa1e1b7d63bdc063b4d0a84c6f76115974\"\u003e\u003ccode\u003e759993f\u003c/code\u003e\u003c/a\u003e fix: reading an empty AES entry again at EOF returns Ok(0) (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1024\"\u003e#1024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/acd09d3eabcf44558ca1e0d87d2da9d8d0369ea1\"\u003e\u003ccode\u003eacd09d3\u003c/code\u003e\u003c/a\u003e fix: reject ZIP64 sizes that overflow u64 when computing data end offsets (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/8eab8e3319ca4c3523e40113c077ebf2018564c2\"\u003e\u003ccode\u003e8eab8e3\u003c/code\u003e\u003c/a\u003e ci(deps): bump codelytv/pr-size-labeler from 1.11.0 to 1.11.1 (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1034\"\u003e#1034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/53bdadce59cc3440f19bd6527499554bf72d0b7c\"\u003e\u003ccode\u003e53bdadc\u003c/code\u003e\u003c/a\u003e fix: apply central directory metadata in ZipStreamReader, only to written ent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/f86c8be998e9f6f8ba50336ee0416c38d47fac7c\"\u003e\u003ccode\u003ef86c8be\u003c/code\u003e\u003c/a\u003e ci: Add endianness_miri as requirement before build_and_test (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1037\"\u003e#1037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a72b210475f1612651b98364b45c612561b5c96b\"\u003e\u003ccode\u003ea72b210\u003c/code\u003e\u003c/a\u003e chore: Fix high-level symlink extraction logic, disable some tests in miri, a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/96c16930264d3e838bbac1ba855adb7b240d92d0\"\u003e\u003ccode\u003e96c1693\u003c/code\u003e\u003c/a\u003e test: Fix typo in comment for symlink test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/2a87f64fbe10a7e0a3a51a89fedf9b9c77f3c951\"\u003e\u003ccode\u003e2a87f64\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zip-rs/zip2/commit/a82b390af1384a8c348115178232ccd9baac73ae\"\u003e\u003ccode\u003ea82b390\u003c/code\u003e\u003c/a\u003e ci: Fix: Change trigger event for size_labels.yml to pull_request_target (\u003ca href=\"https://redirect.github.com/zip-rs/zip2/issues/1032\"\u003e#1032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/zip-rs/zip2/compare/v8.6.0...v9.0.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\n\n\u003c!-- codesmith:footer --\u003e\n---\n\u003ca href=\"https://app.blacksmith.sh/Ktesio/codesmith/hekma/pr/268?autoLogin=true\u0026ref=codesmith_pr_footer\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v3.svg\"\u003e\u003cimg alt=\"View with [code]smith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://backend.blacksmith.sh/track/enable-autofix?expires=1794432471\u0026installation_model_id=436963\u0026pr_number=268\u0026ref=codesmith_pr_footer\u0026repository=Ktesio%2Fhekma\u0026return_to=https%3A%2F%2Fgithub.com%2FKtesio%2Fhekma%2Fpull%2F268\u0026signature=e7f9621a504c903ef073fddf5769641356f010980cc6faff2343a544faeb6bf1\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg\"\u003e\u003cimg alt=\"Autofix with [code]smith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\u003csup\u003eNeed help on this PR? Tag \u003ccode\u003e@codesmith-bot\u003c/code\u003e with what you need.\u003c/sup\u003e\n\n\u003c!-- codesmith:autofix:disabled --\u003e\n\u003c!-- /codesmith:footer --\u003e","html_url":"https://github.com/Ktesio/hekma/pull/268","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ktesio%2Fhekma/issues/268","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/268/packages"}}]}