Temporal: Scope Reduction
#66 · 2024-07-08 · JavaScript, TemporalThe meeting of Ecma TC39 in June 2024 discussed the Temporal proposal that has been in the works for a long time by now. Unfortunately, the discussion was not about being able to publish it soon. Instead, a scope reduction was proposed. Apparently, implementors (Google, Apple, Mozilla) have reservations about the proposal's scope size and complexity.
- https://github.com/tc39/proposal-temporal
- https://github.com/tc39/agendas/blob/main/2024/06.md#agenda-items
- https://docs.google.com/presentation/d/1PPMAxVnVjFwRPuJwOvVsw9nZLQ6jDM8Hd5PNO0Grp4I/edit#slide=id.p
Further information and the exact discussions that took place presumably were not publicly available so far. But now, there is an open PR to add these to the usual repository that contains TC39 meeting notes.
- https://github.com/tc39/notes/pull/330
- https://github.com/tc39/notes/blob/e9e203a8389a2300573209cee58bb1457bc72b07/meetings/2024-06/june-12.md#temporal-stage-3-update-and-scope-reduction
Conclusion: The committee reached consensus that the Temporal proposal is apparently too big. Some parts of it need to be stripped for now and may be reconsidered in follow-up proposals. Specifically, the following parts will be removed from the current proposal:
Temporal.Calendar
- user calendars
Temporal.TimeZone
- user time zones
getISOFields()
methodswithPlainDate()
methodsPlainTime
’stoPlainDateTime
andtoZonedDateTime
methodsepochSeconds
propertiesepochMicroseconds
propertiesInstant.fromEpochSeconds
Instant.fromEpochMicroseconds
PlainDateTime
andZonedDateTime
’stoPlainYearMonth
andtoPlainMonthDay
methodsInstant
’stoZonedDateTime
methodNow.zonedDateTime
Now.plainDateTime
Now.plainDate
relativeTo
option fromDuration.add
.
Let's hope that at least the subset of Temporal can be published as a standard soon. Ideally with ECMAScript 2025.