- 
                Notifications
    
You must be signed in to change notification settings  - Fork 27
 
Upgrade ICU to 72.1.0.4 #686
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…7 tag (#112) * port library to work with ICU clean and update fix leaks remove caching and unneeded code handle memoryu allocation error change to uprv malloc change method usage change UChar to char use CharStrings and remove unused apis address feedback address feedback fix mistakes fix mistakes fix mistakes fix mistakes fix mistakes debugging return calendar that was failing address feedback and add calendar remove unneeded method create RAII objects for wchar t add tests for library test only on windows address feedback fix casting failures remove two check pattern and fix tests fix tests fix ci builds fix ci builds address feedback address feedback fix quotes I missed use char instead of strings add test file to objects fix typo sigh... add fork for previous behaviour and add test fix name of test Add variable to uconfig improve test case * address feedback * address feedback again * address feedback pt 3 * fix macros * refactor macro * address minor nits * fix brackets
) I'm adding a patch file to be able to keep the changes done in #112 This added the uprefs preference override library that will allow you to get the default locale as a BCP 47 tag.
…n.txt and cgmanifest.json
data. This changes modifies the ICU tests to pass with the modified CLDR-MS data. The modifications are generally for the following reasons: - Some of data is different due to internal requirements. - Some are due to the extra locales that we pick up from CLDR Seed. These Seed locales have data quality issues, which causes the ICU tests to fail as they don't meet the ICU expectations. - Removal of the yue-* locales.
This adds special marker comments to the ICU headers in order to omit things we don't want or can't expose in the Windows public SDK headers.
,add uprv_u_cleanup
For the Windows OS build of ICU, we only have one data file and we don't use the extended data at all. We make this function a no-op in order to save a few cycles for perf, but more importantly so that we don't try to load a versioned data file (ex: icudt68l.dat) after already loading the non-versioned common data file.
Modify `make dist` paths for the MS-ICU GitHub path location, plus omit the Doxygen docs as we don't currently build the docs.
011-MSFT-Patch_change-tests-data-to-not-include-blocked-regions.patch
…he UCRT This modifies the .vcxproj files for the "common" (uc) and "i18n" (in) libraries in order to statically link the VCRuntime (libvcruntime.lib), VCStartup (libcmt.lib), and STL/MSVCP (libcpmt.lib), but dynamically link to the UCRT (ucrt.lib). The UCRT (C Runtime library: ucrtbase.dll) is included in Windows 10 and above as an OS component. (See https://docs.microsoft.com/cpp/c-runtime-library/crt-library-features ). On previous versions of Windows it is available via a Windows Update package. (See the KB article here: https://support.microsoft.com/kb/2999226 ). However, the vcruntime*.dll and msvcp*.dll files are only available via the Visual C++ Redistributable (VC Redist), and the Redist must be installed manually. This change avoids the need to install the VC Redist on Windows 10, and previous Windows versions with the KB update for the UCRT, in order to use the two icuuc*.dll and icuin*.dll libraries.
Modify the .vcxproj files to add the ICU major version number to the PDB filename in order to match the DLL filenames.
Windows only searches for .exe executables by default, so we can't just call "ant" and instead need to launch a cmd prompt to run it. The """ changes are needed in order double-quote the arguments that get passed to the JVM. Without this hack the arguments don't get quoted at all, which causes build failures as some of the variables which get replaced have embedded spaces in them.
This changes modifies the ICU tests to pass with extra locales from CLDR-MS.
BCP47 tag (#112) Currently, for many processes and tasks, ICU gets the default locale and caches it. This means that when needed, ICU will get something like "en-US" and that will not change even if you were to change your language or region in your device. Furthermore, ICU has currently no way of getting other globalization settings such as currency, calendar, hour cycle, first day of week, sorting method and measurement system. We have decided to add a way to solve these two problems. By adding the uprefs library (only to the Windows implementation of uprv_getDefaultLocaleID()), we are adding the Uprefs_getBCP47Tag() internal API, which obtains a full, canonical and valid BCP47Tag containing all of the settings. This means we also change the way we get the default locale. We go from getting only the locale and region, to getting the full thing.
* Fix CI check for version number match * Normalize the ICU version fro all scripts to use * Move version normalization before syncing ICU version with other scripts * Moving sanity check on ICU version number before normalization
Bumps [guava](https://github.com/google/guava) from 30.0-jre to 32.0.0-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…ales (#134) * Replace NNBSP with regular space for date-time formats on English locales and fix test cases
* Disable the dynamic plug-in loading and update to v72.1.0.3 * Update changelog.md Co-authored-by: Jeff Genovy <29107334+jefgen@users.noreply.github.com> * Update changelog.md Co-authored-by: Jeff Genovy <29107334+jefgen@users.noreply.github.com> --------- Co-authored-by: Jeff Genovy <29107334+jefgen@users.noreply.github.com>
* Fixed CodeQL warnings: Too few arguments for formatting function * fix CodeQL Warnings: Comparison of narrow type with wide type in loop condition * Fix CodeQL Warnings: Important Severity, mixed issues * Addressed review comments * Addressed review comments on C Style casting * Addressed Review Comments * Trigger CLA
* Update ms-icu to support Unicode 15.1 character data * Update changelog and version to 72.1.0.4
…ebuilds with new filters.
| 
           Testing with sample app revealed some issues,   | 
    
          
 It was caused by my testing methodology, I used  After updating the whole runtime pack contents with newly created artifacts, we still see a problem:  I  tried to repackage ICU 72 date files with the p68-prefix, to match the hardcoded symbols but it's not enough - 72 version data layout is different than 68 and we're hitting  @akoeplinger, we have to merge this before having it fully tested.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM apart from one comment, great job, thank you!
We should also get rid of icudt_hybrid.dat (it's no longer used), but that can be done in a separate PR.
This PR:
UCARulesexclusion from filter files. This change affects only non-hybrid ICU filter, hybrid filters for mobiles never excluded collation rules.Previous attempt: #340.
Runtime PR, related to the last revert of the upgrade: dotnet/runtime#93756.
Upgrade size tracking
Before
After