Repository navigation
Temporal API #1381
Description
Description
Description
The Temporal API is the modern replacement for the legacy Date object in JavaScript. It provides immutable date/time types, proper time zone support, calendar systems, and nanosecond precision.
Temporal has reached Stage 4 in TC39 and is already shipping in Chrome/Edge and Firefox. Safari/WebKit still lacks full support (or has incomplete support). This creates a significant interoperability gap for a fundamental language feature that developers have been waiting for for many years.
Because Temporal is designed as a full replacement for Date, incomplete support forces developers to either:
- Continue using the broken
DateAPI - Ship large polyfills
- Use feature detection + dual code paths
Making Temporal fully interoperable across all major engines would remove one of the longest-standing pain points in the JavaScript language.
Specification
- TC39 proposal (Stage 4): https://github.com/tc39/proposal-temporal
- Spec text: https://tc39.es/proposal-temporal/
- MDN documentation: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal
web-feature
https://web-platform-dx.github.io/web-features-explorer/features/temporal/
Tests
Primary test suite lives in Test262:
https://github.com/tc39/test262/tree/main/test/built-ins/Temporal
There are thousands of tests covering the API. While Interop traditionally relies on WPT, Test262 is the authoritative suite for this language feature and is already used by all major engines.
Current Implementation Status (as of September 2026)
- Chrome / Edge: Shipped (Chrome 144+)
- Firefox: Shipped (Firefox 139+)
- Safari / WebKit: Not supported in stable. Support was added in Safari Technology Preview 249 (August 2026) — implementation is in progress but not yet in a stable release.
Additional Signals
Browser bugs:
- WebKit: https://bugs.webkit.org/show_bug.cgi?id=223166
- Chromium: https://issues.chromium.org/issues/401065166
- Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1839673
Developer demand:
- Temporal has been one of the most requested JavaScript features for years (State of JS surveys, GitHub discussions, Stack Overflow, Twitter/X).
- Previous Interop proposal for 2026: Temporal (Interop 2026 Focus Area Proposal) #1022 (closed, not selected).
- Heavy use of polyfills (e.g.
@js-temporal/polyfill) indicates strong real-world demand.
Why it matters for Interop:
- Core language feature (not a niche CSS/API).
- High developer frustration with the current
DateAPI. - Already mature (Stage 4 + extensive Test262 coverage).
- Shipping in two engines already — the remaining gap is mainly Safari.
Suggested Focus
Full interoperability of the Temporal namespace and all its main types:
Temporal.InstantTemporal.ZonedDateTimeTemporal.PlainDate/PlainTime/PlainDateTimeTemporal.DurationTemporal.TimeZone/ Calendar supportTemporal.Now
Specification
https://tc39.es/proposal-temporal/
web-feature
https://web-platform-dx.github.io/web-features-explorer/features/temporal/
Test Links
No dedicated web-platform-tests currently exist for Temporal. The primary and most comprehensive test coverage lives in Test262: https://github.com/tc39/test262/tree/main/test/built-ins/Temporal
Porting or mirroring the key Test262 scenarios into web-platform-tests would likely be needed for Interop scoring — happy to discuss the best approach with the Interop team if this proposal moves forward.
Additional Signals
Browser Bugs
- WebKit: https://bugs.webkit.org/show_bug.cgi?id=223166 (Safari stable: not supported; Safari Technology Preview 249, Aug 2026, added initial support)
- Chromium: https://issues.chromium.org/issues/401065166
- Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1839673
Size and Current State of the Feature
Temporal reached TC39 Stage 4 in March 2026 (part of ECMAScript 2026). Shipping natively in Chrome/Edge 144+ and Firefox 139+. It's a large namespace (Instant, ZonedDateTime, PlainDate/PlainTime/PlainDateTime, Duration, TimeZone/Calendar support, Now) designed to replace the legacy Date object.
Developer Surveys / Other Developer Sentiment
- Consistently ranked among the most-wanted JavaScript features in State of JS surveys over multiple years.
- Previous Interop 2026 proposal: Temporal (Interop 2026 Focus Area Proposal) #1022 (closed, not selected).
- Heavy real-world reliance on polyfills (e.g.,
@js-temporal/polyfill) is itself a signal of pent-up demand.
Site Breakage and Workaround
Sites currently work around missing native support either by continuing to use the error-prone Date API or by shipping large polyfill libraries—both workarounds developers want to retire once Temporal is fully interoperable.
Likely Compatibility Impact
Temporal is a core language feature, not a niche API — full interoperability would remove one of JavaScript's longest-standing pain points and benefit essentially every app that handles dates, times, or time zones.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTodo
Activity
github-actions commentedon Sep 8, 2026
This comment was automatically generated based on the information you provided. Please don't edit it.
Below is additional information about the web feature (from the web-features project) which is referenced in your proposal.
If this doesn't accurately correspond to your proposal, please update your initial comment to include
web-features: <feature-id>.To find feature IDs, use the web-features explorer.
Feature Temporal
TemporalAPI allows you to work with dates, times, time zones, and durations. It is more powerful than theDateAPI.jgraham commentedon Sep 8, 2026
Are there more tests than https://wpt.fyi/results/third_party/test262/test/intl402/Temporal?label=experimental&label=master&aligned? Those look like they have very high pass rates in all prerelease browsers.
AbolnikovAnton commentedon Sep 8, 2026
Supporting this proposal.
In production transactional and real-time applications, date and time handling quickly goes beyond formatting a timestamp for the UI. Event ordering, transaction history, recovery flows, reporting, and converting between system time and local time all depend on having predictable time semantics.
The current interoperability gap also creates an awkward adoption problem: even when Temporal is the better model, teams targeting all major browsers still need a polyfill or a second path around Date.
Getting Temporal consistently available across engines would make it much easier to treat it as the platform default rather than an optional dependency.
gsnedders commentedon Sep 9, 2026
Searching more generically, https://wpt.fyi/results/third_party/test262/test?label=master&label=experimental&aligned&q=temporal finds a load more — but still very high pass rates in all prerelease browsers.
[-]Temporal API (Interop 2027 Focus Area Proposal)[/-][+]Temporal API[/+]fabon-f commentedon Oct 12, 2026
AFAIK implementation of Temporal in WebKit is basically completed, including refactoring, polishing and fixing bugs. The only question is when Apple will ship it in Safari. (I can understand the decision to postpone shipping Temporal in Safari though, because Temporal involves enormous lines of immature C++ code added just before the release of Safari 27...)