# 107^th^ Meeting of TC39 - Agenda: https://github.com/tc39/agendas/blob/main/2025/04.md - Reflector: https://github.com/tc39/Reflector/issues/554 (has notes and TCQ) ## Agenda key When applicable, use these emoji as a prefix to the agenda item topic. | Emoji | Meaning | | :---: | :--- | | ❄️ | hard schedule constraints apply to this agenda item (e.g. presenter) | | 🔒 | schedule constraints apply to this agenda item | | ⌛️ | late addition for stage advancement and/or schedule prioritization | | 🔁 | continuation of a previous agenda item | ## Day 1 <details> <summary>10:00 to 15:00 America/New_York on Monday</summary> ### 10:00-12:00 (full) - Opening & Welcome (15m, Ujjwal Sharma) - Opening of the meeting - TC39 follows its Code of Conduct - Introduction of attendees - Host facilities, local logistics - Overview of communication tools - Quick recap of meeting IPR policy - Reminder to review GitHub Delegate teams (Jordan Harband) - <details> <summary>Note about meeting transcriptions</summary> A detailed transcript of the meeting is being prepared and will be eventually posted on GitHub. You may edit this at any time during the meeting in Google Docs for accuracy, including deleting comments which you do not wish to appear. You may also request corrections or deletions after the fact, by editing the Google Doc (in the first two weeks after the TC39 meeting) or subsequently making a PR in the notes repository or contacting the TC39 chairs. </details> - 🗒️ Call for note-takers - Adoption of the agenda - Presenters: please be on the lookout for messages from chairs; we may need to move topics forward if time frees up. - Approval of the minutes from last meeting - Next meeting host and logistics - Secretary's Report ([slides](TBD)) (15m, Aki Rose-Braun) - Project Editors’ Reports - [ECMA262](https://github.com/tc39/ecma262) Status Updates (5m, Kevin Gibbons) - [ECMA402](https://github.com/tc39/ecma402) Status Updates (5m, Ujjwal Sharma) - [ECMA404](https://www.ecma-international.org/publications/standards/Ecma-404.htm) Status Updates (1m, Chip Morningstar) - ❄️ [Test262](https://github.com/tc39/test262) Status Updates (5m, Philip Chimento) - Task Group Reports - TG3: Security (1m, Chris de Almeida) - ❄️ TG4: Source Maps (5m, Jonathan Kuperman) - TG5: Experiments in Programming Language Standardization (5m, Mikhail Barash) - Updates from the [CoC Committee](https://tc39.es/code-of-conduct/#code-of-conduct-committee) (1m, Chris de Almeida) - Normative: add notation to PluralRules ([ecma402#989](https://github.com/tc39/ecma402/pull/989), [slides](https://notes.igalia.com/p/UpmK0K8eo)) (Ujjwal Sharma, 5m) - ❄️ Normative: Mark sync module evaluation promise as handled ([#3535](https://github.com/tc39/ecma262/pull/3535), [slides](https://docs.google.com/presentation/d/1kheOg1AZDj-T9n0O-0sbd5IBwvnjiODyJcK1Ez6Q0JU)) (Nicolò Ribaudo, 10m) - [Note about changed behavior of Array.fromAsync](https://github.com/tc39/proposal-array-from-async/issues/39#issuecomment-1526744932) after landing [#2600](https://github.com/tc39/ecma262/pull/2600) (Kevin Gibbons, 5m) - ❄️(NRO)🔒(SHS✓, <sub>before Disposable AsyncContext</sub>✓) [AsyncContext](https://github.com/tc39/proposal-async-context) Stage 2 [Update](https://github.com/tc39/proposal-async-context/blob/master/FRAMEWORKS.md) ([slides](https://docs.google.com/presentation/d/1YkSQIWxCQCLSe1WKFWpndEd-gdf9coE1HRYa_v_z5J0/)) (Andreu Botella, Chengzhong Wu, Nicolò Ribaudo, 45m) - ❄️ [Temporal](https://github.com/tc39/proposal-temporal) status update ([slides](https://ptomato.name/talks/tc39-2025-04/#1)) (Philip Chimento, 10m) ### Lunch (60 minutes) ### 13:00-15:00 (full) - 🔒(JHD✓,LCA✓,NRO✓,SFC✗, <sub>before Withdrawing Records & Tuples</sub>✓) Composite Keys for stage 1 ([repo](https://github.com/acutmore/proposal-composites), [slides](https://docs.google.com/presentation/d/1n7lj_y02f4QjrTMvRGs3aZXt_zji5nSVYGhmVchMpvI/)) (Ashley Claymore, 60m) - 🔒(JHD✗) [Immutable ArrayBuffer](https://github.com/tc39/proposal-immutable-arraybuffer) for stage 3 ([keynote slides](https://github.com/tc39/proposal-immutable-arraybuffer/blob/main/immu-arraybuffer-talks/immu-arrayBuffers-stage3.key), [pdf slides](https://github.com/tc39/proposal-immutable-arraybuffer/blob/main/immu-arraybuffer-talks/immu-arrayBuffers-stage3.pdf)) (Mark Miller, Peter Hoddie, 30m) - 🔒(JHD✗) [Upsert](https://github.com/tc39/proposal-upsert) for stage 2.7 ([slides](https://docs.google.com/presentation/d/1Mfc7jl2Rbe8K8LCJWtjNZS94tQpzgvQIBfrq2e_iRcU/)) (Daniel Minor, 30m) - 🔒(<sub>after Composite Keys for stage 1</sub>✓) ⌛️ Withdrawing [Record & Tuples](https://github.com/tc39/proposal-record-tuple) ([slides](https://docs.google.com/presentation/d/1afxyqJthBWsOpBvmPFP-VOhT8KyVF_AQlXLj0nkY6v4/)) (Ashley Claymore, 15m) </details> ## Day 2 <details> <summary>10:00 to 15:00 America/New_York on Tuesday</summary> ### 10:00-12:00 (full) - [Don't Remember Panicking](https://github.com/tc39/proposal-oom-fails-fast/tree/master) stage 1 Update ([keynote slides](https://github.com/tc39/proposal-oom-fails-fast/blob/master/panic-talks/dont-remember-panicking.key), [pdf slides](https://github.com/tc39/proposal-oom-fails-fast/blob/master/panic-talks/dont-remember-panicking.pdf)) (Mark Miller, Peter Hoddie, 60m) - ❄️🔒(JHD✗,NRO✗) Enums for Stage 1 ([explainer](https://github.com/rbuckton/proposal-enum), [slides](https://1drv.ms/p/c/934f1675ed4c1638/EYypvengQohMlG52w1qseW8BCwCkSG0Y-2ip8Zq7pxoOFw?e=Aklyqu)) (Ron Buckton, 60m) ### Lunch (60 minutes) ### 13:00-15:00 (full) - ❄️🔒(JHD✓) [`Object.propertyCount`](https://github.com/ljharb/object-property-count) for stage 1 or 2 (Ruben Bridgewater, 30m) - 🔒(RBN✓) [Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management) implementer feedback ([slides](https://docs.google.com/presentation/d/1F4kLwEUvBmyyTWq06HQgiJypcCWm3uwOzVDzFQ0xauE/)) (Daniel Minor, 30m) - 🔒(JHD✓) [Non-extensible Applies to Private](https://github.com/syg/proposal-nonextensible-applies-to-private) for stage 1, 2, or 2.7 ([keynote slides](https://github.com/syg/proposal-nonextensible-applies-to-private/blob/main/no-stamping-talks/non-extensible-applies-to-private.key), [pdf slides](https://github.com/syg/proposal-nonextensible-applies-to-private/blob/main/no-stamping-talks/non-extensible-applies-to-private.pdf)) (Mark Miller, Shu-yu Guo, 30m) - 🔁 Continuation: ❄️🔒(JHD✓) Object.propertyCount for stage 1 or 2 (Ruben Bridgewater, 15m) - 🔁 Continuation: [Don't Remember Panicking](https://github.com/tc39/proposal-oom-fails-fast/tree/master) stage 1 Update ([keynote slides](https://github.com/tc39/proposal-oom-fails-fast/blob/master/panic-talks/dont-remember-panicking.key), [pdf slides](https://github.com/tc39/proposal-oom-fails-fast/blob/master/panic-talks/dont-remember-panicking.pdf)) (Mark Miller, Peter Hoddie, 15m) </details> ## Day 3 <details> <summary>10:00 to 15:00 America/New_York on Wednesday</summary> ### 10:00-12:00 (full) - ❄️ [Intl Era Month Code](https://github.com/tc39/proposal-intl-era-monthcode) Stage 2 Update (Shane F Carr, 30m) - 🔒(JHD✗,SFC✓) [Compare Strings by Codepoint](https://github.com/endojs/proposal-compare-strings-by-codepoint) for stage 1 or 2 (slides coming) (Mathieu Hofman, Mark Miller, 30m) - 🔒(AKI✓,JHD✗) Update to Consensus policy ([slides](https://github.com/msaboff/tc39/blob/master/TC39%20Consensus%20Apr%202025.pdf)) (Michael Saboff, 60m) ### Lunch (60 minutes) ### 13:00-15:00 (full) - 🔒(NRO✓,SFC✓) Stage 1 update for [decimal](https://github.com/tc39/proposal-decimal) & [measure](https://github.com/tc39/proposal-measure): Amounts ([slides](https://notes.igalia.com/p/tc39-2025-04-decimal-intl-integration)) (Jesse Alama, 60m) - ❄️🔒(SFC✓) Guidelines for Locale-Sensitive Testing in Test262 ([slides](https://ptomato.name/talks/tc39-2025-04/#8)) (Philip Chimento, 30m) - ❄️🔒(JHD✗) [`export defer`](https://github.com/nicolo-ribaudo/proposal-deferred-reexports) extracted from `import defer`: stage 2 update or for stage 1 ([slides](https://docs.google.com/presentation/d/1ats5CbsgalobhnfFIR2b1QAdaLRe4yVI55meo_ARqdU)) (Nicolò Ribaudo, 30m) </details> ## Day 4 <details open> <summary>10:00 to 15:00 America/New_York on Thursday</summary> ### 10:00-12:00 (20m underflow) - ❄️(LCA)🔒(NRO✓,RBN✓,SHS½, <sub>after AsyncContext stage 2 update</sub>✓) [Disposable AsyncContext](https://github.com/legendecas/proposal-async-context-disposable) for Stage 1 ([slides](https://docs.google.com/presentation/d/1p_rQ5UagJ3Bgwbds0NL-nBaR3ovJLmyHmKuRMJejs_Y/edit?usp=sharing)) (Chengzhong Wu, Luca Casonato, snek, 60m) - ❄️ WHATWG Observables (30m, Dominic Farolino) - 🔁❄️ Continuation: Normative: Mark sync module evaluation promise as handled (#3535, slides) (Nicolò Ribaudo, 10m) ### Lunch (60 minutes) ### 13:00-15:00 () </details> *** ## Overflow ### From agenda ### Timebox overrun ## Schedule constraints - Jordan Harband will not be present for the first 2 hours of each day, and the last hour of days 1, 3, and 4, and would like to be present for the following items: Consensus, Object.propertyCount, Non-extensibile Applies to Private, Compare Strings By Codepoint, Composite Keys, Upsert, Enums, Immutable ArrayBuffer, export defer - Nicolò Ribaudo will not be available on the second day. Other than for my presentations, I'd like to be present (in order of priority, Decimal is the only one I strongly care about) for Decimal, AsyncContext (both presentations) Composite keys, enums. - Luca Casonato will not be available on the second day. I need to be present for Disposable AsyncContext.Variable, and would like to be present for composite keys. - Steve Hicks will not be available after 11am on day 4, and I'd like to participate in the two AsyncContext discussions. - Ron Buckton will not be available after 2:30pm on days 1 and 2 and needs to be present for "Explicit Resource Management implementer feedback" and "Disposable AsyncContext" in addition to his own topic. - Philip Chimento: Feel free to deprioritize "Guidelines for Locale-Sensitive Testing in Test262" if time is short. - I will not be available for the last 30 minutes of Wednesday 16 April. - Shane F Carr would like to attend the following topics: Intl Era Month Code (required), Decimal (required), Compare Strings by Codepoint (required), Guidelines for Locale-Sensitive Testing in Test262 (required), Composite Keys (optional). He is *not* available at the following times (all in EDT): Monday after 12pm (other meetings); Tuesday (traveling); Thursday after 11:30am (commute and other meetings). - The AsyncContext stage 2 presentation should be before the Disposable AsyncContext one, not necessarily back-to-back. - 'Withdrawing Records & Tuples' should be after 'Composite Keys for Stage 1' - Dominic Farolino can present Observables on any of the following: Tuesday, 10:00–13:00 EDT; Wednesday, 10:00–12:00 EDT; Thursday, 10:00–13:00 EDT. - Aki Rose Braun: I will be unavailable the last hour of Monday and the second half of Wednesday. I have a strong preference to be present for the Consensus discussion. <style>summary { font-weight: bold; }</style>