unicode-normalization
This crate provides functions for normalization of Unicode strings, including Canonical and Compatible Decomposition and Recomposition, as described in Unicode Standard Annex #15.
0.1.25
539M downloads/mo
#186 most downloaded on crates.io
unicode-rs/unicode-normalization
What this package is like to depend on
Last release 9 months ago
30 Oct 2025
Release timing varies
gaps range from 2 weeks to 1.4 years
This project publishes no release notes
the list below is its commits, not an announcement
Nothing withdrawn
no release was ever pulled
11 years old
29 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
29 releases · Apr 2015 to Oct 2025Releases
latest 29-
0.1.2530 Oct 2025Nothing published for this version
-
0.1.2417 Sep 2024Commits, not release notes
This project publishes no release notes. Between
v0.1.23andv0.1.24there were 23 commits, 16 of them substantive:- Check that normalization tests are up-to-date in CI
- Check MSRV in CI
- Check docs in CI
- Check clippy and formatting in CI
- Fix CI
- Add missing
FusedIteratorimpls - Check benches and fuzz tests in CI
- Ensure
tables.rspasses rustfmt - Use
..=syntax for inclusive ranges - Directly expose constructors for iterators rather than relying on hard-to-discover trait stuff
- Add safety comments
- Update Unicode to version 16.0.0, bump to 0.1.24
- Update normalization_tests.rs to Unicode 16.0.0
- Use tinyvec 1.6.0 in msrv build
- Fix composition table
- Fix clippy
-
0.1.2320 Feb 2024Commits, not release notes
This project publishes no release notes. Between
v0.1.22andv0.1.23there were 4 commits, 2 of them substantive:- Bump Unicode to version 15.1.0, regenerate tables
- Add regen CI
-
0.1.2216 Sep 2022Commits, not release notes
This project publishes no release notes. Between
v0.1.20andv0.1.22there were 5 commits, 2 of them substantive:- Update to Unicode 14
- Update to Unicode 15 and bump version to 0.1.22
-
0.1.2101 Jul 2022Nothing published for this version
-
0.1.2024 Jun 2022Commits, not release notes
This project publishes no release notes. Between
v0.1.17andv0.1.20there were 17 commits, 8 of them substantive:- Fix cd to package
- Handle multiple starters in the stream-safe fuzzer.
- Add an
is_public_assignedpredicate. - Publish 0.1.18
- Fix
is_public_assignedto include Hangul Syllable and other ranges. - Publish 0.1.19
- Fix #75, implement UnicodeNormalization for char
- Avoid slices in entries of decomposition tables
-
0.1.1902 Jun 2021Nothing published for this version
-
0.1.1828 May 2021Nothing published for this version
-
0.1.1709 Feb 2021Commits, not release notes
This project publishes no release notes. Between
v0.1.16andv0.1.17there were 13 commits, 11 of them substantive:- Add github actions
- Update nonstarter_count correctly + add test for all nonstarters string
- Remove dependency on
format!intest_all_nonstarters - Add new normalization algorithms using Standardized Variants
- Switch to a more explicit API.
- Don't decompose Hangul in the
svariterator. - Avoid saying "non-standard" in a comment.
- Rename
svartocjk_compat_variants. - Use
ArrayVecto panic instead of resizing on overflow. - Fix the CJK Compat Variants decomp stats string.
- Publish 0.1.17
-
0.1.1618 Nov 2020Commits, not release notes
This project publishes no release notes. Between
v0.1.15andv0.1.16there were 11 commits, 7 of them substantive:- Add a fuzz target.
- Use
assert_ne!instead ofassert!and!=. - Use a local path dependency for
unicode-normalization. - Fix an unused import warning in a test.
- Reset the stream-safe position when a starter is seen.
- Make the decompose iterator avoid buffering elements past a starter.
- Publish 0.1.16
-
0.1.1518 Nov 2020Commits, not release notes
This project publishes no release notes. Between
v0.1.14andv0.1.15there were 8 commits, 4 of them substantive:- Update tinyvec dependency
- Update Cargo.toml
- Reset stream safe iterator to buffered character when outputting CGJ
- Add test for streamsafe iterator
-
0.1.1411 Nov 2020Commits, not release notes
This project publishes no release notes. Between
v0.1.13andv0.1.14there were 4 commits, 2 of them substantive:- Update to Unicode 13
- Fix https url
-
0.1.1316 Jun 2020Commits, not release notes
This project publishes no release notes. Between
v0.1.12andv0.1.13there were 16 commits, 12 of them substantive:- Switch from SmallVec to 100% safe TinyVec
- Update to newer TinyVec
- Improve comment
- Update tinyvec dependency
- Migrate to Rust 2018 edition
- Fix generated import statements in tables.rs
- Remove ignored inline annotations
- Do not automatically format tables
- Apply rustfmt
- Add no_std + alloc support
- Remove stable feature flag iterator_step_by
- Add note about no_std support to readme
-
0.1.1221 Jan 2020Nothing published for this version
-
0.1.1122 Nov 2019Nothing published for this version
-
0.1.1021 Nov 2019Nothing published for this version
-
0.1.906 Nov 2019Nothing published for this version
-
0.1.821 Jan 2019Nothing published for this version
-
0.1.709 May 2018Nothing published for this version
-
0.1.602 May 2018Nothing published for this version
-
0.1.515 Jun 2017Nothing published for this version
-
0.1.404 Feb 2017Nothing published for this version
-
0.1.319 Dec 2016Nothing published for this version
-
0.1.218 Jan 2016Nothing published for this version
-
0.1.109 Jul 2015Nothing published for this version
-
0.1.021 Apr 2015Nothing published for this version
-
0.0.315 Apr 2015Nothing published for this version
-
0.0.215 Apr 2015Nothing published for this version
-
0.0.115 Apr 2015Nothing published for this version