Skip to content

Conversation

@Manishearth
Copy link
Member

I made a small mistake in the release: most crates got published without an updated dep on icu_locale_core and icu_provider. What happened was that when I updated crate deps I updated the section for ICU4X crates, but those crates are in a different Cargo.toml "section" and they didn't get an update (I plan to improve the release checklist to avoid this problem in the future, it has never been clear about this step).

These crates don't use ~ deps unlike the rest (see #4343), which is why they are separate.

This breaks clients who depend directly on a component crate or metacrate (say, icu_calendar), and they update that: this leads to combinations like icu_locale_core 2.0.0 with writeable 0.6.2.

ICU4X 2.0 had broken no-alloc support, which meant that it claimed to support no-alloc but in practice it didn't work. But the crates successfully compiled together. ICU4X 2.1 fixes this. Unfortunately, ICU4X 2.1 "fixed" no-alloc crates will not work with ICU4X 2.0 "broken" no-alloc crates.

To prevent people from getting inconsistent lockfiles, we just globally publish 2.1.1.

A more surgical alternative is to publish 2.1.1 only for component crates (not for provider/etc crates which people will not depend on directly anyway).

@Manishearth Manishearth requested a review from a team as a code owner October 28, 2025 17:38
@Manishearth Manishearth merged commit 38a49da into unicode-org:main Oct 28, 2025
30 checks passed
@Manishearth Manishearth deleted the icu4x-21 branch October 28, 2025 18:03
Manishearth added a commit that referenced this pull request Nov 5, 2025
#7192)

`cargo workspaces publish --from-git` works quite well and we should
emphasize it more.

Also included substeps for version updating around dependency updates
that ought to avoid problems like
#7191.

---------

Co-authored-by: Robert Bastian <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants