-
Notifications
You must be signed in to change notification settings - Fork 330
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
Reimplement idna on top of ICU4X #923
Conversation
I think you need to explicitly add a dependency for the icu crate, instead of using a relative path |
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.
We need to add a direct dependency on the icu crates
Yeah, the dependency declaration will change when this becomes a non-draft. |
Using the demo https://github.com/hsivonen/urldemo (strip=true, lto=true, opt_level="z") and binaryen wasm-opt -Oz on the result, I get 215085 bytes with this patch and 310986 without, so this should not only improve performance but should also make (Wasm at least) binary size smaller. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #923 +/- ##
=======================================
Coverage ? 79.94%
=======================================
Files ? 22
Lines ? 4208
Branches ? 0
=======================================
Hits ? 3364
Misses ? 844
Partials ? 0 ☔ View full report in Codecov by Sentry. |
I looked at the red lines for non-test code in the coverage report, and it's not as awful as the percentages suggest. In particular, it looks like const-evaluated code shows up as uncovered. Could be better, of course. |
I did the minimum possible version bump for |
From the point of view of
|
The dependency version increment is about dealing with an issue in the transitive dependency declarations which caused a problem in the case where a dependent already had the Note that 1.5 versions have also already been released. GitHub shows this changeset as "Changes requested". I believe I've addressed the request already, but I don't see what GitHub UI action I need to take to dismiss the "Changes requested" state. |
Doesn't sound like a semver break is needed.
I think only the maintainers themselves can dismiss this. |
…eds to be reviewed before we can accept it Related to servo/rust-url#923
url crate version 2.5.1 introduces new license "Unicode-3.0" which needs to be reviewed before we can accept it Related to servo/rust-url#923
[![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://github.com/Boshen/criterion2.rs)) | workspace.dependencies | minor | `0.10.0` -> `0.11.0` | | [memchr](https://github.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.7.2` -> `2.7.4` | | [oxc-browserslist](https://github.com/oxc-project/oxc-browserslist) | workspace.dependencies | patch | `0.17.0` -> `0.17.1` | | [url](https://github.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://github.com/Boshen/criterion2.rs/blob/HEAD/CHANGELOG.md#0110---2024-06-14) [Compare Source](https://github.com/Boshen/criterion2.rs/compare/v0.10.0...v0.11.0) ##### Added - \[**breaking**] remove csv_output ([#​33](https://github.com/Boshen/criterion2.rs/pull/33)) - rm crate `criterion-macro` ##### Other - *(deps)* update dependency rust to v1.79.0 ([#​35](https://github.com/Boshen/criterion2.rs/pull/35)) - *(deps)* update rust crates ([#​32](https://github.com/Boshen/criterion2.rs/pull/32)) - *(deps)* lock file maintenance rust crates ([#​31](https://github.com/Boshen/criterion2.rs/pull/31)) - check unused dependencies </details> <details> <summary>BurntSushi/memchr (memchr)</summary> ### [`v2.7.4`](https://github.com/BurntSushi/memchr/compare/2.7.3...2.7.4) [Compare Source](https://github.com/BurntSushi/memchr/compare/2.7.3...2.7.4) ### [`v2.7.3`](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.3) [Compare Source](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.3) </details> <details> <summary>oxc-project/oxc-browserslist (oxc-browserslist)</summary> ### [`v0.17.1`](https://github.com/oxc-project/oxc-browserslist/blob/HEAD/CHANGELOG.md#0171---2024-06-17) [Compare Source](https://github.com/oxc-project/oxc-browserslist/compare/oxc-browserslist-v0.17.0...oxc-browserslist-v0.17.1) ##### Other - *(deps)* update npm packages ([#​45](https://github.com/oxc-project/oxc-browserslist/pull/45)) </details> <details> <summary>servo/rust-url (url)</summary> ### [`v2.5.1`](https://github.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://github.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://github.com/philippeitis) in [https://github.com/servo/rust-url/pull/737](https://github.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [@​bishopcheckmate](https://github.com/bishopcheckmate) in [https://github.com/servo/rust-url/pull/894](https://github.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [@​valenting](https://github.com/valenting) in [https://github.com/servo/rust-url/pull/902](https://github.com/servo/rust-url/pull/902) - Add dependabot by [@​oriontvv](https://github.com/oriontvv) in [https://github.com/servo/rust-url/pull/903](https://github.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [@​dependabot](https://github.com/dependabot) in [https://github.com/servo/rust-url/pull/904](https://github.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://github.com/dependabot) in [https://github.com/servo/rust-url/pull/905](https://github.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://github.com/dependabot) in [https://github.com/servo/rust-url/pull/906](https://github.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [@​SmaugPool](https://github.com/SmaugPool) in [https://github.com/servo/rust-url/pull/797](https://github.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [@​mrobinson](https://github.com/mrobinson) in [https://github.com/servo/rust-url/pull/914](https://github.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [@​hsivonen](https://github.com/hsivonen) in [https://github.com/servo/rust-url/pull/915](https://github.com/servo/rust-url/pull/915) - Update URLs by [@​atouchet](https://github.com/atouchet) in [https://github.com/servo/rust-url/pull/916](https://github.com/servo/rust-url/pull/916) - Fix lint by [@​valenting](https://github.com/valenting) in [https://github.com/servo/rust-url/pull/920](https://github.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [@​micolous](https://github.com/micolous) in [https://github.com/servo/rust-url/pull/886](https://github.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [@​DylanOToole2](https://github.com/DylanOToole2) in [https://github.com/servo/rust-url/pull/921](https://github.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [@​aatifsyed](https://github.com/aatifsyed) in [https://github.com/servo/rust-url/pull/924](https://github.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [@​mo8it](https://github.com/mo8it) in [https://github.com/servo/rust-url/pull/926](https://github.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [@​hsivonen](https://github.com/hsivonen) in [https://github.com/servo/rust-url/pull/923](https://github.com/servo/rust-url/pull/923) #### New Contributors - [@​philippeitis](https://github.com/philippeitis) made their first contribution in [https://github.com/servo/rust-url/pull/737](https://github.com/servo/rust-url/pull/737) - [@​bishopcheckmate](https://github.com/bishopcheckmate) made their first contribution in [https://github.com/servo/rust-url/pull/894](https://github.com/servo/rust-url/pull/894) - [@​oriontvv](https://github.com/oriontvv) made their first contribution in [https://github.com/servo/rust-url/pull/903](https://github.com/servo/rust-url/pull/903) - [@​dependabot](https://github.com/dependabot) made their first contribution in [https://github.com/servo/rust-url/pull/904](https://github.com/servo/rust-url/pull/904) - [@​SmaugPool](https://github.com/SmaugPool) made their first contribution in [https://github.com/servo/rust-url/pull/797](https://github.com/servo/rust-url/pull/797) - [@​hsivonen](https://github.com/hsivonen) made their first contribution in [https://github.com/servo/rust-url/pull/915](https://github.com/servo/rust-url/pull/915) - [@​micolous](https://github.com/micolous) made their first contribution in [https://github.com/servo/rust-url/pull/886](https://github.com/servo/rust-url/pull/886) - [@​DylanOToole2](https://github.com/DylanOToole2) made their first contribution in [https://github.com/servo/rust-url/pull/921](https://github.com/servo/rust-url/pull/921) - [@​aatifsyed](https://github.com/aatifsyed) made their first contribution in [https://github.com/servo/rust-url/pull/924](https://github.com/servo/rust-url/pull/924) - [@​mo8it](https://github.com/mo8it) made their first contribution in [https://github.com/servo/rust-url/pull/926](https://github.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://github.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-->
* Revert "Reimplement idna on top of ICU4X (#923)" This reverts commit 3d6dbbb. See #937 for reasons behind this backout. * Bump url version to 2.5.2 * Pin unicode-width to 0.1.12 to avoid build failure in rust 1.56 * Remove ambiguous_wide_pointer_comparisons to maybe resolve clippy error * fix clippy
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://github.com/rust-lang/annotate-snippets-rs) | workspace.dependencies | patch | `0.11.3` -> `0.11.4` | | [clap](https://github.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.6` -> `4.5.8` | | [curl-sys](https://github.com/alexcrichton/curl-rust) | workspace.dependencies | patch | `0.4.72+curl-8.6.0` -> `0.4.73` | | [libloading](https://github.com/nagisa/rust_libloading) | workspace.dependencies | patch | `0.8.3` -> `0.8.4` | | [memchr](https://github.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.7.2` -> `2.7.4` | | [proptest](https://proptest-rs.github.io/proptest/proptest/index.html) ([source](https://github.com/proptest-rs/proptest)) | workspace.dependencies | minor | `1.4.0` -> `1.5.0` | | [serde_json](https://github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.117` -> `1.0.120` | | [snapbox](https://github.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://github.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.6.9` -> `0.6.10` | | [url](https://github.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://github.com/rust-lang/annotate-snippets-rs/blob/HEAD/CHANGELOG.md#0114---2024-06-15) [Compare Source](https://github.com/rust-lang/annotate-snippets-rs/compare/0.11.3...0.11.4) ##### Fixes - Annotations for `\r\n` are now correctly handled [#​131](https://github.com/rust-lang/annotate-snippets-rs/pull/131) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#458---2024-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.5.7...v4.5.8) ##### Fixes - Reduce extra flushes ### [`v4.5.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#457---2024-06-10) [Compare Source](https://github.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://github.com/alexcrichton/curl-rust/compare/curl-sys-0.4.72...curl-sys-0.4.73) [Compare Source](https://github.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://github.com/nagisa/rust_libloading/compare/0.8.3...0.8.4) [Compare Source](https://github.com/nagisa/rust_libloading/compare/0.8.3...0.8.4) </details> <details> <summary>BurntSushi/memchr (memchr)</summary> ### [`v2.7.4`](https://github.com/BurntSushi/memchr/compare/2.7.3...2.7.4) [Compare Source](https://github.com/BurntSushi/memchr/compare/2.7.3...2.7.4) ### [`v2.7.3`](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.3) [Compare Source](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.3) </details> <details> <summary>proptest-rs/proptest (proptest)</summary> ### [`v1.5.0`](https://github.com/proptest-rs/proptest/compare/v1.4.0...v1.5.0) [Compare Source](https://github.com/proptest-rs/proptest/compare/v1.4.0...v1.5.0) </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.120`](https://github.com/serde-rs/json/releases/tag/v1.0.120) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.119...v1.0.120) - Correctly specify required version of `indexmap` dependency ([#​1152](https://github.com/serde-rs/json/issues/1152), thanks [`@​cforycki](https://github.com/cforycki))` ### [`v1.0.119`](https://github.com/serde-rs/json/releases/tag/v1.0.119) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.118...v1.0.119) - Add `serde_json::Map::shift_insert` ([#​1149](https://github.com/serde-rs/json/issues/1149), thanks [`@​joshka](https://github.com/joshka))` ### [`v1.0.118`](https://github.com/serde-rs/json/releases/tag/v1.0.118) [Compare Source](https://github.com/serde-rs/json/compare/v1.0.117...v1.0.118) - Implement Hash for serde_json::Value ([#​1127](https://github.com/serde-rs/json/issues/1127), thanks [`@​edwardycl](https://github.com/edwardycl))` </details> <details> <summary>assert-rs/trycmd (snapbox)</summary> ### [`v0.6.10`](https://github.com/assert-rs/trycmd/compare/snapbox-v0.6.9...snapbox-v0.6.10) [Compare Source](https://github.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://github.com/servo/rust-url/releases/tag/v2.5.2) [Compare Source](https://github.com/servo/rust-url/compare/v2.5.1...v2.5.2) #### What's Changed - fix panic on `xn--55555577` by [`@​Byron](https://github.com/Byron)` in [https://github.com/servo/rust-url/pull/940](https://github.com/servo/rust-url/pull/940) - Update idna to 1.0.1 by [`@​valenting](https://github.com/valenting)` in [https://github.com/servo/rust-url/pull/945](https://github.com/servo/rust-url/pull/945) - Revert "Reimplement idna on top of ICU4X" by [`@​valenting](https://github.com/valenting)` in [https://github.com/servo/rust-url/pull/946](https://github.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://github.com/servo/rust-url/tree/idna-v1x) branch. **Full Changelog**: servo/rust-url@v2.5.1...v2.5.2 ### [`v2.5.1`](https://github.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://github.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://github.com/philippeitis)` in [https://github.com/servo/rust-url/pull/737](https://github.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [`@​bishopcheckmate](https://github.com/bishopcheckmate)` in [https://github.com/servo/rust-url/pull/894](https://github.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [`@​valenting](https://github.com/valenting)` in [https://github.com/servo/rust-url/pull/902](https://github.com/servo/rust-url/pull/902) - Add dependabot by [`@​oriontvv](https://github.com/oriontvv)` in [https://github.com/servo/rust-url/pull/903](https://github.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/servo/rust-url/pull/904](https://github.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/servo/rust-url/pull/905](https://github.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/servo/rust-url/pull/906](https://github.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [`@​SmaugPool](https://github.com/SmaugPool)` in [https://github.com/servo/rust-url/pull/797](https://github.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [`@​mrobinson](https://github.com/mrobinson)` in [https://github.com/servo/rust-url/pull/914](https://github.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [`@​hsivonen](https://github.com/hsivonen)` in [https://github.com/servo/rust-url/pull/915](https://github.com/servo/rust-url/pull/915) - Update URLs by [`@​atouchet](https://github.com/atouchet)` in [https://github.com/servo/rust-url/pull/916](https://github.com/servo/rust-url/pull/916) - Fix lint by [`@​valenting](https://github.com/valenting)` in [https://github.com/servo/rust-url/pull/920](https://github.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [`@​micolous](https://github.com/micolous)` in [https://github.com/servo/rust-url/pull/886](https://github.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [`@​DylanOToole2](https://github.com/DylanOToole2)` in [https://github.com/servo/rust-url/pull/921](https://github.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [`@​aatifsyed](https://github.com/aatifsyed)` in [https://github.com/servo/rust-url/pull/924](https://github.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [`@​mo8it](https://github.com/mo8it)` in [https://github.com/servo/rust-url/pull/926](https://github.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [`@​hsivonen](https://github.com/hsivonen)` in [https://github.com/servo/rust-url/pull/923](https://github.com/servo/rust-url/pull/923) #### New Contributors - [`@​philippeitis](https://github.com/philippeitis)` made their first contribution in [https://github.com/servo/rust-url/pull/737](https://github.com/servo/rust-url/pull/737) - [`@​bishopcheckmate](https://github.com/bishopcheckmate)` made their first contribution in [https://github.com/servo/rust-url/pull/894](https://github.com/servo/rust-url/pull/894) - [`@​oriontvv](https://github.com/oriontvv)` made their first contribution in [https://github.com/servo/rust-url/pull/903](https://github.com/servo/rust-url/pull/903) - [`@​dependabot](https://github.com/dependabot)` made their first contribution in [https://github.com/servo/rust-url/pull/904](https://github.com/servo/rust-url/pull/904) - [`@​SmaugPool](https://github.com/SmaugPool)` made their first contribution in [https://github.com/servo/rust-url/pull/797](https://github.com/servo/rust-url/pull/797) - [`@​hsivonen](https://github.com/hsivonen)` made their first contribution in [https://github.com/servo/rust-url/pull/915](https://github.com/servo/rust-url/pull/915) - [`@​micolous](https://github.com/micolous)` made their first contribution in [https://github.com/servo/rust-url/pull/886](https://github.com/servo/rust-url/pull/886) - [`@​DylanOToole2](https://github.com/DylanOToole2)` made their first contribution in [https://github.com/servo/rust-url/pull/921](https://github.com/servo/rust-url/pull/921) - [`@​aatifsyed](https://github.com/aatifsyed)` made their first contribution in [https://github.com/servo/rust-url/pull/924](https://github.com/servo/rust-url/pull/924) - [`@​mo8it](https://github.com/mo8it)` made their first contribution in [https://github.com/servo/rust-url/pull/926](https://github.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://github.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://github.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://github.com/servo/rust-url/releases/tag/v2.5.2) [Compare Source](https://github.com/servo/rust-url/compare/v2.5.1...v2.5.2) #### What's Changed - fix panic on `xn--55555577` by [@​Byron](https://github.com/Byron) in [https://github.com/servo/rust-url/pull/940](https://github.com/servo/rust-url/pull/940) - Update idna to 1.0.1 by [@​valenting](https://github.com/valenting) in [https://github.com/servo/rust-url/pull/945](https://github.com/servo/rust-url/pull/945) - Revert "Reimplement idna on top of ICU4X" by [@​valenting](https://github.com/valenting) in [https://github.com/servo/rust-url/pull/946](https://github.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://github.com/servo/rust-url/tree/idna-v1x) branch. **Full Changelog**: servo/rust-url@v2.5.1...v2.5.2 ### [`v2.5.1`](https://github.com/servo/rust-url/releases/tag/v2.5.1) [Compare Source](https://github.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://github.com/philippeitis) in [https://github.com/servo/rust-url/pull/737](https://github.com/servo/rust-url/pull/737) - perf(punycode): avoid double allocation in decode_to_string by [@​bishopcheckmate](https://github.com/bishopcheckmate) in [https://github.com/servo/rust-url/pull/894](https://github.com/servo/rust-url/pull/894) - Use SPECIAL_PATH_SEGMENT when encoding path in from_file_path by [@​valenting](https://github.com/valenting) in [https://github.com/servo/rust-url/pull/902](https://github.com/servo/rust-url/pull/902) - Add dependabot by [@​oriontvv](https://github.com/oriontvv) in [https://github.com/servo/rust-url/pull/903](https://github.com/servo/rust-url/pull/903) - Bump codecov/codecov-action from 3 to 4 by [@​dependabot](https://github.com/dependabot) in [https://github.com/servo/rust-url/pull/904](https://github.com/servo/rust-url/pull/904) - Bump actions/upload-artifact from 2 to 4 by [@​dependabot](https://github.com/dependabot) in [https://github.com/servo/rust-url/pull/905](https://github.com/servo/rust-url/pull/905) - Bump actions/checkout from 3 to 4 by [@​dependabot](https://github.com/dependabot) in [https://github.com/servo/rust-url/pull/906](https://github.com/servo/rust-url/pull/906) - Fix non-base64 data URLs with % characters not followed by hex digits by [@​SmaugPool](https://github.com/SmaugPool) in [https://github.com/servo/rust-url/pull/797](https://github.com/servo/rust-url/pull/797) - Rename `master` branch to `main` by [@​mrobinson](https://github.com/mrobinson) in [https://github.com/servo/rust-url/pull/914](https://github.com/servo/rust-url/pull/914) - Add bench for to_ascii on an already-Punycode name by [@​hsivonen](https://github.com/hsivonen) in [https://github.com/servo/rust-url/pull/915](https://github.com/servo/rust-url/pull/915) - Update URLs by [@​atouchet](https://github.com/atouchet) in [https://github.com/servo/rust-url/pull/916](https://github.com/servo/rust-url/pull/916) - Fix lint by [@​valenting](https://github.com/valenting) in [https://github.com/servo/rust-url/pull/920](https://github.com/servo/rust-url/pull/920) - Fix multiple issues on wasm32, and runs url tests in CI by [@​micolous](https://github.com/micolous) in [https://github.com/servo/rust-url/pull/886](https://github.com/servo/rust-url/pull/886) - Non-special URLs can have their paths erased by [@​DylanOToole2](https://github.com/DylanOToole2) in [https://github.com/servo/rust-url/pull/921](https://github.com/servo/rust-url/pull/921) - docs: document SyntaxViolation variants, remove bare URLs by [@​aatifsyed](https://github.com/aatifsyed) in [https://github.com/servo/rust-url/pull/924](https://github.com/servo/rust-url/pull/924) - docs: Document possible replacements of the base URL by [@​mo8it](https://github.com/mo8it) in [https://github.com/servo/rust-url/pull/926](https://github.com/servo/rust-url/pull/926) - Reimplement idna on top of ICU4X by [@​hsivonen](https://github.com/hsivonen) in [https://github.com/servo/rust-url/pull/923](https://github.com/servo/rust-url/pull/923) #### New Contributors - [@​philippeitis](https://github.com/philippeitis) made their first contribution in [https://github.com/servo/rust-url/pull/737](https://github.com/servo/rust-url/pull/737) - [@​bishopcheckmate](https://github.com/bishopcheckmate) made their first contribution in [https://github.com/servo/rust-url/pull/894](https://github.com/servo/rust-url/pull/894) - [@​oriontvv](https://github.com/oriontvv) made their first contribution in [https://github.com/servo/rust-url/pull/903](https://github.com/servo/rust-url/pull/903) - [@​dependabot](https://github.com/dependabot) made their first contribution in [https://github.com/servo/rust-url/pull/904](https://github.com/servo/rust-url/pull/904) - [@​SmaugPool](https://github.com/SmaugPool) made their first contribution in [https://github.com/servo/rust-url/pull/797](https://github.com/servo/rust-url/pull/797) - [@​hsivonen](https://github.com/hsivonen) made their first contribution in [https://github.com/servo/rust-url/pull/915](https://github.com/servo/rust-url/pull/915) - [@​micolous](https://github.com/micolous) made their first contribution in [https://github.com/servo/rust-url/pull/886](https://github.com/servo/rust-url/pull/886) - [@​DylanOToole2](https://github.com/DylanOToole2) made their first contribution in [https://github.com/servo/rust-url/pull/921](https://github.com/servo/rust-url/pull/921) - [@​aatifsyed](https://github.com/aatifsyed) made their first contribution in [https://github.com/servo/rust-url/pull/924](https://github.com/servo/rust-url/pull/924) - [@​mo8it](https://github.com/mo8it) made their first contribution in [https://github.com/servo/rust-url/pull/926](https://github.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>
Opening as draft PR to enable early feedback while the dependency remains unlanded in ICU4X.
The motivation of reformulating the
idna
crate on top of ICU4X is to be able to move Firefox's IDNA handling to use ICU4X (instead of the current combination of ICU4C and very old code). The ICU4X normalizer is faster thanunicode-normalization
and the ICU4X normalizer represents UTS 46 data as a normalization as opposed to representing it separately like theidna
crate currently does.The benchmarks in the
idna
crate itself show this PR to result in faster performance. This is also more correct than the old code: I removed skipping of the ContextJ tests from the harness that runs the UTS 46 test suite.See the added README for removed capabilities. I searched for GitHub for public code using the
idna
crate, and I believe the removals to be mostly not need action from the ecosystem and to be tolerable when they do.For projects that use ICU4X for normalization (or collation), this change has the benefit of deduplicating data across normalization and IDNA handling. There is the ecosystem risk of causing projects that use
unicode-normalization
for normalization in ways other than as a dependency ofidna
to end up with more data. One way to mitigate that (already preliminarily discussed with the maintainer) would be to introduce a cargo feature tounicode-normalization
that would delegate theunicode-normalization
internals to ICU4X (better performance, more crates in the dependency tree).Not properly investigated yet: Binary size impact.