Up to 56afe569
Reading prior state from /home/manishearth/dev/sand/changelog.json
# Crates
=====================
## General
- Replace `experimental` features with `unstable` features (unicode-org#7566)
- Update MSRV to 1.86 (unicode-org#7576)
- Add categories and keywords to Cargo.toml for all components (unicode-org#7737)
## calendrical_calculations
- Change some functions to `const` (unicode-org#7524)
- New `const` APIs: `gregorian::gregorian_from_fixed()`, `gregorian::easter()`
- Changed `Location::try_new` from `pub(crate)` to `pub` (unicode-org#7775)
- New Methods: `Location::try_new()`
- New errors: `LocationOutOfBoundsError`
## demo
- Support deep links to the WASM demo (unicode-org#7567)
## ffi
- Optimize Date storage by avoiding Arc (unicode-org#7434)
- Rename `is_normalized[_up_to]()` to `is_normalized_utf8()` on `DecomposingNormalizer` (unicode-org#7183)
## icu4x-datagen
- Add `--ucd-tag` and `--unihan-root` flags (unicode-org#7504)
- Improve error messages (unicode-org#7598)
- Add `latest-tag` value for tag arguments (unicode-org#7599)
## icu_calendar
- Replace `JapaneseExtended` with reexport of `Japanese`, since CLDR no longer includes pre-Meiji eras. (unicode-org#7322)
- Use UmmAlQura under the hood for AstronomicalSimulation. (unicode-org#7342)
- Clients wishing to use the Reingold simulation are encouraged to write their own implementation of `hijri::Rules` using code from `calendrical_calculations`.
- Optimize `Japanese` data storage, making `Japanese` no longer need to persist loaded data. (unicode-org#7323)
- Deprecate `AstronomicalSimulation` (use `UmmAlQura` or a custom calendar instead) (unicode-org#7455)
- Deprecate `Date::extended_year()` (use `Date::year().extended_year()`) (unicode-org#7289)
- Start producing Meiji era only after Meiji 6 (unicode-org#7503)
- Add constructors with `Month` for lunisolar calendars (unicode-org#7485)
- New methods: `Date::try_new_korean_traditional()`, `Date::try_new_chinese_traditional()`, `Date::try_new_hebrew_v2()`
- Reject date strings with invalid calendar annotations (unicode-org#7626)
- Expose `LeapStatus` on `MonthInfo` (unicode-org#7667)
- New method: `MonthInfo::leap_status()`
- New enum: `LeapStatus`
- Introduce year/date ranges to all APIs, documented on the APIs themselves. `Date` now has a fundamental range (ISO years between ±999,999), and most constructors enforce a stricter range of ±9999 years for input years. (unicode-org#7676)
- Integrate with `chrono`, `jiff`, and `time` (unicode-org#7617)
- New impls: `From<chrono::NaiveDate>`, `From<jiff::civil::Date>`, `From<time::Date>` for `Date<Gregorian>`
- Improve efficiency of `until()` by starting year/month calculations at a guaranteed minimum bound (unicode-org#7682)
- Add getter returning `Month` from a `MonthInfo` (unicode-org#7756)
- New method: `MonthInfo::to_input()`
- Improve validation in scenarios where you may try comparing dates from different calendars. `PartialEq` and `PartialOrd` on two different `HijriTabular` calendars will now produce `None`. (unicode-org#7734)
- Add `Date::try_from_codes`, which replaces `Date::try_new_from_codes`, and takes typed year/month values. (unicode-org#7764)
- New methods: `Date::try_from_codes` (and primarily-internal `Calendar::from_codes2`)
- New types: `InputYear`, `DateFromCodesError`
- Speed up `until` year and month field handling by 75% on average by optimizing `surpasses` calculation (unicode-org#7745)
- Add `Date::try_new`, which replaces `Date::try_new_from_codes`, and takes typed year/month values. (unicode-org#7773)
- New methods: `Date::try_new` (and primarily-internal `Calendar::new_date`)
- New types: `InputYear`, `DateNewError`
- Handle possible Overflow values on individual calendars (unicode-org#7795)
## icu_capi
- Expose `Date::is_in_leap_year()` (unicode-org#7518)
- Expose `PluralRulesWithRanges` (experimental) over FFI (unicode-org#7481)
- Expose a compiled data version of `CaseMapper::titlecase_segment_with_only_case_data()` (unicode-org#7595)
- Expose `ZonedDateTimeFormatter::format_same_calendar()` over FFI (unicode-org#7645)
- Add FFI type CaseMapLocaleConsts for cheap casemapping from known locale tailorings. (unicode-org#7642)
- Expose BCP-47 locale variant APIs over FFI (unicode-org#7519)
- New methods: `variants()`, `variant_count()`, `variant_at()`, `has_variant()`, `remove_variant()`, `clear_variants()` on `Locale`
## icu_codepointtrie_builder
- Add more ways of specifying code point trie data. (unicode-org#7541)
- New variants: `CodePointTrieBuilderData::ByCodePoint`, `CodePointTrieBuilderData::Map`
- New trait impl: `Debug for CodePointTrieBuilderData`
- (Breaking) Actually make `CodePointTrieBuilder` a builder type. This API has changed significantly, please look at the docs for the new API. (unicode-org#7581)
- Optimize by using `umutablecptrie_setRange` (unicode-org#7584)
## icu_collator
- Document considerations related to lowering the collation strength from the default (unicode-org#6662)
- (Optimization) Avoid tagging Hangul syllable in collation data (unicode-org#7540)
## icu_datetime
- Use appropriate date/time/zone glue patterns based on appendItems (unicode-org#7416)
- Optimize `Japanese` era storage, cutting down era name size by 20kb. (unicode-org#7323)
- Add support for Clock12 and Clock24 hour cycles (unicode-org#7414)
- Add AM/PM getters on `FixedCalendarDateTimeNames` (unicode-org#7127)
- New methods: `FixedCalendarDateTimeNames::get_am()`, `FixedCalendarDateTimeNames::get_pm()`
- Use month number instead of ordinal month in formatting (unicode-org#7574)
- Support formatting without era field (unicode-org#7606)
- New variant: `YearStyle::NoEra`
- Integrate with `chrono`, `jiff`, and `time` (unicode-org#7617)
- New impls: Various scaffolding traits on `chrono::NaiveDate`, `jiff::civil::Date`, and `time::Date`, making them formattable.
- Allow formatting `Weekday` (unicode-org#7719)
- New trait impls: `InSameCalendar` and `ConvertCalendar` on `UtcOffset` and `Weekday`
- Don't expose CLDR's Hebrew month numbering during formatting (unicode-org#7728)
- Reduce data size by storing leap patterns where possible (unicode-org#7666)
## icu_decimal
- Move `CompactDecimalFormatter` (experimental) to this crate (unicode-org#7565)
- (Experimental) Consider numbering system in compact formatter (unicode-org#7543)
## icu_experimental/currency
- Don't produce empty compact currency data (unicode-org#7494)
## icu_experimental/displaynames
- Adds new data markers for display names using attributes for better slicing (unicode-org#7692)
## icu_experimental/transliterator
- Fix UB caused in partially-written unwind states by using checked UTF-8 conversion instead of `from_utf8_unchecked` (unicode-org#7781)
## icu_locale_core
- Deprecate `LanguagePreferences` field accessors (unicode-org#7401)
- Add parsing for `-u-hc-c12` and `-u-hc-c24` (unicode-org#7414)
- Add better docs on the relationship between Locale and DataLocale (unicode-org#7382)
- Disallow `true` in multi-level preference values (unicode-org#7471)
- Match preferences on full value. This removes fallback behavior from e.g. `u-ca-gregory-foobar` to `-u-ca-gregory`. See [CLDR-19229](https://unicode-org.atlassian.net/browse/CLDR-19229). (unicode-org#7477)
- Add locale variant mutation APIs (unicode-org#7519)
- New methods: `Variants::push()`, `Variants::remove()`
## icu_normalizer
- Expose the UTS 46 virama check using UTS 46 data (unicode-org#7507)
## icu_plurals
- Handle large-magnitude numbers being converted to PluralOperands (unicode-org#7502)
## icu_properties
- Add buffer provider constructors for all property APIs (unicode-org#7384)
- New methods: `CodePointMapData::try_new_with_buffer_provider()`, `CodePointSetData::try_new_with_buffer_provider()`, `EmojiSetData::try_new_with_buffer_provider()`
- Improve performance of property name lookup (unicode-org#7623)
## icu_provider_source
- Allow specifying UCD/Unihan source (unicode-org#7504)
- New methods: `SourceDataProvider::with_unihan_for_tag()`, `SourceDataProvider::is_missing_unihan_error()`
- Update to CLDR 48.2-BETA0 (unicode-org#7681)
- Update tzdb to 2026a (unicode-org#7729)
- Adds code to generate the new markers in icu_experimental/displaynames (unicode-org#7692)
## icu_segmenter
- Add methods to load LSTM or dictionary data for existing segmenters (unicode-org#7590)
- New methods on `LineSegmenter` and `WordSegmenter`: `with_lstm_unstable()`, `with_lstm_with_buffer_provider()`, `with_dictionary_unstable()`, `with_dictionary_with_buffer_provider()`
- New mthods on `LineSegmenterBorrowed` and `WordSegmenterBorrowed`: `with_lstm()` and `with_dictionary()`
## icu_time
- Make `UtcOffset::try_from_str()`, `try_from_seconds()`, `try_from_utf8()` const (unicode-org#7536)
- Fix overflow in `from_epoch_milliseconds_and_utc_offset()` (unicode-org#7604)
- Add compiled data constructors for TimeZone (unicode-org#7639)
- New methods: `TimeZone::from_iana_id()`, `::from_windows_id()`, `::from_system_id()`.
- Reduce unnecessary checks during `ZonedDateTime` parsing. (unicode-org#7631)
- Add ZonedTime for representing and formatting times with zones (unicode-org#7532)
- New type: `ZonedTime`
- Handle permanent DST (unicode-org#7731)
- Add constructor for ZoneNameTimestamp from a timestamp (unicode-org#7720)
- New methods: `ZoneNameTimestamp::from_epoch_seconds()`
- Make some `ZonedDateTime<Iso, UtcOffset>` functions generic in calendar (unicode-org#7630)
## ixdtf
- Expose encoding type trait (unicode-org#7316)
- New traits: `EncodingType`
## meta
- updated to CLDR 48.2 (unicode-org#7792)
## resb
- Support big-endian platforms (unicode-org#7658)
- Fix UB around alignment check (unicode-org#7779)
## tinystr
- Add more constructors to UnvalidatedTinyAsciiStr (unicode-org#7664)
- New methods: `UnvalidatedTinyAsciiStr::try_from_utf8()`
- New associated const: `TinyAsciiStr::EMPTY`
- Fix UB in `TinyAsciiStr::from_utf8_lossy` and `from_utf16_lossy`: validate that the replacement byte is ASCII (unicode-org#7783)
## yoke
- Handle potential UB around panicky callbacks in `replace_cart` (unicode-org#7456)
## yoke_derive
- Improve soundness in `derive(Yokeable)` (unicode-org#7470)
- Support more types in `derive(Yokeable)` (unicode-org#7498)
## zerotrie
- Advertise that the core abstractions in this crate use safe Rust (unicode-org#6915)
- Fix minor unsoundness due to assumptions on the layout of tuples (unicode-org#7748)
## zerovec
- Add more `const` constructors for converting ULE types to integers and floats (unicode-org#7433)
- New methods: `RawBytesULE::as_signed_int(), as_float()`
# PRs with additional notes
=====================
## Correctly check the RD range for Date::try_from_fields and Date::try_add* (https://github.com/unicode-org/icu4x/pull/7676)
For this PR, https://github.com/unicode-org/icu4x/pull/7062, and https://github.com/unicode-org/icu4x/pull/7629
## Add `chrono` and `jiff` integrations (https://github.com/unicode-org/icu4x/pull/7617)
This PR and https://github.com/unicode-org/icu4x/pull/7711
## Rename Date::try_from_codes to Date::try_new (https://github.com/unicode-org/icu4x/pull/7773)
This is a modification of the changelog in https://github.com/unicode-org/icu4x/pull/7764, both PRs should be included in the changelog entry
## Add tests for date add reject behavior (https://github.com/unicode-org/icu4x/pull/7787)
N/A (tests only)
# no changelog found
=====================
## Fix semver CI (https://github.com/unicode-org/icu4x/pull/7473)
It broke itself by using the stable toolchain but not being compatible with today's stable toolchain (https://github.com/obi1kenobi/cargo-semver-checks/issues/1526)
This makes it use the toolchain from `rust-toolchain.toml`, so it won't be broken by the passage of time again.
## Don't allow pushing a `true` tag into `Value` (https://github.com/unicode-org/icu4x/pull/7476)
That breaks the invariant that the `Value` is in canonical form.
See #6698
## Remove `YearInfo: PartialEq` bound (https://github.com/unicode-org/icu4x/pull/7743)
There's code that compares whole `YearInfo`s when it should be comparing extended years.
## Make min_months invariant no longer a hard invariant for Chinese/Korean (https://github.com/unicode-org/icu4x/pull/7753)
This is one way of resolving (some of?) @robertbastian's concerns from https://github.com/unicode-org/icu4x/pull/7739
## Change nesting of `atTime` and zone `appendItems` (https://github.com/unicode-org/icu4x/pull/7755)
Follow up https://github.com/unicode-org/icu4x/pull/7416
The time zone should be appended to the time, not to the joined `atTime` result: https://unicode-org.atlassian.net/browse/CLDR-19226
## Use `YearNames::FixedEras` for Japanese (https://github.com/unicode-org/icu4x/pull/7700)
I've marked this API breaking because it breaks new-data-old-code. We either wait until 3.0 or introduce a new data marker, that might be worth it for a 26kB size reduction.
# Potentially misformatted (double check please!)
=====================
- Replace ByteStr with SliceWithIndices and SerdeByteStr (https://github.com/unicode-org/icu4x/pull/7748)
- Make some `ZonedDateTime<Iso, UtcOffset>` functions generic in calendar (https://github.com/unicode-org/icu4x/pull/7630)
# N/A
=====================
- Compartmentalise decimal formatting code (https://github.com/unicode-org/icu4x/pull/7411)
- Write comprehensive changelog for code in ICU4X so far; add more changelog docs (https://github.com/unicode-org/icu4x/pull/7430)
- Progress on compact currency (https://github.com/unicode-org/icu4x/pull/7438)
- Apply lints more consistently (https://github.com/unicode-org/icu4x/pull/7451)
- Organize neo datetime provider code (https://github.com/unicode-org/icu4x/pull/7429)
- Move some lints to the workspace (https://github.com/unicode-org/icu4x/pull/7452)
- Pattern should always be VarULE (https://github.com/unicode-org/icu4x/pull/7440)
- Improve Iran sightings example (https://github.com/unicode-org/icu4x/pull/7449)
- Enable `clippy::doc_markdown` (https://github.com/unicode-org/icu4x/pull/7457)
- More clippy (https://github.com/unicode-org/icu4x/pull/7459)
- Revert "More clippy" (https://github.com/unicode-org/icu4x/pull/7461)
- Enable `clippy::unused_qualifications` (https://github.com/unicode-org/icu4x/pull/7460)
- Bump lodash from 4.17.21 to 4.17.23 in /ffi/npm (https://github.com/unicode-org/icu4x/pull/7468)
- Bump glob from 10.4.5 to 10.5.0 in /tools/web-demo (https://github.com/unicode-org/icu4x/pull/7252)
- Bump js-yaml from 3.14.1 to 3.14.2 in /ffi/npm (https://github.com/unicode-org/icu4x/pull/7249)
- Add a few more Hijri docs (https://github.com/unicode-org/icu4x/pull/7467)
- ZeroTrie const builder now use mut pointers (https://github.com/unicode-org/icu4x/pull/7444)
- Use checked arithmetic in dense ZeroTrie (https://github.com/unicode-org/icu4x/pull/7443)
- Add duplicate data in Latin and Russian name lists (https://github.com/unicode-org/icu4x/pull/7464)
- Fix lints after merge (https://github.com/unicode-org/icu4x/pull/7474)
- Move glue patterns to semantic_skeleta (https://github.com/unicode-org/icu4x/pull/7469)
- Bump toolchain to 1.93 (https://github.com/unicode-org/icu4x/pull/7472)
- Replace the UDHR files with test-corpora data (https://github.com/unicode-org/icu4x/pull/7458)
- Simplify currency code (https://github.com/unicode-org/icu4x/pull/7482)
- Move a test to `calendrical_calculations` (https://github.com/unicode-org/icu4x/pull/7487)
- Support numbering systems in compact currency data (https://github.com/unicode-org/icu4x/pull/7496)
- Followup #7416 (https://github.com/unicode-org/icu4x/pull/7483)
- Unstable calendar code cleanup (https://github.com/unicode-org/icu4x/pull/7505)
- Reorder DateDuration methods to group related methods (no API change) (https://github.com/unicode-org/icu4x/pull/7497)
- Optimized get_u8 by avoiding char->u32 conversion (https://github.com/unicode-org/icu4x/pull/7509)
- chore(locale): improvage the locale grouping naming and testing for clarification (https://github.com/unicode-org/icu4x/pull/7437)
- Implement spec behavior around date arithmetic (https://github.com/unicode-org/icu4x/pull/7514)
- Add tests for low-frequency suffixes in Dense ZeroTrie (https://github.com/unicode-org/icu4x/pull/7439)
- Move packed pattern code into either semantic_skeletons or packed_patterns module (https://github.com/unicode-org/icu4x/pull/7478)
- Use pinned Dart SDK in nightly CI for now (https://github.com/unicode-org/icu4x/pull/7521)
- Enable `clippy::branches-sharing-code` (https://github.com/unicode-org/icu4x/pull/7489)
- Enable `clippy::or-fun-call` (https://github.com/unicode-org/icu4x/pull/7488)
- Enable `clippy::alloc-instead-of-core` (https://github.com/unicode-org/icu4x/pull/7490)
- Enable `clippy::unnecessary-wraps` (https://github.com/unicode-org/icu4x/pull/7492)
- Testing date-time-zone formatting for locales with nondefault appendItems (https://github.com/unicode-org/icu4x/pull/7522)
- Say "Cargo feature" in buffer provider docs (https://github.com/unicode-org/icu4x/pull/7530)
- Fix WASM data types (https://github.com/unicode-org/icu4x/pull/7539)
- Add date arithmetic tests (https://github.com/unicode-org/icu4x/pull/7527)
- Quick description update in new appendItem tests (https://github.com/unicode-org/icu4x/pull/7542)
- Fix heading hierarchy in style_guide.md (https://github.com/unicode-org/icu4x/pull/7547)
- Use try_new_chinese_traditional in arithmetic test (https://github.com/unicode-org/icu4x/pull/7548)
- Use try_new_hebrew_fixed in arithmetic test (https://github.com/unicode-org/icu4x/pull/7549)
- Remove `n` from plurals tests (https://github.com/unicode-org/icu4x/pull/7538)
- Fix docs to say --ucd-tag (https://github.com/unicode-org/icu4x/pull/7551)
- Remove range checks from `Date::try_from_str` (https://github.com/unicode-org/icu4x/pull/7545)
- chore: follow-up to #7502 (https://github.com/unicode-org/icu4x/pull/7553)
- Add shared helper to assert consistency across collator comparison paths (https://github.com/unicode-org/icu4x/pull/7499)
- `try_new_hebrew_fixed` -> `try_new_hebrew_v2` (https://github.com/unicode-org/icu4x/pull/7561)
- Add `Month` field to `DateFields` (https://github.com/unicode-org/icu4x/pull/7486)
- Encapsulate Date fields (https://github.com/unicode-org/icu4x/pull/7556)
- `icu_calendar` cleanups (https://github.com/unicode-org/icu4x/pull/7563)
- Replace `Date::try_new_from_codes` where possible (https://github.com/unicode-org/icu4x/pull/7572)
- fix-7562Add Polish collation benchmark (https://github.com/unicode-org/icu4x/pull/7573)
- Add a Swedish collation workload (https://github.com/unicode-org/icu4x/pull/7578)
- Added normalization from test-corpora for Arabic and Hebrew (https://github.com/unicode-org/icu4x/pull/7571)
- Shuffle the Polish collator workload (https://github.com/unicode-org/icu4x/pull/7579)
- Add Swedish lines that got accidentally deleted by shuf (https://github.com/unicode-org/icu4x/pull/7580)
- Fix swapped new/try_new in WordSegmenter comments (https://github.com/unicode-org/icu4x/pull/7554)
- Add MSRV entry to changelog (https://github.com/unicode-org/icu4x/pull/7583)
- Update pinned diplomat (https://github.com/unicode-org/icu4x/pull/7575)
- Bump webpack from 5.99.8 to 5.105.0 in /tools/web-demo (https://github.com/unicode-org/icu4x/pull/7594)
- Add delegates/sffc/rust_versions_and_style.md (https://github.com/unicode-org/icu4x/pull/7398)
- Add more docs test to DateFields and DateFromFieldsError (https://github.com/unicode-org/icu4x/pull/7597)
- Add DateFromFieldsError::TooManyFields error variant (https://github.com/unicode-org/icu4x/pull/7596)
- Add C++ method versioning to new case-compiled-data function (https://github.com/unicode-org/icu4x/pull/7602)
- added error codes for compile_fail (https://github.com/unicode-org/icu4x/pull/7611)
- Update icu_capi to 2.1.2 (https://github.com/unicode-org/icu4x/pull/7619)
- Use `Date::from_raw` in `Date::try_from_str` (https://github.com/unicode-org/icu4x/pull/7627)
- Update date ranges (https://github.com/unicode-org/icu4x/pull/7629)
- Add more docs to js-tiny Makefile (https://github.com/unicode-org/icu4x/pull/7255)
- Followup #7590 (https://github.com/unicode-org/icu4x/pull/7624)
- Add missing error variant conversion (https://github.com/unicode-org/icu4x/pull/7628)
- fix(normalizer): Add missing backticks to doc comment (https://github.com/unicode-org/icu4x/pull/7633)
- Update date range comments (https://github.com/unicode-org/icu4x/pull/7634)
- Move `host_info` back to the workspace (https://github.com/unicode-org/icu4x/pull/7638)
- Implement new specced reference year behavior (https://github.com/unicode-org/icu4x/pull/7640)
- Implement generalized LDML decimal pattern parsing (https://github.com/unicode-org/icu4x/pull/7508)
- Fix host_info clippy on mac (https://github.com/unicode-org/icu4x/pull/7644)
- Add tidy check for implicit features (https://github.com/unicode-org/icu4x/pull/7608)
- fix: Add cross-platform Makefile support (#3109) (https://github.com/unicode-org/icu4x/pull/7650)
- Correct Hijri reference years (https://github.com/unicode-org/icu4x/pull/7641)
- Added tlh-001 to test-options (https://github.com/unicode-org/icu4x/pull/7643)
- Clarify docs on `extensions::Private` (https://github.com/unicode-org/icu4x/pull/7612)
- Update date errors (https://github.com/unicode-org/icu4x/pull/7647)
- Use `RetainBaseLanguages` deduplication and `DataLocaleFamily::single` in testdata, add `en-US-posix` (https://github.com/unicode-org/icu4x/pull/7656)
- Uncontroversial Date docs changes (https://github.com/unicode-org/icu4x/pull/7668)
- Refactor number format parsing (https://github.com/unicode-org/icu4x/pull/7675)
- Add LocaleNamesRegionLongV1 data struct with data (https://github.com/unicode-org/icu4x/pull/7662)
- Update APIs used in time zone docs (https://github.com/unicode-org/icu4x/pull/7680)
- Enable clippy lints for transmutes (https://github.com/unicode-org/icu4x/pull/7673)
- Add more collator data and filtering to testdata; add transliterator attributes domain (https://github.com/unicode-org/icu4x/pull/7679)
- Undo my change to lunisolar error matching (https://github.com/unicode-org/icu4x/pull/7687)
- Reduce year range checks (https://github.com/unicode-org/icu4x/pull/7688)
- Speed up features CI (https://github.com/unicode-org/icu4x/pull/7684)
- Feedback on LocaleNamesRegionLongV1 (https://github.com/unicode-org/icu4x/pull/7683)
- Add more docs on Date's range errors (https://github.com/unicode-org/icu4x/pull/7689)
- Change `LeapStatus::StandardAfterLeap` to `::LeapBase` (https://github.com/unicode-org/icu4x/pull/7701)
- Update Diplomat to new opaque_mut annotations (https://github.com/unicode-org/icu4x/pull/7703)
- Remove mutable late-loading segmenter APIs from FFI (https://github.com/unicode-org/icu4x/pull/7715)
- Take self by ref in try_added_with_options (https://github.com/unicode-org/icu4x/pull/7714)
- Rename AnyCalendarDifferenceError to MismatchedCalendarsError (and make it a unit struct) (https://github.com/unicode-org/icu4x/pull/7713)
- Add snapshots for date arithmetic coverage test (https://github.com/unicode-org/icu4x/pull/7717)
- Remove opaque_mut from segmenter APIs (https://github.com/unicode-org/icu4x/pull/7716)
- Add Thai adaboost model and tests (https://github.com/unicode-org/icu4x/pull/7707)
- Ignore `RUSTDOCFLAGS` in `diplomat-coverage` (https://github.com/unicode-org/icu4x/pull/7721)
- Fix some clippy warnings that only occur on specific features (https://github.com/unicode-org/icu4x/pull/7724)
- Style guide: List out caveats for cross-crate internal APIs (https://github.com/unicode-org/icu4x/pull/7550)
- Add FFI for date arithmetic (https://github.com/unicode-org/icu4x/pull/7705)
- Simplify FFI time zone timestamp code (https://github.com/unicode-org/icu4x/pull/7709)
- Add `time` integration (https://github.com/unicode-org/icu4x/pull/7711)
- Update comments that is Unicode 17.0 for UAX#29 (https://github.com/unicode-org/icu4x/pull/7661)
- Add more tests for Month and fix some minor logic (https://github.com/unicode-org/icu4x/pull/7723)
- Move DateDurationUnit to options, document weeks behavior (https://github.com/unicode-org/icu4x/pull/7732)
- In icu_time, limit use of the icu crate to doctests (https://github.com/unicode-org/icu4x/pull/7742)
- Update Diplomat, enable all Kotlin APIs (https://github.com/unicode-org/icu4x/pull/7741)
- Improve the performance of `ArithmeticDate.until()` (https://github.com/unicode-org/icu4x/pull/7739)
- Let CI platforms fail independently (https://github.com/unicode-org/icu4x/pull/7749)
- In component crates, limit use of the icu crate to doctests (https://github.com/unicode-org/icu4x/pull/7750)
- More documentation for min_months_from_inner (https://github.com/unicode-org/icu4x/pull/7746)
- Create testing_and_documentation.md (https://github.com/unicode-org/icu4x/pull/7754)
- Move try_added_with_options over to taking by-self again (https://github.com/unicode-org/icu4x/pull/7735)
- Shane's feedback on keywords (https://github.com/unicode-org/icu4x/pull/7752)
- Add changelog policy and CI enforcement (https://github.com/unicode-org/icu4x/pull/7736)
- Polish compact decimal API (https://github.com/unicode-org/icu4x/pull/7759)
- Fix Diplomat CI job (https://github.com/unicode-org/icu4x/pull/7760)
- Arithmetic API review (https://github.com/unicode-org/icu4x/pull/7762)
- Note leap month behavior (https://github.com/unicode-org/icu4x/pull/7765)
- Add EastAsianTraditional min_months_from invariant (https://github.com/unicode-org/icu4x/pull/7770)
- Robert's feedback on month docs (https://github.com/unicode-org/icu4x/pull/7767)
- Simplify `AnyCalendar` implementation (https://github.com/unicode-org/icu4x/pull/7772)
- Add docs on until's non-reversibility (https://github.com/unicode-org/icu4x/pull/7774)
- Gate the shared (posix) module on the target OS (https://github.com/unicode-org/icu4x/pull/7777)
- Rename LeapBase to Base (https://github.com/unicode-org/icu4x/pull/7778)
- Add a test with America/Vancouver (https://github.com/unicode-org/icu4x/pull/7793)