diff --git a/KEYS b/KEYS index fedeaa2b6204..9523c0beaf60 100644 --- a/KEYS +++ b/KEYS @@ -1312,3 +1312,36 @@ buAuLkKKI35T4Lz2U41GMVIMZ7drlhbfDGugk1qT1cXJPZbPnHt+uFNUY0pTJaf3 WapxBp2/lKhgsIE= =ZWln -----END PGP PUBLIC KEY BLOCK----- +pub ed25519 2024-08-19 [SC] [expires: 2027-08-19] + E52F07877A5805F9AF4AB0ACD46C5610D06E7001 +uid [ultimate] ICU Release Robot +sig 3 D46C5610D06E7001 2024-08-19 ICU Release Robot +sig 3 9B432B27D1BA20D7 2024-10-01 Fredrik Roubert +sub cv25519 2024-08-19 [E] [expires: 2027-08-19] +sig D46C5610D06E7001 2024-08-19 ICU Release Robot + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEZsO4fRYJKwYBBAHaRw8BAQdAcxaiyqFbaECpSz7mhsXzopzN9Cxwv80WlWGN +gM3qpOi0KUlDVSBSZWxlYXNlIFJvYm90IDxpY3Utcm9ib3RAdW5pY29kZS5vcmc+ +iJkEExYKAEEWIQTlLweHelgF+a9KsKzUbFYQ0G5wAQUCZsO4fQIbAwUJBaOagAUL +CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRDUbFYQ0G5wAQOWAQDs628TYI+F +oTaJ1jzqC3ObL6we4tmrW7yHL1KFR5xrhwD/ZioLjdrIUQZhcjV9rNt7mYZm/Ttl +hn06bx06eyjf0QyJAjMEEwEIAB0WIQT/qRKaGA12W3pb6hybQysn0bog1wUCZvwt +VgAKCRCbQysn0bog11wED/0dUw/riFIixjNRAoi+beQ1f42dG/60xm7qquZ4kE3n +KysN773YgE1Gl8wPsFBbAAznO++fJ2ONjTks4QNOV0MB5Rgv+LwK+5oOKDRA9LxE +QRCRYtFpErbCirIn/EGVJJCCbF+SoUY8rJL+PTfzHGDkJGK0lQIA49rdWjV9PW06 +4FRufzNrg4jNMCsJ5i67mjSb267C7I2mcfM3xX2nqZdOFW+wdctm9fvAWpIMQEQ5 +6J0wIQxwtF3GulKqr/7EV0LSB0Is0E4BBjwROMFiSa53Va/lcfZaQ7nJ8flsAfkO +gGmvGjM5VH1kO2hnhm5ps5x/fIqSbw7X2nYsUXjbL6YKHbUsbV1ybpS5XCnMcTyx +t5zmWkfZNLZk4+Qh/td6MyW7OmycY2GazRpMA28pX6gQYFBcSoXHNFqIyXU7wFJp +BmDqe8gbi7FIlewwS+XP5dWfNvP5EqfztO7p8hxB2O1ZIYxMKerr0Q6rvY9/fEL5 +fd7OMdK5OkQWASF7NjDFG9I50N4W/1+1jUHytp6bBtjjdnebp4a8gidP88HeGidk +2ONV9Yf0hOZUpRfMEFxpLxd9Ker928iZpopXOZ7AipFcXghWrReyTMljqXYvzNtd +qRdH3WmnNx4zw2K/JgAtOw9Domc09UzEFFHgAscUVXvsoVX4g8soZnBWomtlCfU0 +/bg4BGbDuH0SCisGAQQBl1UBBQEBB0Djm2qMxtO+jO+uhT5nScClgbSvdmWAjbt9 +RIQh60+4QgMBCAeIfgQYFgoAJhYhBOUvB4d6WAX5r0qwrNRsVhDQbnABBQJmw7h9 +AhsMBQkFo5qAAAoJENRsVhDQbnABkbUA/ib52SlXmDcBPsvCz+VQOsqt1OvmeioS +NSbBQ0KK5M66AQCs7zuWUQQhptmeB2l7sP528nsFv4FJfZ/McqauwTq7Bg== +=BHrV +-----END PGP PUBLIC KEY BLOCK----- diff --git a/icu4c/source/common/ucurr.cpp b/icu4c/source/common/ucurr.cpp index 282199257376..b74a80a676af 100644 --- a/icu4c/source/common/ucurr.cpp +++ b/icu4c/source/common/ucurr.cpp @@ -2024,6 +2024,7 @@ static const struct CurrencyList { {"ZRN", UCURR_COMMON|UCURR_DEPRECATED}, {"ZRZ", UCURR_COMMON|UCURR_DEPRECATED}, {"ZWD", UCURR_COMMON|UCURR_DEPRECATED}, + {"ZWG", UCURR_COMMON|UCURR_NON_DEPRECATED}, {"ZWL", UCURR_COMMON|UCURR_DEPRECATED}, {"ZWR", UCURR_COMMON|UCURR_DEPRECATED}, { nullptr, 0 } // Leave here to denote the end of the list. diff --git a/icu4c/source/common/unicode/urename.h b/icu4c/source/common/unicode/urename.h index 9ac95e39efb1..e39c779e81ef 100644 --- a/icu4c/source/common/unicode/urename.h +++ b/icu4c/source/common/unicode/urename.h @@ -1820,7 +1820,6 @@ #define usnum_setMinimumIntegerDigits U_ICU_ENTRY_POINT_RENAME(usnum_setMinimumIntegerDigits) #define usnum_setSign U_ICU_ENTRY_POINT_RENAME(usnum_setSign) #define usnum_setToInt64 U_ICU_ENTRY_POINT_RENAME(usnum_setToInt64) -#define usnum_truncateStart U_ICU_ENTRY_POINT_RENAME(usnum_truncateStart) #define usnumf_close U_ICU_ENTRY_POINT_RENAME(usnumf_close) #define usnumf_format U_ICU_ENTRY_POINT_RENAME(usnumf_format) #define usnumf_formatInt64 U_ICU_ENTRY_POINT_RENAME(usnumf_formatInt64) diff --git a/icu4c/source/test/cintltst/currtest.c b/icu4c/source/test/cintltst/currtest.c index e75c1743e586..0a50af43b4fd 100644 --- a/icu4c/source/test/cintltst/currtest.c +++ b/icu4c/source/test/cintltst/currtest.c @@ -116,6 +116,9 @@ static void TestEnumList(void) { // CLDR 45 and ICU-22726 expectInList("XCG", UCURR_ALL, true); + + // CLDR 46 and ICU-22935 + expectInList("ZWG", UCURR_ALL, true); } static void TestEnumListReset(void) { diff --git a/icu4c/source/test/intltest/loctest.cpp b/icu4c/source/test/intltest/loctest.cpp index d62e2548a249..5a781b8acbe4 100644 --- a/icu4c/source/test/intltest/loctest.cpp +++ b/icu4c/source/test/intltest/loctest.cpp @@ -3518,8 +3518,8 @@ LocaleTest::TestAddLikelyAndMinimizeSubtags() { "zh_TW" }, { "und_Hant_CN", - "zh_Hant_CN", - "zh_Hant_CN" + "yue_Hant_CN", + "yue_Hant_CN" }, { "und_Hant_TW", "zh_Hant_TW", @@ -4130,10 +4130,6 @@ LocaleTest::TestAddLikelyAndMinimizeSubtags() { for (const auto& item : full_data) { const char* const org = item.from; const char* const exp = item.add; - if (uprv_strcmp(org,"und_Hant_CN") == 0 && - logKnownIssue("CLDR-17981", "und_Hant_CN changed expected result for Likely Subtags")) { - continue; - } Locale res(org); res.addLikelySubtags(status); status.errIfFailureAndReset("\"%s\"", org); @@ -4147,10 +4143,6 @@ LocaleTest::TestAddLikelyAndMinimizeSubtags() { for (const auto& item : full_data) { const char* const org = item.from; const char* const exp = item.remove; - if (uprv_strcmp(org,"und_Hant_CN") == 0 && - logKnownIssue("CLDR-17981", "und_Hant_CN changed expected result for Likely Subtags")) { - continue; - } Locale res(org); res.minimizeSubtags(status); status.errIfFailureAndReset("\"%s\"", org); @@ -5718,10 +5710,6 @@ void LocaleTest::TestIsRightToLeft() { assertTrue("ckb RTL", Locale("ckb").isRightToLeft(), false, true); // Sorani Kurdish assertFalse("fil LTR", Locale("fil").isRightToLeft()); assertFalse("he-Zyxw LTR", Locale("he-Zyxw").isRightToLeft()); - - if (logKnownIssue("CLDR-17981", "und_Hant_CN changed expected result for Likely Subtags")) { - return; - } } void LocaleTest::TestBug11421() { @@ -5925,14 +5913,6 @@ testLikelySubtagsLineFn(void *context, *pErrorCode = U_ZERO_ERROR; return; } - - if ( (uprv_strcmp(source.c_str(), "und-Latn-MU") == 0 || uprv_strcmp(source.c_str(), "und-Latn-RS") == 0 || uprv_strcmp(source.c_str(), "und-Latn-SL") == 0 - || uprv_strcmp(source.c_str(), "und-Latn-TK") == 0 || uprv_strcmp(source.c_str(), "und-Latn-ZM") == 0 ) - && THIS->logKnownIssue("CLDR-17981", "und_Hant_CN changed expected result for Likely Subtags")) { - return; - } - - Locale actualMax(l); actualMax.addLikelySubtags(*pErrorCode); diff --git a/icu4c/source/test/testdata/structLocale.txt b/icu4c/source/test/testdata/structLocale.txt index e808de227c08..6e4a18b95597 100644 --- a/icu4c/source/test/testdata/structLocale.txt +++ b/icu4c/source/test/testdata/structLocale.txt @@ -1545,6 +1545,10 @@ structLocale:table(nofallback){ "", "", } + ZWG{ + "", + "", + } ZWL{ "", "", @@ -4039,6 +4043,14 @@ structLocale:table(nofallback){ many{""} other{""} } + ZWG{ + zero{""} + one{""} + two{""} + few{""} + many{""} + other{""} + } ZWL{ zero{""} one{""} diff --git a/icu4j/demos/pom.xml b/icu4j/demos/pom.xml index 2990cca0a024..66eba0ef41c0 100644 --- a/icu4j/demos/pom.xml +++ b/icu4j/demos/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 demos diff --git a/icu4j/main/charset/pom.xml b/icu4j/main/charset/pom.xml index 7b705d9a1fbc..2af5a5451958 100644 --- a/icu4j/main/charset/pom.xml +++ b/icu4j/main/charset/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/collate/pom.xml b/icu4j/main/collate/pom.xml index 0cdfd25e6d06..4db9dd263c40 100644 --- a/icu4j/main/collate/pom.xml +++ b/icu4j/main/collate/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/common_tests/pom.xml b/icu4j/main/common_tests/pom.xml index e5b051c14c5e..f3007b609462 100644 --- a/icu4j/main/common_tests/pom.xml +++ b/icu4j/main/common_tests/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/common_tests/src/test/java/com/ibm/icu/dev/test/util/ULocaleTest.java b/icu4j/main/common_tests/src/test/java/com/ibm/icu/dev/test/util/ULocaleTest.java index 02146417fc33..451b12bc01f8 100644 --- a/icu4j/main/common_tests/src/test/java/com/ibm/icu/dev/test/util/ULocaleTest.java +++ b/icu4j/main/common_tests/src/test/java/com/ibm/icu/dev/test/util/ULocaleTest.java @@ -3659,9 +3659,9 @@ else if (!res.toString().equals(exp)) { "zh_Hant_TW", "zh_TW" }, { - "und_Hant_CN", - "zh_Hant_CN", - "zh_Hant_CN" + "und_Hant_CN", + "yue_Hant_CN", + "yue_Hant_CN" }, { "und_Hant_TW", "zh_Hant_TW", @@ -4166,10 +4166,6 @@ else if (!res.toString().equals(exp)) { }; for (int i = 0; i < full_data.length; i++) { - if (full_data[i][0].equals("und_Hant_CN") && - logKnownIssue("CLDR-17981", "und_Hant_CN changed expected result for Likely Subtags")) { - continue; - } ULocale org = new ULocale(full_data[i][0]); ULocale res = ULocale.addLikelySubtags(org); String exp = full_data[i][1]; @@ -5718,14 +5714,14 @@ public void likelySubtagsDataDriven(TestCase test) { assertEquals("addLikelySubtags(" + test.source + ") should be unchanged", l, ULocale.addLikelySubtags(l)); } else { - if ( ( test.source.equals("und-Latn-MU") || test.source.equals("und-Latn-RS") || test.source.equals("und-Latn-SL") - || test.source.equals("und-Latn-TK") || test.source.equals("und-Latn-ZM") ) - && logKnownIssue("CLDR-17981", "und_Hant_CN changed expected result for Likely Subtags") ) { - return; - } - assertEquals("addLikelySubtags(" + test.source + ")", - test.addLikely, ULocale.addLikelySubtags(l).toLanguageTag()); - } + if ( ( test.source.equals("und-Latn-MU") || test.source.equals("und-Latn-RS") || test.source.equals("und-Latn-SL") + || test.source.equals("und-Latn-TK") || test.source.equals("und-Latn-ZM") ) + && logKnownIssue("CLDR-18002", "Incorrect Likely Subtags for some entries modified in CLDR 46") ) { + return; + } + assertEquals("addLikelySubtags(" + test.source + ")", + test.addLikely, ULocale.addLikelySubtags(l).toLanguageTag()); + } if (test.removeFavorRegion.equals("FAIL")) { assertEquals("minimizeSubtags(" + test.source + ") should be unchanged", l, ULocale.minimizeSubtags(l)); diff --git a/icu4j/main/core/pom.xml b/icu4j/main/core/pom.xml index 5385b791fdd1..93a695c9f7ce 100644 --- a/icu4j/main/core/pom.xml +++ b/icu4j/main/core/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/currdata/pom.xml b/icu4j/main/currdata/pom.xml index 53a41960b9a9..a0ec34783c7c 100644 --- a/icu4j/main/currdata/pom.xml +++ b/icu4j/main/currdata/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/framework/pom.xml b/icu4j/main/framework/pom.xml index 832c518e4bfd..ec9480d4a1d8 100644 --- a/icu4j/main/framework/pom.xml +++ b/icu4j/main/framework/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/icu4j/pom.xml b/icu4j/main/icu4j/pom.xml index 182026251df0..cfa541f29358 100644 --- a/icu4j/main/icu4j/pom.xml +++ b/icu4j/main/icu4j/pom.xml @@ -9,7 +9,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/langdata/pom.xml b/icu4j/main/langdata/pom.xml index ade5a882f708..0b37e48c15d9 100644 --- a/icu4j/main/langdata/pom.xml +++ b/icu4j/main/langdata/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/localespi/pom.xml b/icu4j/main/localespi/pom.xml index 1526e98516c0..f9b5a1b3b820 100644 --- a/icu4j/main/localespi/pom.xml +++ b/icu4j/main/localespi/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/regiondata/pom.xml b/icu4j/main/regiondata/pom.xml index 858200ed5988..0984b574c552 100644 --- a/icu4j/main/regiondata/pom.xml +++ b/icu4j/main/regiondata/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/main/translit/pom.xml b/icu4j/main/translit/pom.xml index 7219f4bf3835..53621bffcccf 100644 --- a/icu4j/main/translit/pom.xml +++ b/icu4j/main/translit/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/perf-tests/pom.xml b/icu4j/perf-tests/pom.xml index 31ab0491de91..47acece7a220 100644 --- a/icu4j/perf-tests/pom.xml +++ b/icu4j/perf-tests/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 perf-tests diff --git a/icu4j/pom.xml b/icu4j/pom.xml index e79083871ea6..e5c7a66c3b6c 100644 --- a/icu4j/pom.xml +++ b/icu4j/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 pom ${proj-title} (${project.artifactId}) diff --git a/icu4j/releases_tools/shared.sh b/icu4j/releases_tools/shared.sh index 1b9b39272b2a..977296929523 100755 --- a/icu4j/releases_tools/shared.sh +++ b/icu4j/releases_tools/shared.sh @@ -5,8 +5,8 @@ export MAVEN_ARGS='--no-transfer-progress' # Version update! -export artifact_version='76.1-SNAPSHOT' -export github_rel_version='76rc' +export artifact_version='76.1' +export github_rel_version='76_1' export api_report_version='76' export api_report_prev_version='75' export out_dir=target diff --git a/icu4j/samples/pom.xml b/icu4j/samples/pom.xml index 910be88c6acf..1072c4790ba2 100644 --- a/icu4j/samples/pom.xml +++ b/icu4j/samples/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 samples diff --git a/icu4j/tools/build/pom.xml b/icu4j/tools/build/pom.xml index 6113e7e452f7..3e1ab5dbe7c3 100644 --- a/icu4j/tools/build/pom.xml +++ b/icu4j/tools/build/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/icu4j/tools/misc/pom.xml b/icu4j/tools/misc/pom.xml index 61cd0a9a8416..ee05daa5de1c 100644 --- a/icu4j/tools/misc/pom.xml +++ b/icu4j/tools/misc/pom.xml @@ -8,7 +8,7 @@ com.ibm.icu icu4j-root - 76.1-SNAPSHOT + 76.1 ../../pom.xml diff --git a/tools/cldr/cldr-to-icu/pom.xml b/tools/cldr/cldr-to-icu/pom.xml index 0d8f6634dcb5..c35af50b0615 100644 --- a/tools/cldr/cldr-to-icu/pom.xml +++ b/tools/cldr/cldr-to-icu/pom.xml @@ -83,7 +83,7 @@ com.ibm.icu icu4j - 76.1-SNAPSHOT + 76.1