Describe your bug
On Node.js v26.4.0 installed via the NodeSource RPM repo on AlmaLinux 8, the Temporal global is not defined by default, even though Node 26 is documented to ship Temporal unflagged:
$ node --version
v26.4.0
$ node -e "console.log(typeof Temporal)"
undefined
$ node -e "console.log(Temporal.Now.instant())"
ReferenceError: Temporal is not defined
However, the binary reports Temporal support as compiled in:
$ node -e "console.log(process.config.variables.v8_enable_temporal_support)"
1
And Temporal does work if the legacy flag is passed explicitly:
$ node --harmony-temporal -e "console.log(typeof Temporal)"
object
This suggests Temporal was compiled into this build (v8_enable_temporal_support: 1), but whatever runtime switch is supposed to expose it unflagged by default (per the v26.0.0 release notes) isn't taking effect on this build — it still behaves like a pre-26 experimental build gated behind --harmony-temporal.
Distribution information
- OS: AlmaLinux 8
- Node.js version: v26.4.0 (installed from NodeSource RPM repo,
node_26.x)
- Architecture: (please confirm — x86_64 or aarch64)
Diagnostics already collected
$ node --version
v26.4.0
$ node -e "console.log(process.platform, process.arch)"
linux <arch>
$ node -e "console.log(process.config.variables.v8_enable_temporal_support)"
1
$ node -e "console.log(process.config.variables.node_shared_openssl, process.config.variables.icu_small, process.config.variables.node_use_bundled_v8)"
false false true
$ node -e "console.log(process.config.variables.with_intl, process.config.variables.icu_gyp_path, process.config.variables.node_shared_icu)"
undefined tools/icu/icu-generic.gyp undefined
$ node -e "console.log(typeof Temporal)"
undefined
$ node --harmony-temporal -e "console.log(typeof Temporal)"
object
icu_gyp_path pointing at tools/icu/icu-generic.gyp suggests bundled (not system/shared) ICU is in use, which would argue against the known "Temporal disabled when compiling with shared ICU" issue (nodejs/node#62676) — but I haven't been able to fully rule that out from userland config inspection alone.
Expected behavior
Per the Node.js 26 release notes, Temporal should be available as a global without any flag:
"The Temporal API is now enabled by default in Node.js 26."
Actual behavior
Temporal is undefined unless --harmony-temporal is passed explicitly, despite the build reporting v8_enable_temporal_support: 1.
Additional context
I'm aware of related but distinct upstream issues:
This report differs from both: the flag reports Temporal as compiled in, but it's still runtime-gated behind the old experimental flag name. This looks like it could be a NodeSource build/packaging configuration issue rather than an upstream Node.js bug, but I wanted to flag it here first in case others are hitting it on EL8/EL9 builds. Happy to provide additional diagnostics if useful.
Describe your bug
On Node.js v26.4.0 installed via the NodeSource RPM repo on AlmaLinux 8, the
Temporalglobal is not defined by default, even though Node 26 is documented to ship Temporal unflagged:However, the binary reports Temporal support as compiled in:
And Temporal does work if the legacy flag is passed explicitly:
This suggests Temporal was compiled into this build (
v8_enable_temporal_support: 1), but whatever runtime switch is supposed to expose it unflagged by default (per the v26.0.0 release notes) isn't taking effect on this build — it still behaves like a pre-26 experimental build gated behind--harmony-temporal.Distribution information
node_26.x)Diagnostics already collected
icu_gyp_pathpointing attools/icu/icu-generic.gypsuggests bundled (not system/shared) ICU is in use, which would argue against the known "Temporal disabled when compiling with shared ICU" issue (nodejs/node#62676) — but I haven't been able to fully rule that out from userland config inspection alone.Expected behavior
Per the Node.js 26 release notes, Temporal should be available as a global without any flag:
Actual behavior
Temporal is undefined unless
--harmony-temporalis passed explicitly, despite the build reportingv8_enable_temporal_support: 1.Additional context
I'm aware of related but distinct upstream issues:
v8_enable_temporal_supportwould be0there, not1)--with-intl=system-icuor--without-intl)This report differs from both: the flag reports Temporal as compiled in, but it's still runtime-gated behind the old experimental flag name. This looks like it could be a NodeSource build/packaging configuration issue rather than an upstream Node.js bug, but I wanted to flag it here first in case others are hitting it on EL8/EL9 builds. Happy to provide additional diagnostics if useful.