owned this note
owned this note
Published
Linked with GitHub
# ICU4X 1.2 changelog
- General
- All updated crates:
- Add missing `Debug` impls (#3206)
- Update Rust edition to 2021 (#3075)
- Internal clippy fixes
- Unless otherwise specified, all crate updates are to version 1.2.
- Out-of-cycle releases do not get their own changelog entries, so some entries may span multiple patch or pre-1.0 minor versions.
- Data model and providers
- `icu_provider`:
- Add support for silencing expected `DataError`s (#3262)
- Removing `dhat` dependency (#3138)
- Make trait `DataMarker: 'static` (#3137)
- `icu_datagen`: (includes patch updates 1.1.1 and 1.1.2)
- (lib) Add `Out::Baked` and `BakedOptions`; deprecate `Out::Module` (#3130)
- (cli) Bump clap to 4.0, move to using derive (#3149)
- Pare down datagen deps (#3160)
- Support changes from CLDR 43 (#3182, #3201, #3204, #3205)
- Add support for complemented range iterators (#3198)
- Using byte string literals in databake (#3040)\
- Datagen support for all new component features
- (performance) Less `ZeroMap` mutation in datagen (#3098)
- `icu_provider_adapters`: No other changes
- `icu_provider_blob`: No other changes
- `icu_provider_fs`:
- Remove sha2 dep (#3160)
- `icu_provider_macros`: No other changes
- Components:
- Cross component: No additional cross-component changes
- `icu_calendar`
- Document the bounds of `IsoSecond`, `Minute` and `Hour` (#3156)
- `icu_collator`: No other changes
- `icu_collections`:
- Add `to_u32` for TrieValue (#3222)
- Add `CPT::try_alloc_map_value` (#3207)
- Add support for coalescing range iterators (#3198)
- Allow inversion lists to be built from ranges that include `char::MAX` (#3203)
- `icu_datetime`: No other changes
- `icu_decimal`
- Add `From<GroupingStrategy>` for `FixedDecimalFormatterOptions` (#3045)
- `icu_list`
- `ListJoinerPattern::from_parts_unchecked()` is now `from_parts()` and panics when necessary (#3052)
- `icu_locid`
- Reduce size of internal `ShortVec` abstraction (#3200)
- Use `Box` in place of `Vec` in `ShortVec` (#3220)
- `icu_locid_transform`
- The default set of likely subtags is now only the subset of languages that have a basic or greater CLDR coverage level; the full set is much larger in CLDR 43 and can be accessed via new constructors (#3148, #3158, #3197)
- `icu_normalizer`: No other changes
- `icu_plurals`: No other changes
- `icu_properties`
- Add ability to obtain enumerated property value names from enum values (#3222, #3276)
- Add ability to obtain enumerated property values from their names (#3103, #3152)
- Add support for runtime-selected property lookup (#3169)
- Add support for complemented range iterators (#3198)
- Support data for Bidi properties with combined data structure (#3026, #3258)
- `icu_segmenter`
- Graduated from experimental
- Add "auto" feature, enable "lstm" feature, establish new data key structure, improve error handling, and revise word and line segmenter constructors (#3010, #3267, #3270)
- Rename `icu_segmenter` enums (#3285)
- Allow access to rule status via word_type in WordSegmenter and over FFI (#3139, #3275)
- Upgrade segmenter to Unicode 15.0.0 (#3273)
- Return a line break at index 0 (#3289)
- Improve the LSTM code and data model to be zero copy, improve error handling, be future-proof, and vectorize more operations (#3210, #3217, #3233, #3250, #3254, #3264, #3291)
- Remove ndarray dependency (#3192)
- Silencing expected `DataError`s (#3262)
- Fix SB10 rule (#3126)
- Polished docs and examples
- `icu_timezone`: No other changes
- (verify that no components were missed)
- Utils:
- `crlify`: No change (still at 1.0.1)
- `databake`: 1.1.3 -> 1.1.4
- Using byte string literals in databake (#3040)
- `deduplicating_array`: 0.1.3 -> 0.1.4
- `fixed_decimal`: 0.5.2 -> 0.5.3
- `litemap`: 0.6.1 -> 0.7.0
- Move FromIterator impl to new `StoreFromIterable` trait, allowing constructing `LiteMap`s with different backing stores (#3220)
- `pattern`: 0.1.3 -> 0.1.4
- `tinystr`: No change (still at 0.7.1)
- `tzif`: No change (still at 0.2.1)
- `writeable`: 0.5.1 -> 0.5.2
- `yoke`: 0.7.0 -> 0.7.1
- `yoke-derive`: 0.7.0 -> 0.7.1
- `zerofrom`: 0.1.1 -> 0.1.2
- `zerofrom-derive`: 0.1.1 -> 0.1.2
- `zerovec`: 0.9.2 -> 0.9.4
- Add initial ZeroHashMap (#2579)
- Add `ZeroSlice::get_as_array()` (#3192)
- Add range dep of yoke to zerovec (#3089)
- `zerovec-derive`: 0.9.2 -> 0.9.4
- Add `#[zerovec::derive(Hash)]` (#2579)
- Avoid using derive on autogenerated packed types (#3069)
- FFI:
- Feature support
- Property value-to-name mappings (#3196)
- `UnicodeSets` (including exemplar chars) (#3177)
- Runtime-selected property lookup (#3169)
- Property lookup ranges and GeneralCategoryGroup (#3230)
- LocaleExpander: Add extended and non-extended constructors (#3197)
- Fill in `BreakIterator` API (#3275)
- Bidi reorder_visual (#3183)
- (experimental) Strongly typed display names API (#3190, #3188)
- Add feature slicing to `icu_capi` (#3216)
- Better FFI provider ownership (#3140)
- Experimental:
- `bies`: 0.2.0 -> 0.2.1
- `icu_casemapping`: 0.7.1 -> 0.7.2
- `icu_compactdecimal`: 0.1.0 -> 0.2.0
- Support configurable grouping separators in CompactDecimalFormatter (#3045)
- `icu_displaynames`: 0.8.0 -> 0.10.0
- Add ScriptDisplayNames (#3317)
- Add LangaugeDisplayNames with support for variants (#3058, #3113)
- Add stronger typing (#3190)
- `icu_harfbuzz`: New experimental port: Harfbuzz integration for ICU4X (v0.1.0)
- `ixdtf`: 0.0.0 -> 0.0.1
- `icu_relativetime`: 0.1.0 -> 0.1.1