Description
openedon Jul 13, 2023
As of 2023-07-12, we have resolved all known discussions that might result in normative changes, and all of the normative changes have been presented to TC39 and received consensus. This issue is a checklist and plan for merging those normative PRs into the spec text, so that observers can see the status at a glance.
(Updated at later dates to include new normative changes to be presented to TC39 in November 2023 and February 2024)
- Normative: Update calendar data consistency validation #2500 - consensus in March 2023
- Code review: some unresolved editorial comments (action for @gibson042)
- Tests: Temporal: Update test for monthDayFromFields() test262#3835
- More tests: Temporal: Update PlainMonthDay-related tests test262#3899
- Unresolved discussion about detail of normative change, Polyfill: Update per #2500 #2663
- Normative: Audit of user-visible operations in Temporal #2519 - consensus in March 2023
- Code review: some unresolved editorial comments (action for @ptomato)
- Part 1: Audit of user code calls, part 1 #2645 - needs review / rubberstamping
- Part 2: Audit of user code calls, part 2 #2657 - needs review / rubberstamping
- Part 3: Audit of user code calls, part 3 #2671 - needs review / rubberstamping
- Part 4: Normative: Audit of user-visible operations in Temporal #2519 (original PR, now rebased on top of the other parts)
- Follow-up adjustment: Remove conditional lookups #2726 - needs review
- Tests: in a branch, a few items need some extra test coverage (action for @ptomato)
- Part 1: Tests for audit of Temporal user code calls, part 1 test262#3894 - needs review
- Part 2: Tests for audit of Temporal user code calls, part 2 test262#3897 - needs review
- Part 3: Temporal: Audit of user code calls, part 3 test262#3923 - needs review
- Part 4: Temporal: Audit of user code calls, part 4 (& last) test262#3939 - needs review
- Follow-up adjustment: Temporal: Remove conditional lookups test262#3959 - needs review
- Code review: some unresolved editorial comments (action for @ptomato)
- Normative: Remove duplicates in PrepareTemporalFields #2570 - consensus in May 2023
- Code review
- Tests: Temporal Issue 2532 test262#3858, needs review from a test262 maintainer
- Normative: Correctly respect largestUnit option in duration rounding #2571 - consensus in May 2023
- Needs Normative: Audit of user-visible operations in Temporal #2519 to be merged first
- Code review
- Tests: Temporal: Tests for balancing units after rounding test262#3956, needs review from a test262 maintainer
- Normative: Limit offset time zones to minutes precision #2607 - consensus in July 2023
- Code review: some unresolved editorial comments (action for @justingrant)
- Tests: Tests for proposal-temporal#2607: Limit offset time zones to minutes precision test262#3862, one open code review comment (action for
@justingrant@gibson042)
- Normative: don't coerce non-string primitives to strings, esp. time zones, offsets, and calendars #2574 - consensus in July 2023
- Code review: some unresolved editorial comments (action for @justingrant)
- Tests: Temporal tests for "stop coercing non-string primitives to strings" (tc39/proposal-temporal#2574) test262#3847,
still in draft statusneeds review from a test262 maintainer (action for @ptomato)
- Normative: Limit Duration units to prevent arbitrary-precision integer arithmetic, and prevent loops #2612 - consensus in July 2023
- Needs Normative: Audit of user-visible operations in Temporal #2519 to be merged first
- Needs Normative: Correctly respect largestUnit option in duration rounding #2571 to be merged first
- Part 1: Duration normalization, part 1 of 3 #2722 - needs
editorial/code review from championsa quick look at the recently added bugfix - Part 2: Duration normalization, part 2 of 3 #2727 - @ptomato addressing Anba's review comments. Still needs editorial/code review from champions
- Last part: Normative: Limit Duration units to prevent arbitrary-precision integer arithmetic, and prevent loops #2612 - @ptomato investigating for potential bug. Still needs editorial/code review from champions
- Tests:
- Part 1: Temporal.Duration normalization tests, part 1 of 3 test262#3957 - OK to merge when Duration normalization, part 2 of 3 #2727 is OK to merge
- Part 2: Temporal.Duration normalization tests, part 2 of 3 test262#3961 - needs review from a test262 maintainer
- Last part: Temporal: Prevent arbitrary loops in NormalizedTimeDurationToDays test262#3999
- Normative: Change overflow behaviour of PYM/PMD.toPlainDate #2718 - consensus in November 2023
- Present in TC39 meeting
- Needs editorial/code review from champions
- Tests: Temporal: Change overflow behaviour of PYM/PMD.toPlainDate test262#3954
-
weekOfYear
/yearOfWeek
is not clearly specified for non-ISO calendars #2744 - consensus in February 2024- Present in TC39 meeting
- Specification PR Normative: Make CalendarDateWeekOfYear return undefined #2756
- Tests Temporal: Tests for week-numbering algorithm test262#4009
-
Duration::round
with ZonedDateTime relativeTo conflicts withZonedDateTime::until
results #2742 - consensus in February 2024- Present in TC39 meeting
- Specification PR for fixing until/round discrepancy Normative: Fix Duration rounding relative to ZonedDateTime #2758 — needs comments addressed
- Specification PR for fixing ZonedDateTime intermediate value Normative: [Alt PR] Fix intermediate value in ZonedDateTime difference #2810
- Tests Temporal: Tests for Duration rounding fix & consolidation test262#4041 — needs review, possible changes after addressing comments on Normative: Fix Duration rounding relative to ZonedDateTime #2758
- Inconsistent results in DifferenceISODate? #2535 - consensus in February 2024
- Present in TC39 meeting
- Specification PR Normative: Fix date difference for end-of-month edge cases #2759
- Tests Temporal: Tests for date difference algorithm test262#4004 - needs review from a test262 maintainer
- Bug: ZonedDateTime::round incorrect results with smallestUnit:day #2790 - consensus in April 2024
- Present in TC39 meeting
- Specification PR Normative: Fix ZonedDateTime::round incorrect results with smallestUnit:day #2797
- Tests Temporal: ZonedDateTime::round incorrect results with smallestUnit:day test262#4021
-
PlainDateTime::until/since
incorrect results near month boundaries when time-diff has opposite sign #2820 - consensus in June 2024- Present in TC39 meeting
- Specification PR Normative: Fix bug with PlainDateTime since/until near month boundaries #2838
- Tests Temporal: Tests for bug with PlainDateTime since/until near month boundaries test262#4078
- Normative: Revert U+2212 from time zone offset grammar #2856 - consensus in June 2024
- Present in TC39 meeting
- Specification PR Normative: Revert U+2212 from time zone offset grammar #2856
- Corresponding ECMA-262 PR Normative: Revert U+2212 (Unicode minus sign) as a valid character in timezone offsets ecma262#3334
- Tests No U+2122 MINUS SIGN in offset time zone IDs and ISO 8601 strings test262#4120
- Removals - consensus in June 2024
- Present in TC39 meeting
- Specification PRs
- Tests PRs
- RoundRelativeDuration: Disallow edge case in roundingIncrement within year/month #2902 - consensus in July 2024
- Present in TC39 meeting
- Specification PR Normative: Disallow rounding to increment while balancing to calendar unit #2916
- Tests Temporal: Tests for disallowed corner case in rounding durations test262#4152
- (Merge blocked on Normative: Calendar and TimeZone removals #2925)
- ZonedDateTime.startOfDay: is it guaranteed to be the first instant in a calendar day? #2910 - consensus in July 2024
- Present in TC39 meeting
- Specification PR Normative: Handle "start of day" separately from "midnight" #2918
- Tests Temporal: Tests for corner case in TZDB involving DST transition in 1919 test262#4158
- (Merge blocked on Normative: Calendar and TimeZone removals #2925)
After completing this checklist, barring fixes for bugs found during implementation, the spec should be in its final normative form, representing exactly what needs to be implemented.
The champions' plan of record after that point is to quickly address two open editorial issues that affect the ISO 8601 grammar, since V8 has let us know that the grammar changes can be disruptive even if they are only editorial ones:
- Use early errors to simplify ISO 8601 grammar #1984 - PR Editorial: Use early errors and parameterization to simplify ISO 8601 grammar #2766
- Collapse grammar nonterminals that are only distinct for the purposes of disambiguation #2006 - PR Editorial: Collapse nonterminals only used for disambiguation #2767
Then, address the lower-priority editorial issues listed in the milestone https://github.com/tc39/proposal-temporal/milestone/11