Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.2k
deps: ICU 60.1 bump#16876
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
deps: ICU 60.1 bump #16876
Uh oh!
There was an error while loading. Please reload this page.
Conversation
srl295 commented Nov 8, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
srl295 commented Nov 8, 2017
whitespace changes… i will rebuild this from |
srl295 commented Nov 8, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
srl295 commented Nov 8, 2017
srl295 commented Nov 8, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
re-running tests
|
srl295 commented Nov 8, 2017
don't think https://ci.nodejs.org/job/node-test-binary-arm/RUN_SUBSET=6,label=pi1-raspbian-wheezy/11617/console is due to this change |
jasnell left a comment
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.
Rubber-stamp LGTM
Trott commented Nov 8, 2017
Re-running Raspberry Pi: https://ci.nodejs.org/job/node-test-binary-arm/11626/ |
mhdawson left a comment
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.
Rubber stamp LGTM
srl295 commented Nov 8, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@jasnell not so fast, I was able to see this as a change.
I was able to express this change in Node as follows. Basically, ICU previously treated a sequence such as Now, following the w3c standard, ICU 60.1 treats each byte of the input as bad utf-8, yielding I don't know which other interfaces to test here, and I know that v8 has its own utf-8 encoders. So ICU's utf-8 may not be used in all parts. Node with ICU 59.1 (v8.5.0)
Node with ICU 60.1
So…Will this cause any problems?
|
jasnell commented Nov 8, 2017
Ahh... That's a fun one. Ok, will go through in more detail then to verify. |
srl295 commented Nov 8, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@jasnell actually, given that the utf-8 change was in response to the W3C standard, this PR might really be a bug fix we didn't know we needed. |
mathiasbynens commented Nov 8, 2017
It’s a WHATWG standard which the W3C copies. Please link to https://encoding.spec.whatwg.org/ instead. |
srl295 commented Nov 8, 2017
@mathiasbynens well, you just did… specifically, https://encoding.spec.whatwg.org/#utf-8-decoder |
srl295 commented Nov 9, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Also, irregardless of whether ICU is there or not, new(require('util').TextDecoder)('utf-8').decode(Buffer.from([0xF0,0x80,0x80])).length===1// U+FFFD…and that API claims to be WHATWG compatible (comparable to the W3C link above), but it isn't (per my understanding of the utf-8 issue)- it's compatible with old-ICU. I assume So I think the way forward here should be:
|
jungshik commented Nov 9, 2017
Buffer.from([....]) cannot have anything to do with this. Isn't it just creating UInt8Array to pass to TextDecoder('utf-8').decode() ? |
This patch explicitly includes unicode/uvernum.h in the regular expression parser. It should be removed once we no longer need to check `U_ICU_VERSION_MAJOR_NUM` during preprocessing, i.e. once Node.js updates their ICU. This is an ongoing effort: nodejs/node#16876 BUG=v8:4743 Change-Id: I3cd9447b481249a9035d9fb00745057da8809c58 Reviewed-on: https://chromium-review.googlesource.com/758407 Reviewed-by: Jakob Gruber <[email protected]> Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Mathias Bynens <[email protected]> Cr-Commit-Position: refs/heads/master@{#49253}
This reverts commit 0db90bc. Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20noi18n%20-%20debug/builds/17335 You need to also check whether i18n is on, e.g. #ifdef V8_INTL_SUPPORT. Original change's description: > [regexp] Include unicode/uvernum.h in parser > > This patch explicitly includes unicode/uvernum.h in the regular > expression parser. > > It should be removed once we no longer need to check > `U_ICU_VERSION_MAJOR_NUM` during preprocessing, i.e. once Node.js > updates their ICU. This is an ongoing effort: > nodejs/node#16876 > > BUG=v8:4743 > > Change-Id: I3cd9447b481249a9035d9fb00745057da8809c58 > Reviewed-on: https://chromium-review.googlesource.com/758407 > Reviewed-by: Jakob Gruber <[email protected]> > Reviewed-by: Yang Guo <[email protected]> > Commit-Queue: Mathias Bynens <[email protected]> > Cr-Commit-Position: refs/heads/master@{#49253} [email protected],[email protected],[email protected],[email protected] Change-Id: I58d6b7a49b707c97153b8b0aec141248f5c669e1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:4743 Reviewed-on: https://chromium-review.googlesource.com/759777 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Yang Guo <[email protected]> Cr-Commit-Position: refs/heads/master@{#49255}
This is a reland of 0db90bc Original change's description: > [regexp] Include unicode/uvernum.h in parser > > This patch explicitly includes unicode/uvernum.h in the regular > expression parser. > > It should be removed once we no longer need to check > `U_ICU_VERSION_MAJOR_NUM` during preprocessing, i.e. once Node.js > updates their ICU. This is an ongoing effort: > nodejs/node#16876 > > BUG=v8:4743 > > Change-Id: I3cd9447b481249a9035d9fb00745057da8809c58 > Reviewed-on: https://chromium-review.googlesource.com/758407 > Reviewed-by: Jakob Gruber <[email protected]> > Reviewed-by: Yang Guo <[email protected]> > Commit-Queue: Mathias Bynens <[email protected]> > Cr-Commit-Position: refs/heads/master@{#49253} Bug: v8:4743 Change-Id: Id3f375f27fb5eaa4129884f99095d16763bd6e86 Reviewed-on: https://chromium-review.googlesource.com/758861 Reviewed-by: Yang Guo <[email protected]> Commit-Queue: Mathias Bynens <[email protected]> Cr-Commit-Position: refs/heads/master@{#49260}
mathiasbynens commented Nov 9, 2017
Please consider cherry-picking the fix for https://ssl.icu-project.org/trac/ticket/13462 on top of this. |
srl295 commented Nov 9, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
No, not at all.
I'd rather not… Script Extensions… this includes an updated data file. It should be an ICU maint release if it's critical. This would otherwise make the ICU integration unstable: rebuilding with |
srl295 commented Nov 10, 2017
OK going to land this for now, please open other issues for followup if needed. |
- Update to released ICU 60.1, including: - CLDR 32 (many new languages and data improvements) - Unicode 10 (8,518 new characters, including four new scripts, 7,494 new Han characters, and 56 new emoji characters) - UTF-8 malformed bytes now handled according to W3C/WHATWG spec Fixes: #15540 PR-URL: #16876 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
TimothyGu commented Nov 10, 2017
To confirm, this PR will go into v9.x right? How about v8.x? |
- Update to released ICU 60.1, including: - CLDR 32 (many new languages and data improvements) - Unicode 10 (8,518 new characters, including four new scripts, 7,494 new Han characters, and 56 new emoji characters) - UTF-8 malformed bytes now handled according to W3C/WHATWG spec Fixes: #15540 PR-URL: #16876 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
MylesBorins commented Nov 17, 2017
I'd like to see this live in a release a tiny bit longer before making it to LTS It lands cleanly on 8.x, but will require a backport for 6.x |
gibfahn commented Dec 13, 2017
Landed this on 8.x. @srl295 could you raise a backport for 6.x? |
- Update to released ICU 60.1, including: - CLDR 32 (many new languages and data improvements) - Unicode 10 (8,518 new characters, including four new scripts, 7,494 new Han characters, and 56 new emoji characters) - UTF-8 malformed bytes now handled according to W3C/WHATWG spec Fixes: #15540 PR-URL: #16876 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
MylesBorins commented Dec 13, 2017
I'm adding the semver-minor label defensively... is that accurate? If so @gibfahn will likely need to back this out of 8.x for now |
gibfahn commented Dec 13, 2017
Good point, backed out. |
srl295 commented Dec 13, 2017 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
so… 60.2 coming soon. |
mhdawson commented Jan 15, 2018
@srl295 if we want this on 6.x we need a backport PR this week. |
- Update to released ICU 60.1, including: - CLDR 32 (many new languages and data improvements) - Unicode 10 (8,518 new characters, including four new scripts, 7,494 new Han characters, and 56 new emoji characters) - UTF-8 malformed bytes now handled according to W3C/WHATWG spec Fixes: #15540 PR-URL: #16876 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
srl295 commented Jan 18, 2018
- Update to released ICU 60.1, including: - CLDR 32 (many new languages and data improvements) - Unicode 10 (8,518 new characters, including four new scripts, 7,494 new Han characters, and 56 new emoji characters) - UTF-8 malformed bytes now handled according to W3C/WHATWG spec Fixes: nodejs#15540 PR-URL: nodejs#16876 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
Notable changes: * deps: * update V8 to 6.2.414.46 (Michaël Zasso) [#16413](#16413) * revert ABI breaking changes in V8 6.2 (Anna Henningsen) [#16413](#16413) * upgrade libuv to 1.19.1 (cjihrig) [#18260](#18260) * re land npm 5.6.0 (Myles Borins) [#18625](#18625) * ICU 60 bump (Steven R. Loomis) [#16876](#16876) * crypto: * Support both OpenSSL 1.1.0 and 1.0.2 (David Benjamin) [#16130](#16130) * warn on invalid authentication tag length (Tobias Nießen) [#17566](#17566) * async_hooks: * update defaultTriggerAsyncIdScope for perf (Anatoli Papirovski) [#18004](#18004) * use typed array stack as fast path (Anna Henningsen) [#17780](#17780) * use scope for defaultTriggerAsyncId (Andreas Madsen) [#17273](#17273) * separate missing from default context (Andreas Madsen) [#17273](#17273) * rename initTriggerId (Andreas Madsen) [#17273](#17273) * deprecate undocumented API (Andreas Madsen) [#16972](#16972) * add destroy event for gced AsyncResources (Sebastian Mayr) [#16998](#16998) * add trace events to async_hooks (Andreas Madsen) [#15538](#15538) * set HTTPParser trigger to socket (Andreas Madsen) [#18003](#18003) * add provider types for net server (Andreas Madsen) [#17157](#17157) * n-api: * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109) * cli: * add --stack-trace-limit to NODE_OPTIONS (Anna Henningsen) [#16495](#16495) * console: * add support for console.debug (Benjamin Zaslavsky) [#17033](#17033) * module: * add builtinModules (Jon Moss) [#16386](#16386) * replace default paths in require.resolve() (cjihrig) [#17113](#17113) * src: * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109) * add process.ppid (cjihrig) [#16839](#16839) * http: * support generic `Duplex` streams (Anna Henningsen) [#16267](#16267) * add rawPacket in err of `clientError` event (XadillaX) [#17672](#17672) * better support for IPv6 addresses (Mattias Holmlund) [#14772](#14772) * net: * remove ADDRCONFIG DNS hint on Windows (Bartosz Sosnowski) [#17662](#17662) * process: * fix reading zero-length env vars on win32 (Anna Henningsen) [#18463](#18463) * tls: * unconsume stream on destroy (Anna Henningsen) [#17478](#17478) * process: * improve unhandled rejection message (Madara Uchiha) [#17158](#17158) * stream: * remove usage of *State.highWaterMark (Calvin Metcalf) [#12860](#12860) * trace_events: * add executionAsyncId to init events (Andreas Madsen) [#17196](#17196) PR-URL: #18336
Notable changes: * deps: * update V8 to 6.2.414.46 (Michaël Zasso) [#16413](#16413) * revert ABI breaking changes in V8 6.2 (Anna Henningsen) [#16413](#16413) * upgrade libuv to 1.19.1 (cjihrig) [#18260](#18260) * re land npm 5.6.0 (Myles Borins) [#18625](#18625) * ICU 60 bump (Steven R. Loomis) [#16876](#16876) * crypto: * Support both OpenSSL 1.1.0 and 1.0.2 (David Benjamin) [#16130](#16130) * warn on invalid authentication tag length (Tobias Nießen) [#17566](#17566) * async_hooks: * update defaultTriggerAsyncIdScope for perf (Anatoli Papirovski) [#18004](#18004) * use typed array stack as fast path (Anna Henningsen) [#17780](#17780) * use scope for defaultTriggerAsyncId (Andreas Madsen) [#17273](#17273) * separate missing from default context (Andreas Madsen) [#17273](#17273) * rename initTriggerId (Andreas Madsen) [#17273](#17273) * deprecate undocumented API (Andreas Madsen) [#16972](#16972) * add destroy event for gced AsyncResources (Sebastian Mayr) [#16998](#16998) * add trace events to async_hooks (Andreas Madsen) [#15538](#15538) * set HTTPParser trigger to socket (Andreas Madsen) [#18003](#18003) * add provider types for net server (Andreas Madsen) [#17157](#17157) * n-api: * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109) * cli: * add --stack-trace-limit to NODE_OPTIONS (Anna Henningsen) [#16495](#16495) * console: * add support for console.debug (Benjamin Zaslavsky) [#17033](#17033) * module: * add builtinModules (Jon Moss) [#16386](#16386) * replace default paths in require.resolve() (cjihrig) [#17113](#17113) * src: * add helper for addons to get the event loop (Anna Henningsen) [#17109](#17109) * add process.ppid (cjihrig) [#16839](#16839) * http: * support generic `Duplex` streams (Anna Henningsen) [#16267](#16267) * add rawPacket in err of `clientError` event (XadillaX) [#17672](#17672) * better support for IPv6 addresses (Mattias Holmlund) [#14772](#14772) * net: * remove ADDRCONFIG DNS hint on Windows (Bartosz Sosnowski) [#17662](#17662) * process: * fix reading zero-length env vars on win32 (Anna Henningsen) [#18463](#18463) * tls: * unconsume stream on destroy (Anna Henningsen) [#17478](#17478) * process: * improve unhandled rejection message (Madara Uchiha) [#17158](#17158) * stream: * remove usage of *State.highWaterMark (Calvin Metcalf) [#12860](#12860) * trace_events: * add executionAsyncId to init events (Andreas Madsen) [#17196](#17196) PR-URL: #18336
Notable changes: * deps: * update V8 to 6.2.414.46 (Michaël Zasso) [nodejs#16413](nodejs#16413) * revert ABI breaking changes in V8 6.2 (Anna Henningsen) [nodejs#16413](nodejs#16413) * upgrade libuv to 1.19.1 (cjihrig) [nodejs#18260](nodejs#18260) * re land npm 5.6.0 (Myles Borins) [nodejs#18625](nodejs#18625) * ICU 60 bump (Steven R. Loomis) [nodejs#16876](nodejs#16876) * crypto: * Support both OpenSSL 1.1.0 and 1.0.2 (David Benjamin) [nodejs#16130](nodejs#16130) * warn on invalid authentication tag length (Tobias Nießen) [nodejs#17566](nodejs#17566) * async_hooks: * update defaultTriggerAsyncIdScope for perf (Anatoli Papirovski) [nodejs#18004](nodejs#18004) * use typed array stack as fast path (Anna Henningsen) [nodejs#17780](nodejs#17780) * use scope for defaultTriggerAsyncId (Andreas Madsen) [nodejs#17273](nodejs#17273) * separate missing from default context (Andreas Madsen) [nodejs#17273](nodejs#17273) * rename initTriggerId (Andreas Madsen) [nodejs#17273](nodejs#17273) * deprecate undocumented API (Andreas Madsen) [nodejs#16972](nodejs#16972) * add destroy event for gced AsyncResources (Sebastian Mayr) [nodejs#16998](nodejs#16998) * add trace events to async_hooks (Andreas Madsen) [nodejs#15538](nodejs#15538) * set HTTPParser trigger to socket (Andreas Madsen) [nodejs#18003](nodejs#18003) * add provider types for net server (Andreas Madsen) [nodejs#17157](nodejs#17157) * n-api: * add helper for addons to get the event loop (Anna Henningsen) [nodejs#17109](nodejs#17109) * cli: * add --stack-trace-limit to NODE_OPTIONS (Anna Henningsen) [nodejs#16495](nodejs#16495) * console: * add support for console.debug (Benjamin Zaslavsky) [nodejs#17033](nodejs#17033) * module: * add builtinModules (Jon Moss) [nodejs#16386](nodejs#16386) * replace default paths in require.resolve() (cjihrig) [nodejs#17113](nodejs#17113) * src: * add helper for addons to get the event loop (Anna Henningsen) [nodejs#17109](nodejs#17109) * add process.ppid (cjihrig) [nodejs#16839](nodejs#16839) * http: * support generic `Duplex` streams (Anna Henningsen) [nodejs#16267](nodejs#16267) * add rawPacket in err of `clientError` event (XadillaX) [nodejs#17672](nodejs#17672) * better support for IPv6 addresses (Mattias Holmlund) [nodejs#14772](nodejs#14772) * net: * remove ADDRCONFIG DNS hint on Windows (Bartosz Sosnowski) [nodejs#17662](nodejs#17662) * process: * fix reading zero-length env vars on win32 (Anna Henningsen) [nodejs#18463](nodejs#18463) * tls: * unconsume stream on destroy (Anna Henningsen) [nodejs#17478](nodejs#17478) * process: * improve unhandled rejection message (Madara Uchiha) [nodejs#17158](nodejs#17158) * stream: * remove usage of *State.highWaterMark (Calvin Metcalf) [nodejs#12860](nodejs#12860) * trace_events: * add executionAsyncId to init events (Andreas Madsen) [nodejs#17196](nodejs#17196) PR-URL: nodejs#18336
From http://site.icu-project.org/download/60
Fixes: #15540
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passesAffected core subsystem(s)
deps