All work
- ULocale.Builder.setLanguageTag comments say null is allowed but it is notICU-22573Yoshito Umaoka
- Inherited <dateFormatItem> entries from root locale not correctly appliedICU-22572Resolved issue: ICU-22572
- Add "Aran" (Arabic Nastaliq script) to UScript as a valid script codeICU-22571Resolved issue: ICU-22571Markus Scherer
- ICU4C 74.1 build fail with one test - TestGetIanaTimeZoneIDICU-22570Resolved issue: ICU-22570
- u_strToTitle() doesn't return expected resultICU-22569Resolved issue: ICU-22569
- ICU 74 TimeZoneFormat::createInstance() fails for bogus localeICU-22568Resolved issue: ICU-22568Frank Yung-Fong Tang
- Missing md5 files from 74.1 releaseICU-22567Resolved issue: ICU-22567
- icu4c-74_1-Win32 build missingICU-22566Resolved issue: ICU-22566Rahul Pandey
- Java: binary data files in versioned folderICU-22565Markus Scherer
- Java API for the host env to register a low level break engine to break CJ + Southeastern Asia scriptICU-22564Frank Yung-Fong Tang
- icu:calendar_fuzzer: Timeout in calendar_fuzzerICU-22563Resolved issue: ICU-22563Frank Yung-Fong Tang
- u_setMemoryFunctions is inconsistent as some part of the code uses naked news and naked delete.ICU-22562Resolved issue: ICU-22562Rich Gillam
- Add PGP signature file for maven central releaseICU-22561Resolved issue: ICU-22561Yoshito Umaoka
- Merge ICU 74 maintenance branch to mainICU-22560Resolved issue: ICU-22560Shane Carr
- Don't load from supplementalData.res in XLikelySubtags codeICU-22559Resolved issue: ICU-22559Shane Carr
- CLDR-ICU tooling is not generating the stubs for kxv_Latn* in data trees other than locales/ICU-22557Resolved issue: ICU-22557Peter Edberg
- The default system compiler, cc, is not respectedICU-22556Resolved issue: ICU-22556Jordan Williams
- Infinity recursive call in CanonicalIterator::permuteICU-22555Resolved issue: ICU-22555Frank Yung-Fong Tang
- ICU4J default time zone consistency and cleanupICU-22550Yoshito Umaoka
- improve fuzzer coverage for ICU 75ICU-22549Resolved issue: ICU-22549Frank Yung-Fong Tang
- Still Very very slow inside CollationBuilder::addRelation when we have HangulICU-22548Resolved issue: ICU-22548Frank Yung-Fong Tang
- uloc_addLikelySubtags reports U_ILLEGAL_ARGUMENT_ERROR for language subtags with more than three charactersICU-22547Resolved issue: ICU-22547Frank Yung-Fong Tang
- uloc_addLikelySubtags doc-comments don't match actual outputICU-22546Resolved issue: ICU-22546Frank Yung-Fong Tang
- uloc_addLikelySubtags adds additional prefix characters into maximized localeICU-22545Resolved issue: ICU-22545Frank Yung-Fong Tang
- Collation version not bumped in ICU-73ICU-22544Markus Scherer
- Use iOS API to detect default timezoneICU-22543Resolved issue: ICU-22543
- Use MacOS API to detect default timezoneICU-22542Resolved issue: ICU-22542
- ICU 73 time zone detection fails on macOS 14ICU-22541Resolved issue: ICU-22541Frank Yung-Fong Tang
- ICU support for new prefixes for powers of 10: ±27, ±30ICU-22540Resolved issue: ICU-22540Frank Yung-Fong Tang
- ICU4C distributions in releases must include the actual file LICENSE, not a linkICU-22539Craig Cornelius
- Change CLA checker bot to use Github ActionsICU-22538Elango Cheran
- Critical: ICU4C doesn't compile with UCONFIG_NO_SERVICEICU-22537Resolved issue: ICU-22537Steven R. Loomis
- ICUServiceThreadTest flakiness may indicate a race in ICUServiceICU-22536Resolved issue: ICU-22536Victor Chang
- ICU 75 BRSICU-22535Resolved issue: ICU-22535Markus Scherer
- ICU 75rc BRSICU-22534Resolved issue: ICU-22534Markus Scherer
- ICU 75 docs minor fixesICU-22533Resolved issue: ICU-22533Markus Scherer
- ICU 75 code warnings/version updatesICU-22532Resolved issue: ICU-22532Markus Scherer
- LikelySubtags TODOs for ICU-20777ICU-22531Resolved issue: ICU-22531Frank Yung-Fong Tang
- Create a way to share IDEs standard settingsICU-22530Mihai Nita
- ICU Services page has incorrect linksICU-22529Resolved issue: ICU-22529Elango Cheran
- Improve performance of date formattingICU-22528Resolved issue: ICU-22528Rich Gillam
- C++ class Measure needs operator!=()ICU-22527Resolved issue: ICU-22527Markus Scherer
- Increase minimum limit for time zone offsets to -24 hoursICU-22526Resolved issue: ICU-22526Frank Yung-Fong Tang
- DTPG drops YYYY and ww fieldsICU-22525Peter Edberg
- DateFormat for en-CA with "ee" (numeric day of week) counts from Monday not SundayICU-22524Markus Scherer
- update or replace formatting pattern field tablesICU-22523Resolved issue: ICU-22523Rich Gillam
- Remove -Wno-ambiguous-reversed-operatorICU-22522Resolved issue: ICU-22522Fredrik Roubert
- Floating-point-exception in icu_74::Calendar::rollICU-22521Resolved issue: ICU-22521Frank Yung-Fong Tang
- Improve memory management in the locale code (ICU 75)ICU-22520Resolved issue: ICU-22520Fredrik Roubert
- Add a way to export segmentation monkey tests in UCD formatICU-22518Resolved issue: ICU-22518Robin Leroy
Collation version not bumped in ICU-73
Description
Activity
Anju Kaushik January 9, 2025 at 9:53 PM
Hi
ucol_getVersion() - I am seeing same value for different locales . Is it correct?
For example, ICU 74.2 - the root locale and LZH_KBIG5HAN_AN_CX_EX_FX_HX_NX_S3 show the same collation version.
ICU 74.2: Testing ucol_getUCAVersion() result: 153.121.0.0
If there is change in collation version ( value from ucol_getUCAVersion()) in 2 different ICUs version, how can we learn there is any/no impact on a particular locale ( collator) - Do you have any API (or tool) to find collation version (collation change impact) on locale level?
Markus Scherer October 19, 2023 at 5:59 PM
icu4c/source/data/coll/root.txt includes the CLDR version number, but I think that for ““=”root”=”und” we only load ucadata.icu and don’t bother also loading the root.res file.
Markus Scherer October 19, 2023 at 5:55 PM
PS: I think this is the first time (at least for over ten years) that we changed the root sort order without upgrading to a whole new Unicode version.
Markus Scherer October 19, 2023 at 5:52 PM
Sorry about that!
Yes, CLDR 43 / ICU 73 changed the sort order, as documented on the 73 release page: On look for “collation”.
I am pretty sure that the Unicode version number feeds into the ucol_getVersion() return value, but this change was basically a cherry-pick from the then-future Unicode 15.1 change – and deliberately so, because the UTC wanted to see if this would cause problems before releasing the change in 15.1.
ICU 74, currently available as a release candidate, of course changes collation again, for Unicode 15.1.
I thought that the CLDR or ICU version number also feeds into the ucol_getVersion() return value; I will check. It might not be included for the root (und) collation if the version number comes from a tailoring resource bundle.
With ICU 72 and ICU 73, ucol_getVersion() for the collation associated to the 'und' locale returns "153.120".
Yet some strings appear to sort differently across these versions.
For instance when comparing "A‘B" and "A‚2", where the 2nd characters are respectively U+201A (SINGLE LOW-9 QUOTATION MARK) and U+2018 (LEFT SINGLE QUOTATION MARK):
with ICU 72 ucol_strcollUTF8() returns -1
with ICU 73 ucol_strcollUTF8() returns +1
According to git bisect, the behavior has changed at this commit:
commit d86b1cebe192004759b6c875b0f831b97ccdae34
Author: Markus Scherer <markus.icu@gmail.com>
Date: Wed Feb 22 15:14:23 2023 -0800
ICU-22220 update root collation from CLDR 43
It makes sense that a new CLDR version might change the sort order, but are the version numbers of the affected collations not required to change in that case?
In practice the problem is observed with PostgreSQL which uses collation versions to determine whether btree indexes should be rebuilt following an ICU upgrade. Skipping index rebuilding may cause data corruption when upgrading to ICU 73.