Title: deps: ICU tzdata needs update to 2026a for America/Vancouver (BC permanent DST) · Issue #62323 · nodejs/node · GitHub
Open Graph Title: deps: ICU tzdata needs update to 2026a for America/Vancouver (BC permanent DST) · Issue #62323 · nodejs/node
X Title: deps: ICU tzdata needs update to 2026a for America/Vancouver (BC permanent DST) · Issue #62323 · nodejs/node
Description: Version v25.8.1 Platform Linux wp10 6.17.0-19-generic #19-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 14:02:58 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux Subsystem No response What steps will reproduce the bug? British Columbia adopted permanent D...
Open Graph Description: Version v25.8.1 Platform Linux wp10 6.17.0-19-generic #19-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 14:02:58 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux Subsystem No response What steps will reproduce the b...
X Description: Version v25.8.1 Platform Linux wp10 6.17.0-19-generic #19-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 14:02:58 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux Subsystem No response What steps will reproduce the b...
Opengraph URL: https://github.com/nodejs/node/issues/62323
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"deps: ICU tzdata needs update to 2026a for America/Vancouver (BC permanent DST)","articleBody":"### Version\n\nv25.8.1\n\n### Platform\n\n```text\nLinux wp10 6.17.0-19-generic #19-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 14:02:58 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux\n```\n\n### Subsystem\n\n_No response_\n\n### What steps will reproduce the bug?\n\nBritish Columbia adopted permanent DST effective November 1, 2026. Node.js currently has `America/Vancouver` falling back to PST (UTC-8) that day, which will be incorrect. You can verify the bug after November 1, 2026:\n\n```js\nnode -e \"console.log(process.versions.tz)\" // shows current tzdata version\nnode -e \"console.log(new Intl.DateTimeFormat('en-CA', {\n timeZone: 'America/Vancouver',\n timeZoneName: 'short',\n year: 'numeric', month: '2-digit', day: '2-digit',\n hour: '2-digit', minute: '2-digit'\n}).format(new Date('2026-11-01T09:00:00Z')))\"\n// Expected on patched Node: 2026-11-01, 02:00 PDT\n// Actual on unpatched Node: 2026-11-01, 01:00 PST ← wrong\n```\n\nRoot cause: The bundled ICU tzdata predates IANA 2026a (released 2026-03-01), which includes the `America/Vancouver` rule change. Reference: https://github.com/eggert/tz/commit/8b46071fd85a7a9434d63894bac64d30362cc16d\n\nNote also [ICU 78.3](https://github.com/unicode-org/icu/releases/tag/release-78.3) mentions updates to timezone data 2026a\n\nFix: Update `deps/icu-small` to include tzdata 2026a per the process documented in [maintaining-icu.md](https://github.com/nodejs/node/blob/main/doc/contributing/maintaining/maintaining-icu.md#time-zone-data).\n\nUrgency: The detonation date is November 1, 2026, so there is time, but backports to LTS lines (v22.x, v24.x) will be needed.\n\n### How often does it reproduce? Is there a required condition?\n\nAlways reproducible, no required conditions\n\n### What is the expected behavior? Why is that the expected behavior?\n\n```\n$ node -e \"console.log(process.versions.tz)\"\n2026a\n$ node -e \"console.log(new Intl.DateTimeFormat('en-CA', {\n timeZone: 'America/Vancouver',\n timeZoneName: 'short',\n year: 'numeric', month: '2-digit', day: '2-digit',\n hour: '2-digit', minute: '2-digit'\n}).format(new Date('2026-11-01T09:00:00Z')))\"\n2026-11-01, 02:00 a.m. MST\n$\n```\n\n### What do you see instead?\n\n```\n$ node -e \"console.log(process.versions.tz)\"\n2025c\n$ node -e \"console.log(new Intl.DateTimeFormat('en-CA', {\n timeZone: 'America/Vancouver',\n timeZoneName: 'short',\n year: 'numeric', month: '2-digit', day: '2-digit',\n hour: '2-digit', minute: '2-digit'\n}).format(new Date('2026-11-01T09:00:00Z')))\"\n2026-11-01, 01:00 a.m. PST\n$\n```\n\n### Additional information\n\n_No response_","author":{"url":"https://github.com/mjradwin","@type":"Person","name":"mjradwin"},"datePublished":"2026-03-18T16:54:59.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":6},"url":"https://github.com/62323/node/issues/62323"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:cd382ac8-a291-bc75-f874-ab38d0b8448c |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 9E96:189645:C07442:FE1AE5:6A4C46A4 |
| html-safe-nonce | a4da6103d83af0254a3d616acb9762d6cb51f89d9de0c804f019f32ece75eb6c |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RTk2OjE4OTY0NTpDMDc0NDI6RkUxQUU1OjZBNEM0NkE0IiwidmlzaXRvcl9pZCI6IjU3MTUyNjM0MzQ2OTg0NDEzMiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 4a0518fa41b0f475918146439e51092af3ce1d0713be5d814bb43df04d211679 |
| hovercard-subject-tag | issue:4096470041 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/62323/issue_layout |
| twitter:image | https://opengraph.githubassets.com/48df617c9568edf4827d8fb990cedf8df43b6c688b3475b0d339a4e65ba1a519/nodejs/node/issues/62323 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/48df617c9568edf4827d8fb990cedf8df43b6c688b3475b0d339a4e65ba1a519/nodejs/node/issues/62323 |
| og:image:alt | Version v25.8.1 Platform Linux wp10 6.17.0-19-generic #19-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 14:02:58 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux Subsystem No response What steps will reproduce the b... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | mjradwin |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c |
| turbo-cache-control | no-preview |
| go-import | github.com/nodejs/node git https://github.com/nodejs/node.git |
| octolytics-dimension-user_id | 9950313 |
| octolytics-dimension-user_login | nodejs |
| octolytics-dimension-repository_id | 27193779 |
| octolytics-dimension-repository_nwo | nodejs/node |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 27193779 |
| octolytics-dimension-repository_network_root_nwo | nodejs/node |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3996b3b83990e134be6c099ab9a7f48f140ae80f |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width