-
Notifications
You must be signed in to change notification settings - Fork 331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix non-base64 data URLs with % characters not followed by hex digits #797
Conversation
See #795 (comment) for a more detailed explanation. All tests pass:
I will run more tests but some review is needed as I'm not familiar enough with the source code to be certain that does not cause regressions. Note: I guess an alternative could be to update PS: I can add test cases to avoid later regressions if wanted. |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #797 +/- ##
==========================================
+ Coverage 82.05% 82.44% +0.39%
==========================================
Files 20 20
Lines 3365 3349 -16
==========================================
Hits 2761 2761
+ Misses 604 588 -16
☔ View full report in Codecov by Sentry. |
@SmaugPool Sorry for the late reply. Could you add a test for this? |
Sure @lucacasonato, I have added some tests. |
17d8c93
to
6ad3fc5
Compare
When writing accumulated "non-special" characters, `slice_start` must be updated as some later conditionals/pattern matches don't update it like the case when `%` is not followed by 2 hex digits. This fixes servo#795
@lucacasonato any plan to merge this? It has been a while now (PR from 2022) and it fixes a significant issue with data URLs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the fix!
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [criterion2](https://bheisler.github.io/criterion.rs/book/index.html) ([source](https://togithub.com/Boshen/criterion2.rs)) | workspace.dependencies | minor | `0.10.0` -> `0.11.0` | | [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.7.2` -> `2.7.4` | | [oxc-browserslist](https://togithub.com/oxc-project/oxc-browserslist) | workspace.dependencies | patch | `0.17.0` -> `0.17.1` | | [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.5.0` -> `2.5.1` | --- ### Release Notes <details> <summary>Boshen/criterion2.rs (criterion2)</summary> ### [`v0.11.0`](https://togithub.com/Boshen/criterion2.rs/blob/HEAD/CHANGELOG.md#0110---2024-06-14) [Compare Source](https://togithub.com/Boshen/criterion2.rs/compare/v0.10.0...v0.11.0) ##### Added - \[**breaking**] remove csv_output ([#​33](https://togithub.com/Boshen/criterion2.rs/pull/33)) - rm crate `criterion-macro` ##### Other - *(deps)* update dependency rust to v1.79.0 ([#​35](https://togithub.com/Boshen/criterion2.rs/pull/35)) - *(deps)* update rust crates ([#​32](https://togithub.com/Boshen/criterion2.rs/pull/32)) - *(deps)* lock file maintenance rust crates ([#​31](https://togithub.com/Boshen/criterion2.rs/pull/31)) - check unused dependencies </details> <details> <summary>BurntSushi/memchr (memchr)</summary> ### [`v2.7.4`](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) ### [`v2.7.3`](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) </details> <details> <summary>oxc-project/oxc-browserslist (oxc-browserslist)</summary> ### [`v0.17.1`](https://togithub.com/oxc-project/oxc-browserslist/blob/HEAD/CHANGELOG.md#0171---2024-06-17) [Compare Source](https://togithub.com/oxc-project/oxc-browserslist/compare/oxc-browserslist-v0.17.0...oxc-browserslist-v0.17.1) ##### Other - *(deps)* update npm packages ([#​45](https://togithub.com/oxc-project/oxc-browserslist/pull/45)) </details> <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.1`](https://togithub.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.0...v2.5.1) #### What's Changed - Be more detailed in documentation of set_query by [@​philippeitis](https://togithub.com/philippeitis) in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [@​bishopcheckmate](https://togithub.com/bishopcheckmate) in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/902](https://togithub.com/servo/rust-url/pull/902) - Add dependabot by [@​oriontvv](https://togithub.com/oriontvv) in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/905](https://togithub.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/906](https://togithub.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [@​SmaugPool](https://togithub.com/SmaugPool) in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [@​mrobinson](https://togithub.com/mrobinson) in [https://github.com/servo/rust-url/pull/914](https://togithub.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - Update URLs by [@​atouchet](https://togithub.com/atouchet) in [https://github.com/servo/rust-url/pull/916](https://togithub.com/servo/rust-url/pull/916) - Fix lint by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/920](https://togithub.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [@​micolous](https://togithub.com/micolous) in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [@​DylanOToole2](https://togithub.com/DylanOToole2) in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [@​aatifsyed](https://togithub.com/aatifsyed) in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [@​mo8it](https://togithub.com/mo8it) in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/923](https://togithub.com/servo/rust-url/pull/923) #### New Contributors - [@​philippeitis](https://togithub.com/philippeitis) made their first contribution in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - [@​bishopcheckmate](https://togithub.com/bishopcheckmate) made their first contribution in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - [@​oriontvv](https://togithub.com/oriontvv) made their first contribution in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - [@​dependabot](https://togithub.com/dependabot) made their first contribution in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - [@​SmaugPool](https://togithub.com/SmaugPool) made their first contribution in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - [@​hsivonen](https://togithub.com/hsivonen) made their first contribution in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - [@​micolous](https://togithub.com/micolous) made their first contribution in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - [@​DylanOToole2](https://togithub.com/DylanOToole2) made their first contribution in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - [@​aatifsyed](https://togithub.com/aatifsyed) made their first contribution in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - [@​mo8it](https://togithub.com/mo8it) made their first contribution in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) **Full Changelog**: servo/rust-url@v2.5.0...v2.5.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update compatible [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [annotate-snippets](https://togithub.com/rust-lang/annotate-snippets-rs) | workspace.dependencies | patch | `0.11.3` -> `0.11.4` | | [clap](https://togithub.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.6` -> `4.5.8` | | [curl-sys](https://togithub.com/alexcrichton/curl-rust) | workspace.dependencies | patch | `0.4.72+curl-8.6.0` -> `0.4.73` | | [libloading](https://togithub.com/nagisa/rust_libloading) | workspace.dependencies | patch | `0.8.3` -> `0.8.4` | | [memchr](https://togithub.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.7.2` -> `2.7.4` | | [proptest](https://proptest-rs.github.io/proptest/proptest/index.html) ([source](https://togithub.com/proptest-rs/proptest)) | workspace.dependencies | minor | `1.4.0` -> `1.5.0` | | [serde_json](https://togithub.com/serde-rs/json) | workspace.dependencies | patch | `1.0.117` -> `1.0.120` | | [snapbox](https://togithub.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://togithub.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.6.9` -> `0.6.10` | | [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.5.0` -> `2.5.2` | --- ### Release Notes <details> <summary>rust-lang/annotate-snippets-rs (annotate-snippets)</summary> ### [`v0.11.4`](https://togithub.com/rust-lang/annotate-snippets-rs/blob/HEAD/CHANGELOG.md#0114---2024-06-15) [Compare Source](https://togithub.com/rust-lang/annotate-snippets-rs/compare/0.11.3...0.11.4) ##### Fixes - Annotations for `\r\n` are now correctly handled [#​131](https://togithub.com/rust-lang/annotate-snippets-rs/pull/131) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.8`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#458---2024-06-28) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.7...v4.5.8) ##### Fixes - Reduce extra flushes ### [`v4.5.7`](https://togithub.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#457---2024-06-10) [Compare Source](https://togithub.com/clap-rs/clap/compare/v4.5.6...v4.5.7) ##### Fixes - Clean up error message when too few arguments for `num_args` </details> <details> <summary>alexcrichton/curl-rust (curl-sys)</summary> ### [`v0.4.73`](https://togithub.com/alexcrichton/curl-rust/compare/curl-sys-0.4.72...curl-sys-0.4.73) [Compare Source](https://togithub.com/alexcrichton/curl-rust/compare/curl-sys-0.4.72...curl-sys-0.4.73) </details> <details> <summary>nagisa/rust_libloading (libloading)</summary> ### [`v0.8.4`](https://togithub.com/nagisa/rust_libloading/compare/0.8.3...0.8.4) [Compare Source](https://togithub.com/nagisa/rust_libloading/compare/0.8.3...0.8.4) </details> <details> <summary>BurntSushi/memchr (memchr)</summary> ### [`v2.7.4`](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.3...2.7.4) ### [`v2.7.3`](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) [Compare Source](https://togithub.com/BurntSushi/memchr/compare/2.7.2...2.7.3) </details> <details> <summary>proptest-rs/proptest (proptest)</summary> ### [`v1.5.0`](https://togithub.com/proptest-rs/proptest/compare/v1.4.0...v1.5.0) [Compare Source](https://togithub.com/proptest-rs/proptest/compare/v1.4.0...v1.5.0) </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.120`](https://togithub.com/serde-rs/json/releases/tag/v1.0.120) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.119...v1.0.120) - Correctly specify required version of `indexmap` dependency ([#​1152](https://togithub.com/serde-rs/json/issues/1152), thanks [`@​cforycki](https://togithub.com/cforycki))` ### [`v1.0.119`](https://togithub.com/serde-rs/json/releases/tag/v1.0.119) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.118...v1.0.119) - Add `serde_json::Map::shift_insert` ([#​1149](https://togithub.com/serde-rs/json/issues/1149), thanks [`@​joshka](https://togithub.com/joshka))` ### [`v1.0.118`](https://togithub.com/serde-rs/json/releases/tag/v1.0.118) [Compare Source](https://togithub.com/serde-rs/json/compare/v1.0.117...v1.0.118) - Implement Hash for serde_json::Value ([#​1127](https://togithub.com/serde-rs/json/issues/1127), thanks [`@​edwardycl](https://togithub.com/edwardycl))` </details> <details> <summary>assert-rs/trycmd (snapbox)</summary> ### [`v0.6.10`](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.6.9...snapbox-v0.6.10) [Compare Source](https://togithub.com/assert-rs/trycmd/compare/snapbox-v0.6.9...snapbox-v0.6.10) </details> <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.2`](https://togithub.com/servo/rust-url/releases/tag/v2.5.2) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.1...v2.5.2) #### What's Changed - fix panic on `xn--55555577` by [`@​Byron](https://togithub.com/Byron)` in [https://github.com/servo/rust-url/pull/940](https://togithub.com/servo/rust-url/pull/940) - Update idna to 1.0.1 by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/945](https://togithub.com/servo/rust-url/pull/945) - Revert "Reimplement idna on top of ICU4X" by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/946](https://togithub.com/servo/rust-url/pull/946) This release reverts recent IDNA changes and the MSRV back to rust 1.56 The idna v1.0.1 crate now lives on the [idna-v1x](https://togithub.com/servo/rust-url/tree/idna-v1x) branch. **Full Changelog**: servo/rust-url@v2.5.1...v2.5.2 ### [`v2.5.1`](https://togithub.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.0...v2.5.1) #### What's Changed - Be more detailed in documentation of set_query by [`@​philippeitis](https://togithub.com/philippeitis)` in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [`@​bishopcheckmate](https://togithub.com/bishopcheckmate)` in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/902](https://togithub.com/servo/rust-url/pull/902) - Add dependabot by [`@​oriontvv](https://togithub.com/oriontvv)` in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [`@​dependabot](https://togithub.com/dependabot)` in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [`@​dependabot](https://togithub.com/dependabot)` in [https://github.com/servo/rust-url/pull/905](https://togithub.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [`@​dependabot](https://togithub.com/dependabot)` in [https://github.com/servo/rust-url/pull/906](https://togithub.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [`@​SmaugPool](https://togithub.com/SmaugPool)` in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [`@​mrobinson](https://togithub.com/mrobinson)` in [https://github.com/servo/rust-url/pull/914](https://togithub.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [`@​hsivonen](https://togithub.com/hsivonen)` in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - Update URLs by [`@​atouchet](https://togithub.com/atouchet)` in [https://github.com/servo/rust-url/pull/916](https://togithub.com/servo/rust-url/pull/916) - Fix lint by [`@​valenting](https://togithub.com/valenting)` in [https://github.com/servo/rust-url/pull/920](https://togithub.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [`@​micolous](https://togithub.com/micolous)` in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [`@​DylanOToole2](https://togithub.com/DylanOToole2)` in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [`@​aatifsyed](https://togithub.com/aatifsyed)` in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [`@​mo8it](https://togithub.com/mo8it)` in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [`@​hsivonen](https://togithub.com/hsivonen)` in [https://github.com/servo/rust-url/pull/923](https://togithub.com/servo/rust-url/pull/923) #### New Contributors - [`@​philippeitis](https://togithub.com/philippeitis)` made their first contribution in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - [`@​bishopcheckmate](https://togithub.com/bishopcheckmate)` made their first contribution in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - [`@​oriontvv](https://togithub.com/oriontvv)` made their first contribution in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - [`@​dependabot](https://togithub.com/dependabot)` made their first contribution in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - [`@​SmaugPool](https://togithub.com/SmaugPool)` made their first contribution in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - [`@​hsivonen](https://togithub.com/hsivonen)` made their first contribution in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - [`@​micolous](https://togithub.com/micolous)` made their first contribution in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - [`@​DylanOToole2](https://togithub.com/DylanOToole2)` made their first contribution in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - [`@​aatifsyed](https://togithub.com/aatifsyed)` made their first contribution in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - [`@​mo8it](https://togithub.com/mo8it)` made their first contribution in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) **Full Changelog**: servo/rust-url@v2.5.0...v2.5.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [url](https://togithub.com/servo/rust-url) | workspace.dependencies | patch | `2.5.0` -> `2.5.2` | --- ### Release Notes <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.2`](https://togithub.com/servo/rust-url/releases/tag/v2.5.2) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.1...v2.5.2) #### What's Changed - fix panic on `xn--55555577` by [@​Byron](https://togithub.com/Byron) in [https://github.com/servo/rust-url/pull/940](https://togithub.com/servo/rust-url/pull/940) - Update idna to 1.0.1 by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/945](https://togithub.com/servo/rust-url/pull/945) - Revert "Reimplement idna on top of ICU4X" by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/946](https://togithub.com/servo/rust-url/pull/946) This release reverts recent IDNA changes and the MSRV back to rust 1.56 The idna v1.0.1 crate now lives on the [idna-v1x](https://togithub.com/servo/rust-url/tree/idna-v1x) branch. **Full Changelog**: servo/rust-url@v2.5.1...v2.5.2 ### [`v2.5.1`](https://togithub.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://togithub.com/servo/rust-url/compare/v2.5.0...v2.5.1) #### What's Changed - Be more detailed in documentation of set_query by [@​philippeitis](https://togithub.com/philippeitis) in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [@​bishopcheckmate](https://togithub.com/bishopcheckmate) in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/902](https://togithub.com/servo/rust-url/pull/902) - Add dependabot by [@​oriontvv](https://togithub.com/oriontvv) in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/905](https://togithub.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/servo/rust-url/pull/906](https://togithub.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [@​SmaugPool](https://togithub.com/SmaugPool) in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [@​mrobinson](https://togithub.com/mrobinson) in [https://github.com/servo/rust-url/pull/914](https://togithub.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - Update URLs by [@​atouchet](https://togithub.com/atouchet) in [https://github.com/servo/rust-url/pull/916](https://togithub.com/servo/rust-url/pull/916) - Fix lint by [@​valenting](https://togithub.com/valenting) in [https://github.com/servo/rust-url/pull/920](https://togithub.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [@​micolous](https://togithub.com/micolous) in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [@​DylanOToole2](https://togithub.com/DylanOToole2) in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [@​aatifsyed](https://togithub.com/aatifsyed) in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [@​mo8it](https://togithub.com/mo8it) in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [@​hsivonen](https://togithub.com/hsivonen) in [https://github.com/servo/rust-url/pull/923](https://togithub.com/servo/rust-url/pull/923) #### New Contributors - [@​philippeitis](https://togithub.com/philippeitis) made their first contribution in [https://github.com/servo/rust-url/pull/737](https://togithub.com/servo/rust-url/pull/737) - [@​bishopcheckmate](https://togithub.com/bishopcheckmate) made their first contribution in [https://github.com/servo/rust-url/pull/894](https://togithub.com/servo/rust-url/pull/894) - [@​oriontvv](https://togithub.com/oriontvv) made their first contribution in [https://github.com/servo/rust-url/pull/903](https://togithub.com/servo/rust-url/pull/903) - [@​dependabot](https://togithub.com/dependabot) made their first contribution in [https://github.com/servo/rust-url/pull/904](https://togithub.com/servo/rust-url/pull/904) - [@​SmaugPool](https://togithub.com/SmaugPool) made their first contribution in [https://github.com/servo/rust-url/pull/797](https://togithub.com/servo/rust-url/pull/797) - [@​hsivonen](https://togithub.com/hsivonen) made their first contribution in [https://github.com/servo/rust-url/pull/915](https://togithub.com/servo/rust-url/pull/915) - [@​micolous](https://togithub.com/micolous) made their first contribution in [https://github.com/servo/rust-url/pull/886](https://togithub.com/servo/rust-url/pull/886) - [@​DylanOToole2](https://togithub.com/DylanOToole2) made their first contribution in [https://github.com/servo/rust-url/pull/921](https://togithub.com/servo/rust-url/pull/921) - [@​aatifsyed](https://togithub.com/aatifsyed) made their first contribution in [https://github.com/servo/rust-url/pull/924](https://togithub.com/servo/rust-url/pull/924) - [@​mo8it](https://togithub.com/mo8it) made their first contribution in [https://github.com/servo/rust-url/pull/926](https://togithub.com/servo/rust-url/pull/926) **Full Changelog**: servo/rust-url@v2.5.0...v2.5.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/matter-labs/zksync-withdrawal-finalizer). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
When writing accumulated "non-special" characters,
slice_start
must be updated as some later conditionals/pattern matches don't update it like the case when%
is not followed by 2 hex digits.This fixes #795