diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ce2850b1a2..051c841ca31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,124 @@ # Changelog +## icu4x 1.2 (Apr 13, 2023) + +- 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` 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 + + ## icu4x 1.1 (Jan 26, 2023) * `icu_calendar`