|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
| 5 | +Current changelog is accurate up to 8371b92075c90a689b6eb0a094bc6f15c19f364a |
| 6 | + |
5 | 7 | - Components |
6 | 8 | - General |
| 9 | + - Update MSRV to 1.83 (unicode-org#7066) |
| 10 | + - Bump default toolchain (not MSRV) to 1.89 (unicode-org#6818) |
| 11 | + - Remove unused dependencies (unicode-org#6978) |
| 12 | + - Use `#[expect]` for clippy lints (unicode-org#6700) |
| 13 | + - Use `serde_core` where possible (unicode-org#6991) |
7 | 14 | - `icu_calendar` |
8 | | - - Fix `und-SA-u-ca-islamic` (unicode-org#6736) |
| 15 | + - Add `Date::try_from_fields` for flexibly building Temporal dates (unicode-org#6910) |
| 16 | + - (unstable) Implement date arithmetic according to Temporal specification (unicode-org#6992, unicode-org#7012) |
| 17 | + - Collapse `Dangi` and `Chinese` into `LunarChinese`, expose (unstable) customization trait (unicode-org#6938) |
| 18 | + - Collapse Hijri calendar types, expose (unstable) `Rules` trait for customization (unicode-org#6935) |
| 19 | + - Add a lot more documentation on individual calendars (unicode-org#7016, unicode-org#7033, unicode-org#7036, unicode-org#7037, unicode-org#7047, unicode-org#7082) |
| 20 | + - Add Easter holiday to `Gregorian` and `Julian` (unicode-org#6899) |
| 21 | + - Implement `PartialOrd` for `Date` unconditionally (unicode-org#7090) |
| 22 | + - Add first weekday preference to week preferences (unicode-org#6615) |
| 23 | + - Make `extended_year` quite consistent (unicode-org#6800, unicode-org#6937) |
| 24 | + - Fix `und-SA-u-ca-islamic` (unicode-org#6736) |
| 25 | + - Add RataDie::in_well_behaved_astronomical_range(), use to avoid panics (unicode-org#6876) |
| 26 | + - Improve some Gregorian calendar code (unicode-org#6870) |
| 27 | + - Hardcode precomputed calendar data (unicode-org#6934, unicode-org#7008) |
| 28 | + - Compare Chinese calendar against Hong Kong observatory (unicode-org#6944) |
| 29 | + - Test Korean calendar against KASI (unicode-org#7041) |
| 30 | + - Implement Ethiopian in terms of Coptic (unicode-org#6952) |
| 31 | + - Unify implementations of Iso, Gregorian, ROC, Buddhist, Japanese (unicode-org#6975) |
| 32 | + - Optimise `day_of_provided_year`, `date_from_provided_year_day` for ISO/Gregorian (unicode-org#6883) |
| 33 | + - `icu_casemap` |
| 34 | + - General changes only |
| 35 | + - `icu_collator` |
| 36 | + - Make merge separator compare less than U+0000 on the identical strength (unicode-org#6814) |
| 37 | + - Fix several incorrect type inferences in sort key code (unicode-org#6708) |
| 38 | + - Add Latin1 comparisons to the collator (unicode-org#6674) |
| 39 | + - Minor collation key improvements (unicode-org#6656) |
| 40 | + - Port BOCSU algorithm from ICU4C for identical level sort keys (unicode-org#6823) |
| 41 | + - Avoid double-validating `char`s (unicode-org#6924) |
| 42 | + - `icu_collections` |
| 43 | + - Allow building without the `alloc` crate (unicode-org#6997) |
| 44 | + - Optimize `CodePointTrie` by hoisting fast path bound checks to constructor (unicode-org#6863) |
| 45 | + - Make trivial constructors for Char16Trie / Char16TrieIterator inline-eligible (unicode-org#6864) |
| 46 | + - `icu_datetime` |
| 47 | + - Add `Preferences::from_locale_strict` (unicode-org#6737) |
| 48 | + - Change short localized offset format to use +0 (unicode-org#6729) |
| 49 | + - Fix `und-SA-u-ca-islamic` (unicode-org#6736) |
| 50 | + - Use atTime patterns where available (unicode-org#7106) |
| 51 | + - Disambiguate inconsistent metazones (unicode-org#6755) |
| 52 | + - Remove Western Africa Time variant names (unicode-org#6779) |
| 53 | + - Implement `u` and `g` fields (unicode-org#6930) |
| 54 | + - Use accurate `ZoneNameTimestamps` (unicode-org#6942) |
| 55 | + - Improve formatting for Etc/GMT+X zones (unicode-org#7055) |
| 56 | + - `icu_decimal` |
| 57 | + - General changes only |
| 58 | + - `icu_experimental`: `0.3.0 -> 0.4.0` |
| 59 | + - `units` |
| 60 | + - Refactor measure unit parser by using fixed unit ids (unicode-org#6683) |
| 61 | + - `measure` |
| 62 | + - End-to-End Categorized Units Formatter with sliced data (Core / Extended / Outlier) (unicode-org#6830) |
| 63 | + - Add short representation generator for MeasureUnit (unicode-org#6685) |
| 64 | + - Add `CategorizedFormatter` for unit formatting (unicode-org#6710) |
| 65 | + - Introduce `duration` category for measure units (unicode-org#6676) |
| 66 | + - Add category module for measure units with associated traits and implementations (unicode-org#6535) |
| 67 | + - Add UnitsIdsV1 to support the fundamental units' indices (unicode-org#6598) |
| 68 | + - `relativetime` |
| 69 | + - Fix relativetime preferences to observe numbering system (unicode-org#6928) |
| 70 | + - `dimension` |
| 71 | + - Migrate PercentEssentials to VarZeroCow; add test for #4662 (unicode-org#6716) |
| 72 | + - Refactor currency provider structure (unicode-org#6732) |
| 73 | + - `icu` |
| 74 | + - Move examples into metacrate (unicode-org#6591) |
| 75 | + - `icu_list` |
| 76 | + - General changes only |
| 77 | + - `icu_locale` |
| 78 | + - General changes only |
| 79 | + - `icu_locale_core` |
| 80 | + - Allow building without the `alloc` crate (unicode-org#6997) |
| 81 | + - Implement Serialize and Deserialize for Locale (unicode-org#6829) |
| 82 | + - Add `Preferences::from_locale_strict` (unicode-org#6737) |
| 83 | + - `icu_normalizer` |
| 84 | + - Permit enabling optimizations when the data is known at compile time to always be a fast trie (unicode-org#6906) |
| 85 | + - Performance work counteracting a compiler regression (unicode-org#6825) |
| 86 | + - Jump forward throwing away work instead of panic in release builds (unicode-org#6816) |
| 87 | + - `icu_pattern` |
| 88 | + - General changes only |
| 89 | + - `icu_plurals` |
| 90 | + - Change debug output of PluralElementsPackedULE (unicode-org#6841) |
9 | 91 | - `icu_properties` |
10 | | - - Add support for missing binary properties: |
11 | | - - ID_Compat_Math_Continue |
12 | | - - ID_Compat_Math_Start |
13 | | - - IDS_Unary_Operator |
14 | | - - Modifier_Combining_Mark |
| 92 | + - Allow building without the `alloc` crate (unicode-org#6997) |
| 93 | + - Optimize property map lookups (unicode-org#6886) |
| 94 | + - Add support for missing binary properties: |
| 95 | + - ID_Compat_Math_Continue |
| 96 | + - ID_Compat_Math_Start |
| 97 | + - IDS_Unary_Operator |
| 98 | + - Modifier_Combining_Mark |
| 99 | + - `icu_segmenter` |
| 100 | + - Experimental (internal) code for convolutional neural network segmenter (unicode-org#6877) |
| 101 | + - `icu_time` |
| 102 | + - Deprecate `VariantOffsetCalculator` (unicode-org#6905) |
| 103 | + - Deprecate time zone variant APIs (unicode-org#6754) |
| 104 | + - Move `TimeZoneVariant` to provider module (unicode-org#6822) |
| 105 | + - Treat `Etc/GMT+x` as a raw offset, improve formatting (unicode-org#7055) |
| 106 | + - Store offset periods as UTC (unicode-org#6746) |
| 107 | + - Align rearguard metazone variant overrides with CLDR (unicode-org#6896) |
| 108 | + - Use accurate `ZoneNameTimestamps` (unicode-org#6942) |
| 109 | + - Optimize DST offsets using a lookup table (unicode-org#6765) |
| 110 | + - Model `America/Punta_Arenas` as permanent DST in Chile metazone (unicode-org#6772) |
15 | 111 | - Data model and providers |
16 | | - - ... |
| 112 | + - `icu_provider_baked` |
| 113 | + - Expose const structs in baked data (unicode-org#6652) |
| 114 | + - `icu_provider` |
| 115 | + - Allow building in no-alloc mode (unicode-org#6997) |
| 116 | + - `icu4x-datagen` |
| 117 | + - Don't require sources to be set in `icu4x-datagen` (unicode-org#6892) |
| 118 | + - `icu_provider_source` |
| 119 | + - Update to CLDR 48 CLDR (unicode-org#6793, #6989, #7046) |
| 120 | + - Don't complain about not covering `Factory` timezone in datagen (unicode-org#6768) |
| 121 | + - Fix rearguard difference detection logic (unicode-org#6943) |
| 122 | + - Detect rearguard TZDB differences (unicode-org#6749) |
| 123 | + - Include metazone periods before the horizon if the metazone is included anyway (unicode-org#6747) |
| 124 | + - Handle locales without `territories.json`, locales with inconsistent patterns (unicode-org#6709) |
17 | 125 | - FFI |
18 | 126 | - `icu_capi` |
19 | 127 | - All C++ enums now default to a valid value; which is the `Default` impl where there is one, and some semi-logical value otherwise. This has changed defaults in some cases and may cause a behavioral change for people relying on C++ default constructors. (unicode-org#6692) |
| 128 | + - Wasm code now uses the stable standard `wasm-c-abi=spec` (unicode-org#6679) |
| 129 | + - DataProvider constructor for JS/Dart (unicode-org#6596) |
| 130 | + - Enable experimental code in NPM (unicode-org#6743) |
| 131 | + - Allow consumers to determine bindings directories (unicode-org#6887) |
| 132 | + - Document deprecated APIs (unicode-org#6890) |
| 133 | + - FFI for most new APIs |
20 | 134 | - `ListFormatter::format` now takes a `diplomat::span<const diplomat::string_view_for_slice>` instead of a `diplomat::span<std::string_view>` to handle soundness issues on some platforms (unicode-org#6974) |
21 | 135 | - Utils |
22 | 136 | - General |
|
26 | 140 | - `bies`: `0.2.4 -> 0.2.5` |
27 | 141 | - General changes only |
28 | 142 | - `calendrical_calculations`: `0.2.2 -> 0.2.3` |
29 | | - - Add RataDie::in_well_behaved_astronomical_range(), use to avoid panics (#6876) |
| 143 | + - Add RataDie::in_well_behaved_astronomical_range(), use to avoid panics (unicode-org#6876) |
30 | 144 | - `crlify`: No change |
31 | 145 | - `databake`: No change |
32 | 146 | - `databake_derive`: `0.2.0 -> 0.2.1` |
|
47 | 161 | - `tzif`: `0.4.0 -> 0.4.1` |
48 | 162 | - General changes only |
49 | 163 | - `writeable`: `0.6.1 -> 0.6.2` |
50 | | - - Make `writeable` no-alloc (unicode-org#6985) |
| 164 | + - Allow building without the `alloc` crate (unicode-org#6985) |
51 | 165 | - `yoke`, `yoke_derive`: `0.8.0 -> 0.8.1` |
52 | 166 | - Add four `map_with_cart` methods to `yoke::Yoke`, similar to `Yoke::map_project` but |
53 | 167 | additionally providing a reference to the cart. (unicode-org#6781) |
|
57 | 171 | - `zerofrom`, `zerofrom_derive`: No change |
58 | 172 | - `zerotrie`: `0.2.2 -> 0.2.3` |
59 | 173 | - Use `serde_core` (unicode-org#6991) |
60 | | - - Internal docs and lints (#6740) |
| 174 | + - Internal docs and lints (unicode-org#6740) |
61 | 175 | - Fix test failures in zerotrie on 32-bit platforms (unicode-org#6697) |
62 | 176 | - `zerovec`: `0.11.4 -> 0.11.5` |
63 | 177 | - Write a proper safety comment for ZeroVec::truncate (unicode-org#6809) |
@@ -100,8 +214,8 @@ Several crates have had patch releases in the 2.0 stream: |
100 | 214 | - (0.6.0) Reject empty durations when parsing ISO8601 durations (unicode-org#6718) |
101 | 215 | - (0.6.0) Handle ambiguous time parsing with MonthDay and YearMonth in `ixdtf` (unicode-org#6717) |
102 | 216 | - (0.6.1) Fix is_valid_month_day argument ordering bug (unicode-org#6756) |
103 | | - - (0.6.2) Offset must have a sign (#6763) |
104 | | - - (0.6.2) Correctly handle ambiguous annotations (#6776) |
| 217 | + - (0.6.2) Offset must have a sign (unicode-org#6763) |
| 218 | + - (0.6.2) Correctly handle ambiguous annotations (unicode-org#6776) |
105 | 219 | - `potential_utf` |
106 | 220 | - (0.1.3) Add `.chars()` to `PotentialUtf16` (unicode-org#6726) |
107 | 221 | - `zerovec`: |
@@ -148,7 +262,7 @@ Some major changes worth highlighting: |
148 | 262 | - Remove `prev_year` info (unicode-org#6382) |
149 | 263 | - Use regions, not languages, for calendar algorithm defaults (unicode-org#6325) |
150 | 264 | - Hide week-of-month, non-iso week-of-year (unicode-org#6319) |
151 | | - - Expose `Date` to/from `RataDie` (#6369) |
| 265 | + - Expose `Date` to/from `RataDie` (unicode-org#6369) |
152 | 266 | - `icu_casemap` |
153 | 267 | - Add borrowed types (`CaseMapperBorrowed`, etc) to icu_casemap (unicode-org#6353) |
154 | 268 | - `icu_collator` |
@@ -200,15 +314,15 @@ Some major changes worth highlighting: |
200 | 314 | - Reduce trait complexity (unicode-org#6417) |
201 | 315 | - Reorganize module structure (unicode-org#6409, unicode-org#6441) |
202 | 316 | - Add borrowed versions of segmenter types (unicode-org#6395) |
203 | | - - Update UAX#29 text segmenter data rules to 16.0. (#6367) |
| 317 | + - Update UAX#29 text segmenter data rules to 16.0. (unicode-org#6367) |
204 | 318 | - `icu_time` |
205 | 319 | - A lot of things have changed, it is preferable to reacquaint oneself with this crate from the ground up. |
206 | | - - Various refactors for comprehensibility (#6460) |
207 | | - - Rename `ZonedDateTime::try_from_str` to `try_full_from_str` (#6506) |
208 | | - - Add type `ZoneNameTimestamp` for time zone display names (#6513) |
209 | | - - `from_epoch_milliseconds_and_utc_offset` and follow-ups (#6515) |
210 | | - - Add `Time::noon()` (#6536) |
211 | | - - Make `DateTime`, `ZonedDateTime` `Clone` and `Copy` (#6527) |
| 320 | + - Various refactors for comprehensibility (unicode-org#6460) |
| 321 | + - Rename `ZonedDateTime::try_from_str` to `try_full_from_str` (unicode-org#6506) |
| 322 | + - Add type `ZoneNameTimestamp` for time zone display names (unicode-org#6513) |
| 323 | + - `from_epoch_milliseconds_and_utc_offset` and follow-ups (unicode-org#6515) |
| 324 | + - Add `Time::noon()` (unicode-org#6536) |
| 325 | + - Make `DateTime`, `ZonedDateTime` `Clone` and `Copy` (unicode-org#6527) |
212 | 326 | - Data model and providers |
213 | 327 | - General |
214 | 328 | - Remove explicit icu_locale/icu_provider_baked deps from baked data (unicode-org#6340) |
|
0 commit comments