From 699ad06bc0c8aceb3e27bcf313184d851bf45ccb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 20 Jun 2021 00:04:43 +0000 Subject: [PATCH] deploy: f6ad2bb19b6e75214377eae636c477d02837b13c --- .gitkeep | 0 .prettierignore | 1 + README.md | 15 + proposals.json | 3134 ++++++++++++++++++++++++++++++++++++++++ proposals.min.json | 1 + schema/bundle.json | 275 ++++ schema/individual.json | 250 ++++ 7 files changed, 3676 insertions(+) create mode 100644 .gitkeep create mode 100644 .prettierignore create mode 100644 README.md create mode 100644 proposals.json create mode 100644 proposals.min.json create mode 100644 schema/bundle.json create mode 100644 schema/individual.json diff --git a/.gitkeep b/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..df493db --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +*.min.json \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b2a5a22 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# tc39 dataset + +## WARNING + +The current data structure is unstable. + +## File definition + +- Structured [tc39/proposals](https://github.com/tc39/proposals) +
+
(Production) + +- JSON Schema +
+
diff --git a/proposals.json b/proposals.json new file mode 100644 index 0000000..0bf144b --- /dev/null +++ b/proposals.json @@ -0,0 +1,3134 @@ +[ + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Callable class constructors", + "description": "Status, process, and documents for ECMA-262", + "url": "https://github.com/tc39/ecma262", + "has-specification": false, + "authors": [], + "champions": ["Yehuda Katz", "Allen Wirfs-Brock"], + "rationale": "Withdrawn: can be solved with decorators", + "pushed_at": "2021-06-19T23:06:20.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Class Static Block", + "id": "proposal-class-static-block", + "description": "ECMAScript class static initialization blocks", + "url": "https://github.com/tc39/proposal-class-static-block", + "notes": [ + { "date": "2021-03-09T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-9.md#class-static-initialization-blocks" } + ], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2021-06-19T20:07:30.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Change Array by copy", + "id": "proposal-change-array-by-copy", + "description": "Provides additional methods to Array.prototype to enable changes on an array by returning a new copy of it with the change.", + "url": "https://github.com/tc39/proposal-change-array-by-copy", + "notes": [{ "date": "2021-04-20T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-20.md#change-array-by-copy" }], + "has-specification": true, + "authors": ["Robin Ricard"], + "champions": ["Robin Ricard"], + "pushed_at": "2021-06-19T16:26:15.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Normative ICU Reference", + "description": "TC39 meeting notes", + "url": "https://github.com/tc39/notes", + "has-specification": false, + "authors": [], + "champions": ["Domenic Denicola"], + "rationale": "Withdrawn; champion is no longer participating in TC39", + "pushed_at": "2021-06-19T04:53:32.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Temporal", + "id": "proposal-temporal", + "description": "Provides standard objects and functions for working with dates and times.", + "url": "https://github.com/tc39/proposal-temporal", + "notes": [{ "date": "2021-03-10T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-10.md#temporal-pt-2" }], + "has-specification": true, + "authors": [ + "Philipp Dunkel", + "Maggie Johnson-Pint", + "Matt Johnson-Pint", + "Brian Terlson", + "Shane Carr", + "Ujjwal Sharma", + "Philip Chimento", + "Jason Williams", + "Justin Grant" + ], + "champions": [ + "Philipp Dunkel", + "Maggie Johnson-Pint", + "Matt Johnson-Pint", + "Brian Terlson", + "Shane Carr", + "Ujjwal Sharma", + "Philip Chimento", + "Jason Williams", + "Justin Grant" + ], + "pushed_at": "2021-06-18T18:11:17.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 2, + "name": "Intl.NumberFormat V3", + "id": "proposal-intl-numberformat-v3", + "description": "Additional features for Intl.NumberFormat to solve key pain points.", + "url": "https://github.com/tc39/proposal-intl-numberformat-v3", + "notes": [ + { "date": "2020-06-02T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-2.md#intlnumberformat-v3-for-stage-2" } + ], + "has-specification": true, + "authors": ["Shane Carr"], + "champions": ["Shane Carr"], + "pushed_at": "2021-06-18T07:02:38.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Resizable and growable ArrayBuffers", + "id": "proposal-resizablearraybuffer", + "description": "Proposal for resizable array buffers", + "url": "https://github.com/tc39/proposal-resizablearraybuffer", + "notes": [ + { "date": "2021-05-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#resizable-arraybuffers-for-stage-3" } + ], + "has-specification": true, + "authors": ["Shu-yu Guo"], + "champions": ["Shu-yu Guo"], + "pushed_at": "2021-06-18T00:41:43.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Accessible Object.prototype.hasOwnProperty", + "id": "proposal-accessible-object-hasownproperty", + "description": "Object.hasOwn() proposal for ECMAScript", + "url": "https://github.com/tc39/proposal-accessible-object-hasownproperty", + "notes": [ + { + "date": "2021-05-25T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#accessible-objectprototypehasownproperty-for-stage-3" + } + ], + "has-specification": true, + "authors": ["Jamie Kyle"], + "champions": ["Tierney Cyren"], + "pushed_at": "2021-06-17T15:11:08.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Pattern Matching", + "id": "proposal-pattern-matching", + "description": "Pattern matching syntax for ECMAScript", + "url": "https://github.com/tc39/proposal-pattern-matching", + "notes": [{ "date": "2021-04-20T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-20.md#pattern-matching-update" }], + "has-specification": true, + "authors": ["Jordan Harband", "Mark Cohen", "Tab Atkins", "Yulia Startsev", "Daniel Rosenwasser", "Jack Works", "Ross Kirsling"], + "champions": ["Jordan Harband", "Mark Cohen", "Tab Atkins", "Yulia Startsev", "Daniel Rosenwasser", "Jack Works", "Ross Kirsling"], + "pushed_at": "2021-06-16T18:40:09.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Record & Tuple", + "id": "proposal-record-tuple", + "description": "ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!", + "url": "https://github.com/tc39/proposal-record-tuple", + "notes": [{ "date": "2020-09-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-22.md#records--tuples" }], + "has-specification": true, + "authors": ["Robin Ricard", "Richard Button"], + "champions": ["Robin Ricard", "Richard Button"], + "pushed_at": "2021-06-16T17:03:16.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Realms", + "id": "proposal-realms", + "description": "ECMAScript Proposal, specs, and reference implementation for Realms", + "url": "https://github.com/tc39/proposal-realms", + "notes": [{ "date": "2020-11-17T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#realms-for-stage-3" }], + "has-specification": true, + "authors": ["Caridy Patiño", "Jean-Francois Paradis"], + "champions": ["Dave Herman", "Mark Miller", "Caridy Patiño"], + "pushed_at": "2021-06-15T18:37:56.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Optional Chaining", + "id": "proposal-optional-chaining", + "url": "https://github.com/tc39/proposal-optional-chaining", + "notes": [ + { "date": "2019-12-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#optional-chaining-for-stage-4" } + ], + "has-specification": true, + "authors": ["Gabriel Isenberg", "Claude Pache", "Dustin Savery"], + "champions": ["Gabriel Isenberg", "Dustin Savery", "Justin Ridgewell", "Daniel Rosenwasser"], + "edition": 2020, + "pushed_at": "2021-06-15T18:09:24.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Nested import declarations", + "description": "Enable ECMAScript 2015 modules in Node today. No caveats. Full stop.", + "url": "https://github.com/benjamn/reify", + "notes": [ + { "date": "2016-07-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-27.md#10iiic-nested-import-declaration" } + ], + "has-specification": false, + "authors": ["Ben Newman"], + "champions": ["Ben Newman"], + "pushed_at": "2021-06-15T06:44:32.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Adopting Unicode behavior for set notation in regular expressions", + "id": "proposal-regexp-set-notation", + "description": "UTS18 set notation in regular expressions", + "url": "https://github.com/tc39/proposal-regexp-set-notation", + "notes": [ + { + "date": "2021-05-26T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-26.md#regexp-unicode-set-notation--properties-of-strings-for-stage-2" + } + ], + "has-specification": true, + "authors": ["Markus Scherer", "Mathias Bynens"], + "champions": ["Mathias Bynens"], + "pushed_at": "2021-06-12T07:56:17.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "WeakRefs cleanupSome", + "id": "proposal-cleanup-some", + "description": "Proposal to migrate cleanup some to its own proposal repository", + "url": "https://github.com/tc39/proposal-cleanup-some", + "notes": [ + { + "date": "2020-07-21T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#weakrefs-for-stage-4--cleanupsome-for-stage-23" + } + ], + "has-specification": false, + "authors": ["Yulia Startsev", "Daniel Ehrenberg"], + "champions": ["Yulia Startsev", "Daniel Ehrenberg"], + "pushed_at": "2021-06-11T23:59:37.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Collection methods", + "id": "proposal-collection-methods", + "url": "https://github.com/tc39/proposal-collection-methods", + "notes": [ + { + "date": "2018-01-23T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iiik-new-set-builtin-methods-for-stage-2" + } + ], + "has-specification": true, + "authors": ["Michał Wadas"], + "champions": ["Sathya Gunasekaran"], + "pushed_at": "2021-06-11T20:08:20.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "String.dedent", + "id": "proposal-string-dedent", + "description": "TC39 Proposal for multi-backtick templates with automatic margin stripping", + "url": "https://github.com/tc39/proposal-string-dedent", + "notes": [{ "date": "2020-09-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-23.md#stringdedent-for-stage-1" }], + "has-specification": true, + "authors": ["Misha Kaletsky", "Hemanth HM", "Justin Ridgewell"], + "champions": ["Hemanth HM", "Justin Ridgewell"], + "pushed_at": "2021-06-11T18:42:52.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 0, + "name": "Fix 9.2.3 LookupMatcher algorithm", + "description": "Ecma-402 proposal for fixing its LookupMatcher algorithm (9.2.2 and 9.2.3)", + "url": "https://github.com/rxaviers/ecma402-fix-lookup-matcher", + "has-specification": false, + "authors": ["Rafael Xavier"], + "champions": ["Rafael Xavier"], + "pushed_at": "2021-06-10T20:13:33.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "RegExp Match Indices", + "id": "proposal-regexp-match-indices", + "description": "ECMAScript RegExp Match Indices", + "url": "https://github.com/tc39/proposal-regexp-match-indices", + "notes": [{ "date": "2021-05-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#regexp-match-indices" }], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "edition": 2022, + "pushed_at": "2021-06-10T17:21:31.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Class Fields (Private instance methods and accessors, Class Public Instance Fields & Private Instance Fields, Static class fields and private static methods)", + "id": "proposal-private-methods", + "description": "Private methods and getter/setters for ES6 classes", + "url": "https://github.com/tc39/proposal-private-methods", + "notes": [ + { + "date": "2021-04-19T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-19.md#class-fields-private-methods-and-static-class-features-for-stage-4" + } + ], + "has-specification": true, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg", "Kevin Gibbons"], + "edition": 2022, + "pushed_at": "2021-06-10T09:33:54.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 2, + "name": "Intl Enumeration API", + "id": "proposal-intl-enumeration", + "description": "Return supported values of options, such as timeZone, calendars, numberingSystems, currencies, units", + "url": "https://github.com/tc39/proposal-intl-enumeration", + "notes": [{ "date": "2020-11-18T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-18.md#intl-enumeration-api-update" }], + "has-specification": true, + "authors": ["Frank Tang"], + "champions": ["Frank Tang"], + "pushed_at": "2021-06-09T23:21:21.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 3, + "name": "Intl Locale Info", + "id": "proposal-intl-locale-info", + "description": "An API to expose information of locale, such as week data ( first day of a week, weekend start, weekend end), hour cycle, measurement system, commonly used calendar, etc.", + "url": "https://github.com/tc39/proposal-intl-locale-info", + "notes": [ + { + "date": "2021-04-20T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/886ead863abbef6c7546c97c36e0fae7aba8dc8d/meetings/2021-04/apr-20.md#intl-locale-info-for-stage-3" + } + ], + "has-specification": true, + "authors": ["Frank Tang"], + "champions": ["Frank Tang"], + "pushed_at": "2021-06-03T20:15:12.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 3, + "name": "Intl.DisplayNames v2", + "description": "Intl DisplayNames API V2", + "url": "https://github.com/tc39/intl-displaynames-v2", + "has-specification": false, + "authors": ["Frank Tang"], + "champions": ["Frank Tang"], + "pushed_at": "2021-06-02T18:31:27.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Iterator helpers", + "id": "proposal-iterator-helpers", + "description": "Methods for working with iterators in ECMAScript", + "url": "https://github.com/tc39/proposal-iterator-helpers", + "notes": [{ "date": "2020-07-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#iterator-helpers-update" }], + "has-specification": true, + "authors": ["Gus Caplan"], + "champions": ["Michael Ficarra", "Jonathan Keslin"], + "pushed_at": "2021-06-02T11:53:47.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Top-level await", + "id": "proposal-top-level-await", + "description": "top-level `await` proposal for ECMAScript (stage 4)", + "url": "https://github.com/tc39/proposal-top-level-await", + "notes": [{ "date": "2021-05-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#top-level-await" }], + "has-specification": true, + "authors": ["Myles Borins", "Yulia Startsev", "Daniel Ehrenberg", "Guy Bedford", "Ms2ger"], + "champions": ["Myles Borins", "Yulia Startsev"], + "edition": 2022, + "pushed_at": "2021-05-28T08:02:18.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 3, + "name": "Extend TimeZoneName Option Proposal", + "id": "proposal-intl-extend-timezonename", + "description": "Extend TimeZoneName Option Proposal", + "url": "https://github.com/tc39/proposal-intl-extend-timezonename", + "has-specification": true, + "authors": ["FrankYFTang"], + "champions": ["FrankYFTang"], + "pushed_at": "2021-05-28T02:31:10.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Decorators", + "id": "proposal-decorators", + "description": "Decorators for ES6 classes", + "url": "https://github.com/tc39/proposal-decorators", + "notes": [ + { "date": "2020-09-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-23.md#decorators-a-new-proposal-iteration" } + ], + "has-specification": true, + "authors": ["Daniel Ehrenberg"], + "champions": ["Yehuda Katz", "Brian Terlson", "Daniel Ehrenberg"], + "pushed_at": "2021-05-27T20:25:30.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Sequence properties in Unicode property escapes", + "id": "proposal-regexp-unicode-sequence-properties", + "description": "Proposal to add support for sequence properties in Unicode property escapes to ECMAScript regular expressions.", + "url": "https://github.com/tc39/proposal-regexp-unicode-sequence-properties", + "notes": [ + { + "date": "2019-10-02T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-2.md#update-on-sequence-property-escapes-in-unicode-regular-expressions" + } + ], + "has-specification": true, + "authors": ["Mathias Bynens"], + "champions": ["Mathias Bynens"], + "pushed_at": "2021-05-27T18:12:52.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Standardized Debug", + "id": "proposal-standardized-debug", + "description": "Standardized debug", + "url": "https://github.com/tc39/proposal-standardized-debug", + "notes": [ + { "date": "2020-11-17T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#standardized-debug-for-stage-2" } + ], + "has-specification": true, + "authors": ["Gus Caplan"], + "champions": ["Gus Caplan"], + "pushed_at": "2021-05-25T19:47:02.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Symbols as WeakMap keys", + "id": "proposal-symbols-as-weakmap-keys", + "description": "Permit Symbols as keys in WeakMaps, entries in WeakSets and WeakRefs, and registered in FinalizationRegistries", + "url": "https://github.com/tc39/proposal-symbols-as-weakmap-keys", + "notes": [ + { "date": "2021-04-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-21.md#symbols-as-weakmap-keys-for-stage-2" } + ], + "has-specification": true, + "authors": ["Daniel Ehrenberg", "Richard Button", "Robin Ricard", "Leo Balter", "Rick Waldron", "Caridy Patiño"], + "champions": ["Daniel Ehrenberg", "Richard Button", "Robin Ricard", "Leo Balter", "Rick Waldron", "Caridy Patiño"], + "pushed_at": "2021-05-25T18:25:17.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Limited ArrayBuffer", + "id": "proposal-limited-arraybuffer", + "url": "https://github.com/tc39/proposal-limited-arraybuffer", + "notes": [ + { + "date": "2021-04-21T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-21.md#read-only-arraybuffer-and-fixed-view-of-arraybuffer-for-stage-1" + } + ], + "has-specification": true, + "authors": ["Jack Works"], + "champions": ["Jack Works"], + "pushed_at": "2021-05-18T14:03:42.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Module Blocks", + "id": "proposal-js-module-blocks", + "url": "https://github.com/tc39/proposal-js-module-blocks", + "notes": [{ "date": "2021-01-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-25.md#js-module-blocks" }], + "has-specification": true, + "authors": ["Surma", "Daniel Ehrenberg"], + "champions": ["Surma"], + "pushed_at": "2021-05-13T12:06:49.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "class Access Expressions", + "id": "proposal-class-access-expressions", + "description": "ECMAScript class access expressions", + "url": "https://github.com/tc39/proposal-class-access-expressions", + "notes": [ + { "date": "2020-09-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-22.md#class-access-expressions-for-stage-2" } + ], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2021-05-11T22:19:13.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Cryptographically Secure Random Number Generation", + "id": "proposal-csprng", + "description": "Cryptographically Secure Random Number Generation for ECMAScript", + "url": "https://github.com/tc39/proposal-csprng", + "notes": [ + { "date": "2020-02-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#arraybufferfillrandom-for-stage-1" } + ], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2021-05-11T11:51:56.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Explicit Resource Management", + "id": "proposal-explicit-resource-management", + "description": "ECMAScript Explicit Resource Management", + "url": "https://github.com/tc39/proposal-explicit-resource-management", + "notes": [ + { + "date": "2020-02-05T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#updates-on-explicit-resource-management" + } + ], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2021-05-11T00:08:36.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "of and from on collection constructors", + "id": "proposal-setmap-offrom", + "url": "https://github.com/tc39/proposal-setmap-offrom", + "notes": [ + { + "date": "2016-09-29T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-09/sept-29.md#11iic-set-map-weakset-and-weakmap-of-and-from-methods" + } + ], + "has-specification": true, + "authors": ["Leo Balter"], + "champions": ["Leo Balter"], + "pushed_at": "2021-05-10T17:44:01.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Map.prototype.emplace", + "id": "proposal-upsert", + "description": "ECMAScript Proposal, specs, and reference implementation for Map.prototype.upsert", + "url": "https://github.com/tc39/proposal-upsert", + "notes": [ + { + "date": "2020-07-22T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#upsert-now-renamed-emplace-updates--for-stage-3" + } + ], + "has-specification": true, + "authors": ["Bradley Farias"], + "champions": ["Erica Pramer"], + "pushed_at": "2021-05-10T14:31:05.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Error Cause", + "id": "proposal-error-cause", + "description": "TC39 proposal for accumulating errors", + "url": "https://github.com/tc39/proposal-error-cause", + "notes": [ + { "date": "2021-03-10T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-10.md#errorprototypecause-for-stage-3" } + ], + "has-specification": true, + "authors": ["Chengzhong Wu"], + "champions": ["Chengzhong Wu", "Hemanth HM"], + "pushed_at": "2021-05-10T03:38:21.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "uniform parsing of quasi-standard Date.parse input", + "id": "proposal-uniform-interchange-date-parsing", + "description": "Proposal to standardize Date.parse behavior for interchange-like input", + "url": "https://github.com/tc39/proposal-uniform-interchange-date-parsing", + "notes": [ + { + "date": "2018-09-26T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-09/sept-26.md#uniform-parsing-of-quasi-standard-dateparse-input" + } + ], + "has-specification": true, + "authors": ["Richard Gibson"], + "champions": ["Richard Gibson"], + "pushed_at": "2021-05-08T08:18:18.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "New Set methods", + "id": "proposal-set-methods", + "description": "Strawman for new Set methods", + "url": "https://github.com/tc39/proposal-set-methods", + "notes": [{ "date": "2019-01-29T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#update-on-set-methods" }], + "has-specification": true, + "authors": ["Michał Wadas", "Sathya Gunasekaran"], + "champions": ["Sathya Gunasekaran"], + "pushed_at": "2021-05-07T23:13:10.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "Typed Objects", + "id": "proposal-typed-objects", + "description": "Proposal for adding Typed Objects to JavaScript", + "url": "https://github.com/tschneidereit/proposal-typed-objects", + "has-specification": false, + "authors": [], + "champions": ["Till Schneidereit (previously Dmitry Lomov, Niko Matsakis)"], + "rationale": "Postponed: waiting for WebAssembly requirements to become clearer", + "pushed_at": "2021-05-07T11:08:27.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 2, + "name": "Intl.DurationFormat", + "id": "proposal-intl-duration-format", + "url": "https://github.com/tc39/proposal-intl-duration-format", + "notes": [ + { + "date": "2020-02-06T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-6.md#time-duration-format-proposal-for-stage-1" + } + ], + "has-specification": true, + "authors": ["Younies Mahmoud", "Ujjwal Sharma"], + "champions": ["Younies Mahmoud", "Ujjwal Sharma"], + "pushed_at": "2021-05-06T14:58:38.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Import Assertions", + "id": "proposal-import-assertions", + "description": "Proposal for syntax to import ES modules with assertions", + "url": "https://github.com/tc39/proposal-import-assertions", + "notes": [ + { "date": "2020-11-17T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#import-assertions-status-update" } + ], + "has-specification": true, + "authors": ["Myles Borins", "Sven Sauleau", "Dan Clark", "Daniel Ehrenberg"], + "champions": ["Myles Borins", "Sven Sauleau", "Dan Clark", "Daniel Ehrenberg"], + "pushed_at": "2021-04-30T17:28:46.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 1, + "name": "eraDisplay option for Intl.DateTimeFormat", + "id": "proposal-intl-eradisplay", + "description": "Intl.DateTimeFormat displays era field only if date displayed is in same era as today's", + "url": "https://github.com/tc39/proposal-intl-eradisplay", + "notes": [{ "date": "2021-01-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#eradisplay-for-stage-1" }], + "has-specification": true, + "authors": ["Louis-Aime"], + "champions": ["Shane Carr", "Louis-Aime"], + "pushed_at": "2021-04-23T18:37:49.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "String padding", + "id": "proposal-string-pad-start-end", + "description": "ECMAScript spec proposal for String.prototype.{padStart,padEnd}", + "url": "https://github.com/tc39/proposal-string-pad-start-end", + "notes": [ + { "date": "2016-05-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-05/may-25.md#stringprototypepadstartend-jhd" } + ], + "has-specification": true, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband", "Rick Waldron"], + "edition": 2017, + "pushed_at": "2021-04-23T15:41:14.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "String.prototype.matchAll", + "id": "proposal-string-matchall", + "description": "ES Proposal, specs, tests, reference implementation, and polyfill/shim for String.prototype.matchAll", + "url": "https://github.com/tc39/proposal-string-matchall", + "notes": [ + { "date": "2019-03-26T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-03/mar-26.md#stringprototypematchall-for-stage-4" } + ], + "has-specification": false, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband"], + "edition": 2020, + "pushed_at": "2021-04-23T15:40:16.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Object.values/Object.entries", + "id": "proposal-object-values-entries", + "description": "ECMAScript Proposal, specs, and reference implementation for Object.values/Object.entries", + "url": "https://github.com/tc39/proposal-object-values-entries", + "notes": [ + { "date": "2016-03-29T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-03/march-29.md#objectvalues--objectentries" } + ], + "has-specification": true, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband"], + "edition": 2017, + "pushed_at": "2021-04-23T15:16:48.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Object.getOwnPropertyDescriptors", + "id": "proposal-object-getownpropertydescriptors", + "description": "ECMAScript proposal for Object.getOwnPropertyDescriptors", + "url": "https://github.com/tc39/proposal-object-getownpropertydescriptors", + "notes": [ + { "date": "2016-05-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-05/may-25.md#objectgetownpropertydescriptors-jhd" } + ], + "has-specification": true, + "authors": ["Jordan Harband", "Andrea Giammarchi"], + "champions": ["Jordan Harband", "Andrea Giammarchi"], + "edition": 2017, + "pushed_at": "2021-04-23T06:45:08.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Object.fromEntries", + "id": "proposal-object-from-entries", + "description": "TC39 proposal for Object.fromEntries", + "url": "https://github.com/tc39/proposal-object-from-entries", + "notes": [ + { "date": "2019-01-29T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#objectfromentries-for-stage-4" } + ], + "has-specification": true, + "authors": ["Darien Maillet Valentine"], + "champions": ["Jordan Harband", "Kevin Gibbons"], + "edition": 2019, + "pushed_at": "2021-04-23T06:05:41.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Promise.prototype.finally", + "id": "proposal-promise-finally", + "description": "ECMAScript Proposal, specs, and reference implementation for Promise.prototype.finally", + "url": "https://github.com/tc39/proposal-promise-finally", + "notes": [{ "date": "2018-01-24T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#conclusionresolution-2" }], + "has-specification": true, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband"], + "edition": 2018, + "pushed_at": "2021-04-23T05:44:56.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn", "archived"], + "stage": -1, + "name": "Error.isError", + "id": "proposal-is-error", + "description": "ECMAScript Proposal, specs, and reference implementation for Error.isError", + "url": "https://github.com/ljharb/proposal-is-error", + "has-specification": true, + "authors": [], + "champions": ["Jordan Harband"], + "rationale": "Withdrawn: in favor of Error stack traces proposal", + "pushed_at": "2021-04-22T20:09:58.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Array Equality", + "id": "proposal-array-equality", + "description": "Determining Array Equality", + "url": "https://github.com/tc39/proposal-array-equality", + "notes": [{ "date": "2020-06-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-4.md#generic-comparison" }], + "has-specification": false, + "authors": ["Hemanth HM", "Jordan Harband"], + "champions": ["Hemanth HM", "Jordan Harband"], + "pushed_at": "2021-04-22T19:18:35.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Promise.try", + "id": "proposal-promise-try", + "description": "ECMAScript Proposal, specs, and reference implementation for Promise.try", + "url": "https://github.com/tc39/proposal-promise-try", + "notes": [{ "date": "2016-11-29T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-11/nov-29.md#11iib-promisetry" }], + "has-specification": true, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband"], + "pushed_at": "2021-04-22T19:03:32.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "function.sent metaproperty", + "id": "proposal-function.sent", + "description": "Generator function.sent Meta Property", + "url": "https://github.com/tc39/proposal-function.sent", + "notes": [ + { "date": "2019-07-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-07/july-23.md#making-functionsent-inactive" } + ], + "has-specification": false, + "authors": ["Allen Wirfs-Brock"], + "champions": ["HE Shi-Jun"], + "pushed_at": "2021-04-22T19:02:33.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "await operations", + "id": "proposal-await.ops", + "description": "Introduce await.all / await.race / await.allSettled / await.any to simplify the usage of Promises", + "url": "https://github.com/tc39/proposal-await.ops", + "notes": [ + { "date": "2020-07-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#await-operations-for-stage-1" } + ], + "has-specification": true, + "authors": ["Jack Works"], + "champions": ["Jack Works", "Jordan Harband"], + "pushed_at": "2021-04-22T19:02:19.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Reverse iteration", + "id": "proposal-reverseIterator", + "url": "https://github.com/tc39/proposal-reverseIterator", + "notes": [{ "date": "2019-07-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-07/july-23.md#symbolreverse" }], + "has-specification": false, + "authors": ["Leo Balter", "Jordan Harband"], + "champions": ["Leo Balter", "Jordan Harband"], + "pushed_at": "2021-04-22T18:58:44.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Escaping Strings for RegExps", + "id": "proposal-regex-escaping", + "description": "Proposal for investigating RegExp escaping for the ECMAScript standard", + "url": "https://github.com/tc39/proposal-regex-escaping", + "notes": [{ "date": "2021-01-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-28.md#revisiting-regexp-escape" }], + "has-specification": true, + "authors": ["Domenic Denicola", "Benjamin Gruenbaum", "Jordan Harband"], + "champions": ["Jordan Harband"], + "pushed_at": "2021-04-22T18:58:04.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Array find from last", + "id": "proposal-array-find-from-last", + "description": "Proposal for Array.prototype.findLast and Array.prototype.findLastIndex.", + "url": "https://github.com/tc39/proposal-array-find-from-last", + "notes": [{ "date": "2021-03-10T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-10.md#array-find-from-last" }], + "has-specification": true, + "authors": ["Wenlu Wang"], + "champions": ["Wenlu Wang", "Daniel Rosenwasser"], + "pushed_at": "2021-04-16T03:09:26.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "JavaScript module fragments", + "id": "proposal-module-fragments", + "description": "JavaScript Module Fragments -- Stage 0 proposal", + "url": "https://github.com/littledan/proposal-module-fragments", + "notes": [{ "date": "2021-03-09T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-9.md#module-fragments-for-stage-1" }], + "has-specification": false, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg", "Mark Miller"], + "pushed_at": "2021-04-12T22:52:47.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 1, + "name": "Intl LocaleMatcher", + "id": "proposal-intl-localematcher", + "description": "Proposal for Intl.LocaleMatcher", + "url": "https://github.com/tc39/proposal-intl-localematcher", + "notes": [ + { "date": "2021-01-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-28.md#intl-localematcher-for-stage-1" } + ], + "has-specification": true, + "authors": ["Long Ho"], + "champions": ["Shane Carr", "Long Ho"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "Intl.Locale", + "id": "proposal-intl-locale", + "description": "`Intl.Locale` specification [draft]", + "url": "https://github.com/tc39/proposal-intl-locale", + "notes": [{ "date": "2020-02-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#intllocale-for-stage-4" }], + "has-specification": true, + "authors": ["Zibi Braniecki", "Daniel Ehrenberg"], + "champions": ["Zibi Braniecki", "Daniel Ehrenberg"], + "edition": 2020, + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "OOM Fails Fast", + "id": "proposal-oom-fails-fast", + "description": "Proposal: Out of memory immediately terminates agent cluster", + "url": "https://github.com/tc39/proposal-oom-fails-fast", + "notes": [ + { "date": "2019-12-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#update-on-oom-must-fail-fast" } + ], + "has-specification": false, + "authors": ["Mark Miller"], + "champions": ["Mark Miller"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Wavy Dot: Syntactic Support for Promise Pipelining", + "id": "proposal-wavy-dot", + "description": "TC39 Wavy Dot (\"~.\") Proposal", + "url": "https://github.com/tc39/proposal-wavy-dot", + "notes": [ + { "date": "2019-12-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#update-on-promise-pipelining" } + ], + "has-specification": false, + "authors": ["Mark Miller", "Chip Morningstar", "Michael Fig"], + "champions": ["Mark Miller", "Chip Morningstar", "Michael Fig"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "IDL for ECMAScript", + "id": "proposal-idl", + "description": "Investigation into using an Interface Description Language (IDL) in the ECMAScript standard", + "url": "https://github.com/tc39/proposal-idl", + "notes": [{ "date": "2018-09-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-09/sept-27.md#idl-for-javascript" }], + "has-specification": false, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Getting last element of Array", + "id": "proposal-array-last", + "description": "A JavaScript TC39 Proposal for getting the last element from an array", + "url": "https://github.com/tc39/proposal-array-last", + "notes": [ + { + "date": "2018-01-24T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#13iiim-getting-last-item-from-array-for-stage-2" + } + ], + "has-specification": true, + "authors": ["Keith Cirkel"], + "champions": ["Keith Cirkel"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "String.prototype.codePoints", + "id": "proposal-string-prototype-codepoints", + "description": "String.prototype.codePoints proposal for ECMAScript (stage 1)", + "url": "https://github.com/tc39/proposal-string-prototype-codepoints", + "notes": [ + { "date": "2018-05-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-22.md#stringprototypecodepoints-for-stage-2" } + ], + "has-specification": true, + "authors": ["Ingvar Stepanyan"], + "champions": ["Mathias Bynens"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Cancellation API", + "id": "proposal-cancellation", + "description": "Proposal for a Cancellation API for ECMAScript", + "url": "https://github.com/tc39/proposal-cancellation", + "notes": [{ "date": "2018-07-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#cancellation-update" }], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton", "Brian Terlson"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Extensible numeric literals", + "id": "proposal-extended-numeric-literals", + "description": "Extensible numeric literals for JavaScript", + "url": "https://github.com/tc39/proposal-extended-numeric-literals", + "notes": [ + { + "date": "2020-09-21T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-21.md#numeric-literal-suffixes-update-separate-namespace-version" + } + ], + "has-specification": true, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "do expressions", + "id": "proposal-do-expressions", + "description": "Proposal for `do` expressions", + "url": "https://github.com/tc39/proposal-do-expressions", + "notes": [{ "date": "2020-06-01T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-1.md#do-expressions-for-stage-2" }], + "has-specification": true, + "authors": ["Dave Herman"], + "champions": ["Kevin Gibbons"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "throw expressions", + "id": "proposal-throw-expressions", + "description": "Proposal for ECMAScript 'throw' expressions", + "url": "https://github.com/tc39/proposal-throw-expressions", + "notes": [ + { "date": "2018-01-24T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#13iiii-throw-expressions-for-stage-3" } + ], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "RegExp Lookbehind Assertions", + "id": "proposal-regexp-lookbehind", + "description": "RegExp lookbehind assertions", + "url": "https://github.com/tc39/proposal-regexp-lookbehind", + "notes": [{ "date": "2018-01-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#conclusionresolution-16" }], + "has-specification": true, + "authors": ["Gorkem Yakin", "Nozomu Katō", "Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg", "Mathias Bynens"], + "edition": 2018, + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "s (dotAll) flag for regular expressions", + "id": "proposal-regexp-dotall-flag", + "description": "Proposal to add the `s` (`dotAll`) flag to regular expressions in ECMAScript.", + "url": "https://github.com/tc39/proposal-regexp-dotall-flag", + "notes": [ + { "date": "2017-11-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-11/nov-28.md#9ie-regexp-dotall-status-update" } + ], + "has-specification": true, + "authors": ["Mathias Bynens"], + "champions": ["Brian Terlson", "Mathias Bynens"], + "edition": 2018, + "pushed_at": "2021-04-09T09:08:50.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "UUID", + "id": "proposal-uuid", + "description": "UUID proposal for ECMAScript (Stage 1)", + "url": "https://github.com/tc39/proposal-uuid", + "notes": [{ "date": "2019-10-03T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-3.md#uuid-for-stage-1" }], + "has-specification": false, + "authors": ["Benjamin Coe", "Robert Kieffer", "Christoph Tavan"], + "champions": ["Benjamin Coe"], + "pushed_at": "2021-04-02T19:23:32.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Atomics.waitAsync", + "id": "proposal-atomics-wait-async", + "description": "\"asynchronous atomic wait\" for ECMAScript", + "url": "https://github.com/tc39/proposal-atomics-wait-async", + "tests": ["https://github.com/tc39/test262/issues/2511"], + "notes": [ + { "date": "2019-12-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3" } + ], + "has-specification": true, + "authors": ["Lars Hansen"], + "champions": ["Shu-yu Guo", "Lars Hansen"], + "pushed_at": "2021-03-31T18:57:04.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 3, + "name": "Intl.Segmenter: Unicode Segmentation in JavaScript", + "id": "proposal-intl-segmenter", + "description": "Unicode text segmentation for ECMAScript", + "url": "https://github.com/tc39/proposal-intl-segmenter", + "notes": [{ "date": "2020-07-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#intlsegmenter-for-stage-3" }], + "has-specification": true, + "authors": ["Daniel Ehrenberg", "Richard Gibson"], + "champions": ["Richard Gibson"], + "pushed_at": "2021-03-10T08:39:08.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Pipeline Operator", + "id": "proposal-pipeline-operator", + "description": "A proposal for adding the simple-but-useful pipeline operator to JavaScript.", + "url": "https://github.com/tc39/proposal-pipeline-operator", + "notes": [{ "date": "2018-03-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-03/mar-22.md#10ive-pipeline-operator" }], + "has-specification": true, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg"], + "pushed_at": "2021-03-10T04:29:32.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "collection normalization", + "id": "proposal-collection-normalization", + "url": "https://github.com/tc39/proposal-collection-normalization", + "notes": [{ "date": "2019-01-30T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-30.md#richer-keys-for-stage-2" }], + "has-specification": true, + "authors": ["Bradley Farias"], + "champions": ["Bradley Farias"], + "pushed_at": "2021-03-09T20:49:15.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Number.range & BigInt.range", + "id": "proposal-Number.range", + "description": "A proposal for ECMAScript to add a built-in Number.range()", + "url": "https://github.com/tc39/proposal-Number.range", + "notes": [{ "date": "2020-07-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#numberrange-for-stage-2" }], + "has-specification": true, + "authors": ["Jack Works"], + "champions": ["Jack Works"], + "pushed_at": "2021-03-05T06:59:35.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "Intl.DateFormat.prototype.formatRange", + "id": "proposal-intl-DateTimeFormat-formatRange", + "description": "ECMA 402 proposal for DateTimeFormat.prototype.{formatRange,formatRangeToParts}", + "url": "https://github.com/tc39/proposal-intl-DateTimeFormat-formatRange", + "has-specification": true, + "authors": ["Felipe Balbontín"], + "champions": ["Sathya Gunasekaran"], + "edition": 2021, + "pushed_at": "2021-02-23T21:14:30.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Array filtering", + "id": "proposal-array-filtering", + "description": "A proposal to make filtering arrays easier", + "url": "https://github.com/tc39/proposal-array-filtering", + "notes": [ + { "date": "2020-02-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#status-update-on-array-filtering" } + ], + "has-specification": true, + "authors": ["Justin Ridgewell"], + "champions": ["Justin Ridgewell"], + "pushed_at": "2021-02-22T19:55:38.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Array.prototype.unique()", + "id": "proposal-array-unique", + "description": "ECMAScript proposal for Deduplicating method of Array", + "url": "https://github.com/tc39/proposal-array-unique", + "notes": [ + { + "date": "2020-07-22T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#arrayprototypeunique-proposal-for-stage-1" + } + ], + "has-specification": false, + "authors": ["TechQuery"], + "champions": ["Jack Works"], + "pushed_at": "2021-02-21T02:26:55.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": ".at()", + "id": "proposal-relative-indexing-method", + "description": "A TC39 proposal to add an .at() method to all the basic indexable classes (Array, String, TypedArray)", + "url": "https://github.com/tc39/proposal-relative-indexing-method", + "tests": ["https://github.com/tc39/test262/pull/2812"], + "notes": [ + { + "date": "2020-11-17T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#item-rename--revisit-inclusion-on-string" + } + ], + "has-specification": true, + "authors": ["Shu-yu Guo", "Tab Atkins"], + "champions": ["Shu-yu Guo", "Tab Atkins"], + "pushed_at": "2021-02-20T19:27:20.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "String.prototype.replaceAll", + "id": "proposal-string-replaceall", + "description": "ECMAScript proposal: String.prototype.replaceAll", + "url": "https://github.com/tc39/proposal-string-replaceall", + "notes": [ + { "date": "2020-06-02T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-2.md#stringprototypereplaceall-for-stage-4" } + ], + "has-specification": true, + "authors": ["Peter Marshall", "Jakob Gruber", "Mathias Bynens"], + "champions": ["Mathias Bynens"], + "edition": 2021, + "pushed_at": "2021-02-19T12:32:31.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "SES (Secure EcmaScript)", + "id": "proposal-ses", + "description": "Draft proposal for SES (Secure EcmaScript)", + "url": "https://github.com/tc39/proposal-ses", + "notes": [{ "date": "2020-02-06T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-6.md#ses-compartments" }], + "has-specification": false, + "authors": ["Mark Miller", "Chip Morningstar", "Caridy Patiño"], + "champions": ["Mark Miller", "Chip Morningstar", "Caridy Patiño"], + "pushed_at": "2021-02-18T22:19:19.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "JSON Modules", + "id": "proposal-json-modules", + "description": "Proposal to import JSON files as modules", + "url": "https://github.com/tc39/proposal-json-modules", + "notes": [{ "date": "2021-01-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-25.md#json-modules-for-stage-3" }], + "has-specification": true, + "authors": ["Myles Borins", "Sven Sauleau", "Dan Clark", "Daniel Ehrenberg"], + "champions": ["Myles Borins", "Sven Sauleau", "Dan Clark", "Daniel Ehrenberg"], + "pushed_at": "2021-02-18T19:08:12.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Error stacks", + "id": "proposal-error-stacks", + "description": "ECMAScript Proposal, specs, and reference implementation for Error.prototype.stack / System.getStack", + "url": "https://github.com/tc39/proposal-error-stacks", + "notes": [ + { "date": "2017-01-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-01/jan-25.md#15iiia-error-stacks-seeking-stage-1" } + ], + "has-specification": true, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband"], + "pushed_at": "2021-02-17T15:16:13.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Block Params", + "id": "proposal-block-params", + "description": "A syntactical simplification in JS to enable DSLs", + "url": "https://github.com/samuelgoto/proposal-block-params", + "notes": [ + { "date": "2017-11-30T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-11/nov-30.md#9iiia-block-params-to-stage-1" } + ], + "has-specification": false, + "authors": ["Sam Goto"], + "champions": ["Sam Goto"], + "pushed_at": "2021-02-10T06:20:52.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Restrict subclassing support in built-in methods", + "id": "proposal-rm-builtin-subclassing", + "description": "Remove ES6 built-in subclassing", + "url": "https://github.com/tc39/proposal-rm-builtin-subclassing", + "notes": [ + { + "date": "2020-06-03T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-3.md#restrict-subclassing-support-for-built-in-methods-stage-1" + } + ], + "has-specification": false, + "authors": ["Yulia Startsev", "Shu-yu Guo"], + "champions": ["Yulia Startsev", "Shu-yu Guo"], + "pushed_at": "2021-02-06T18:22:38.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "async do expressions", + "id": "proposal-async-do-expressions", + "description": "async `do` expressions for JavaScript", + "url": "https://github.com/tc39/proposal-async-do-expressions", + "notes": [{ "date": "2021-01-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#async-do-expressions" }], + "has-specification": true, + "authors": ["Kevin Gibbons"], + "champions": ["Kevin Gibbons"], + "pushed_at": "2021-02-02T23:11:06.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "defer module import eval", + "id": "proposal-defer-import-eval", + "description": "A proposal for introducing a way to defer evaluate of a module", + "url": "https://github.com/tc39/proposal-defer-import-eval", + "notes": [{ "date": "2021-01-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-28.md#defer-module-import-eval" }], + "has-specification": false, + "authors": ["Yulia Startsev"], + "champions": ["Yulia Startsev"], + "pushed_at": "2021-01-30T20:16:30.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Extensions", + "id": "proposal-extensions", + "description": "Extensions proposal for ECMAScript", + "url": "https://github.com/tc39/proposal-extensions", + "notes": [{ "date": "2020-11-19T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-19.md#extensions-for-stage-1" }], + "has-specification": true, + "authors": ["HE Shi-Jun"], + "champions": ["HE Shi-Jun"], + "pushed_at": "2021-01-30T17:59:02.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Class Brand Checks", + "id": "proposal-class-brand-check", + "description": "JavaScript proposal to provide class brand checks", + "url": "https://github.com/tc39/proposal-class-brand-check", + "notes": [{ "date": "2021-01-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#class-brand-checks" }], + "has-specification": false, + "authors": ["HE Shi-Jun"], + "champions": ["HE Shi-Jun"], + "pushed_at": "2021-01-29T00:37:04.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Ergonomic brand checks for Private Fields", + "id": "proposal-private-fields-in-in", + "description": "EcmaScript proposal to provide brand checks without exceptions", + "url": "https://github.com/tc39/proposal-private-fields-in-in", + "notes": [{ "date": "2021-01-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#ergonomic-brand-checks" }], + "has-specification": true, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband"], + "pushed_at": "2021-01-28T03:21:49.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Array.isTemplateObject", + "id": "proposal-array-is-template-object", + "description": "TC39 proposal to identify template strings", + "url": "https://github.com/tc39/proposal-array-is-template-object", + "notes": [ + { "date": "2019-12-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#arrayistemplateobject-update" } + ], + "has-specification": true, + "authors": ["Mike Samuel", "Krzysztof Kotowicz"], + "champions": ["Krzysztof Kotowicz"], + "pushed_at": "2021-01-25T20:25:40.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "WeakRefs", + "id": "proposal-weakrefs", + "description": "WeakRefs", + "url": "https://github.com/tc39/proposal-weakrefs", + "notes": [ + { + "date": "2020-07-21T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#weakrefs-for-stage-4--cleanupsome-for-stage-23" + } + ], + "has-specification": true, + "authors": ["Dean Tribble", "Sathya Gunasekaran"], + "champions": ["Dean Tribble", "Mark Miller", "Till Schneidereit", "Sathya Gunasekaran", "Daniel Ehrenberg"], + "edition": 2021, + "pushed_at": "2021-01-16T18:01:59.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Dynamic Code Brand Checks", + "id": "proposal-dynamic-code-brand-checks", + "description": "TC39 proposal that enables flexible brand checks before dynamic code loading", + "url": "https://github.com/tc39/proposal-dynamic-code-brand-checks", + "notes": [ + { + "date": "2019-12-05T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#dynamic-code-brand-checks-for-stage-2" + } + ], + "has-specification": true, + "authors": ["Mike Samuel", "Krzysztof Kotowicz"], + "champions": ["Krzysztof Kotowicz"], + "pushed_at": "2021-01-13T12:26:10.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Math.seededRandoms()", + "id": "proposal-seeded-random", + "description": "Proposal for an options argument to be added to JS's Math.random() function, and some options to start it with.", + "url": "https://github.com/tc39/proposal-seeded-random", + "notes": [ + { "date": "2018-01-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iif-mathseededrandoms-for-stage-1" } + ], + "has-specification": true, + "authors": ["Tab Atkins"], + "champions": ["Tab Atkins"], + "pushed_at": "2021-01-08T17:50:31.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Operator overloading", + "id": "proposal-operator-overloading", + "url": "https://github.com/tc39/proposal-operator-overloading", + "notes": [ + { "date": "2019-12-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#operator-overloading-for-stage-1" } + ], + "has-specification": false, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg"], + "pushed_at": "2021-01-04T18:58:34.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "Intl.ListFormat", + "id": "proposal-intl-list-format", + "description": "`Intl.ListFormat` specification [draft]", + "url": "https://github.com/tc39/proposal-intl-list-format", + "notes": [{ "date": "2020-07-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#intllistformat-for-stage-4" }], + "has-specification": true, + "authors": ["Zibi Braniecki"], + "champions": ["Zibi Braniecki"], + "edition": 2021, + "pushed_at": "2020-12-18T14:04:29.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Double-Ended Iterator and Destructuring", + "id": "proposal-deiter", + "description": "Double-Ended Iterator and Destructuring", + "url": "https://github.com/tc39/proposal-deiter", + "notes": [ + { + "date": "2020-09-24T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-24.md#double-ended-iterator-and-destructuring-for-stage-1" + } + ], + "has-specification": false, + "authors": ["HE Shi-Jun"], + "champions": ["HE Shi-Jun"], + "pushed_at": "2020-12-03T14:51:54.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Freezing prototypes", + "id": "proposal-freeze-prototype", + "description": "TC39 for some method to freeze object prototypes", + "url": "https://github.com/tc39/proposal-freeze-prototype", + "notes": [ + { "date": "2019-01-31T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-31.md#freezing-prototypes-for-stage-1" } + ], + "has-specification": false, + "authors": ["Kevin Gibbons"], + "champions": ["Kevin Gibbons"], + "pushed_at": "2020-11-30T08:38:08.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Async functions", + "id": "proposal-async-await", + "description": "Async/await for ECMAScript", + "url": "https://github.com/tc39/proposal-async-await", + "notes": [{ "date": "2016-07-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-28.md#10iv-async-functions" }], + "has-specification": true, + "authors": ["Brian Terlson"], + "champions": ["Brian Terlson"], + "edition": 2017, + "pushed_at": "2020-11-19T21:43:24.000Z" + }, + { + "tags": ["ECMA-262", "inactive", "archived"], + "stage": -1, + "name": "String.prototype.at", + "description": "A robust & optimized ES3-compatible polyfill for the `String.prototype.at` proposal for ECMAScript 6/7.", + "url": "https://github.com/mathiasbynens/String.prototype.at", + "has-specification": false, + "authors": [], + "champions": ["Mathias Bynens", "Rick Waldron"], + "rationale": "Obsoleted by renamed String.prototype.item proposal", + "pushed_at": "2020-11-19T07:38:04.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Grouped Accessors and Auto-Accessors", + "id": "proposal-grouped-and-auto-accessors", + "description": "Grouped Accessors and Auto-Accessors for ECMAScript", + "url": "https://github.com/rbuckton/proposal-grouped-and-auto-accessors", + "notes": [ + { + "date": "2020-11-19T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-19.md#continuation-grouped-accessors-and-auto-accessors" + } + ], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2020-11-10T20:49:59.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Reflect.{isCallable,isConstructor}", + "description": "Things that might be good to include in ECMA 262", + "url": "https://github.com/caitp/TC39-Proposals", + "has-specification": false, + "authors": ["Caitlin Potter"], + "champions": ["Caitlin Potter"], + "pushed_at": "2020-11-06T18:25:23.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Decimal", + "id": "proposal-decimal", + "description": "Built-in decimal datatype in JavaScript", + "url": "https://github.com/tc39/proposal-decimal", + "notes": [{ "date": "2020-03-31T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-03/march-31.md#decimal-update" }], + "has-specification": false, + "authors": ["Daniel Ehrenberg", "Andrew Paprocki"], + "champions": ["Daniel Ehrenberg", "Andrew Paprocki"], + "pushed_at": "2020-11-02T22:19:44.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn", "archived"], + "stage": -1, + "name": "Improving iteration on Objects", + "id": "proposal-object-iteration", + "description": "ECMA TC39 proposal for making mapping over Objects more concise", + "url": "https://github.com/tc39/proposal-object-iteration", + "has-specification": true, + "authors": [], + "champions": ["Jonathan Keslin"], + "rationale": "Withdrawn: concern about need for such an API", + "pushed_at": "2020-10-30T16:20:09.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Compartments", + "id": "proposal-compartments", + "description": "Compartmentalization of host behavior hooks for JS", + "url": "https://github.com/tc39/proposal-compartments", + "notes": [{ "date": "2020-03-01T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-03/april-1.md#compartments-for-stage-1" }], + "has-specification": false, + "authors": ["Bradley Farias"], + "champions": ["Bradley Farias", "Mark S. Miller", "Caridy Patiño", "J.F. Paradis", "Patrick Soquet", "Kris Kowal"], + "pushed_at": "2020-10-22T02:58:28.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Asset References", + "id": "proposal-asset-references", + "description": "Proposal to ECMAScript to add first-class location references relative to a module", + "url": "https://github.com/tc39/proposal-asset-references", + "notes": [{ "date": "2018-11-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-28.md#asset-references-for-stage-1" }], + "has-specification": false, + "authors": ["Sebastian Markbage"], + "champions": ["Sebastian Markbage"], + "pushed_at": "2020-09-28T21:33:41.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Modulus and Additional Integer Math", + "description": "Proposal for additional static methods on Math", + "url": "https://github.com/phoddie/integer-and-modulus-math-proposal", + "notes": [ + { + "date": "2020-09-24T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-24.md#modulus-and-additional-integer-math-for-stage-1" + } + ], + "has-specification": true, + "authors": ["Peter Hoddie"], + "champions": ["Peter Hoddie"], + "pushed_at": "2020-09-26T20:31:17.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Built In Modules (aka JS Standard Library)", + "id": "proposal-built-in-modules", + "url": "https://github.com/tc39/proposal-built-in-modules", + "notes": [{ "date": "2020-09-24T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-24.md#builtin-modules-for-stage-2" }], + "has-specification": true, + "authors": ["Michael Saboff", "Mattijs Hoitink"], + "champions": ["Michael Saboff", "Mattijs Hoitink", "Mark Miller"], + "pushed_at": "2020-09-24T01:32:18.000Z" + }, + { + "tags": ["ECMA-402", "archived"], + "stage": 4, + "name": "Intl.DisplayNames", + "id": "proposal-intl-displaynames", + "description": "Get localized display names for languages, scripts, regions and others. https://tc39.github.io/proposal-intl-displaynames/", + "url": "https://github.com/tc39/proposal-intl-displaynames", + "notes": [ + { "date": "2020-09-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-22.md#intldisplaynames-for-stage-4" } + ], + "has-specification": true, + "authors": ["Frank Tang"], + "champions": ["Frank Tang"], + "edition": 2021, + "pushed_at": "2020-09-22T04:32:15.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Math Extensions", + "id": "proposal-math-extensions", + "description": "ES Math Extensions", + "url": "https://github.com/rwaldron/proposal-math-extensions", + "notes": [{ "date": "2016-07-26T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-26.md#9iie-math-extensions" }], + "has-specification": true, + "authors": ["Rick Waldron"], + "champions": ["Rick Waldron"], + "pushed_at": "2020-09-15T10:47:32.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "Unused Function Parameters", + "id": "proposal-unused-function-parameters", + "url": "https://github.com/devsnek/proposal-unused-function-parameters", + "has-specification": false, + "authors": [], + "champions": ["Gus Caplan"], + "rationale": "Rejected: the need to solve the problem does not outweigh the hazards", + "pushed_at": "2020-08-12T03:08:11.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Promise.any", + "id": "proposal-promise-any", + "description": "ECMAScript proposal: Promise.any", + "url": "https://github.com/tc39/proposal-promise-any", + "notes": [ + { + "date": "2020-07-21T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#promiseany--aggregateerror-for-stage-4" + } + ], + "has-specification": true, + "authors": ["Mathias Bynens", "Kevin Gibbons", "Sergey Rubanov"], + "champions": ["Mathias Bynens"], + "edition": 2021, + "pushed_at": "2020-08-10T05:41:34.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Hashbang Grammar", + "id": "proposal-hashbang", + "description": "#! for JS", + "url": "https://github.com/tc39/proposal-hashbang", + "tests": ["https://github.com/tc39/test262/pull/2065"], + "notes": [{ "date": "2018-11-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-28.md#hash-bang-grammar" }], + "has-specification": true, + "authors": ["Bradley Farias"], + "champions": ["Bradley Farias"], + "pushed_at": "2020-08-09T03:18:47.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 3, + "name": "Legacy RegExp features in JavaScript", + "id": "proposal-regexp-legacy-features", + "description": "Legacy static properties of the RegExp constructor in JavaScript", + "url": "https://github.com/tc39/proposal-regexp-legacy-features", + "tests": ["https://github.com/tc39/test262/pull/2650"], + "notes": [ + { + "date": "2017-05-25T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3" + } + ], + "has-specification": false, + "authors": ["Claude Pache"], + "champions": ["Mark Miller", "Claude Pache"], + "pushed_at": "2020-08-06T18:04:22.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Async Context", + "id": "proposal-async-context", + "url": "https://github.com/legendecas/proposal-async-context", + "notes": [ + { "date": "2020-07-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-23.md#async-context-updates--for-stage-1" } + ], + "has-specification": true, + "authors": ["Chengzhong Wu"], + "champions": ["Chengzhong Wu"], + "pushed_at": "2020-07-30T09:47:10.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Generator arrow functions", + "id": "proposal-generator-arrow-functions", + "description": "ECMAScript proposal: Generator Arrow Functions", + "url": "https://github.com/tc39/proposal-generator-arrow-functions", + "notes": [ + { "date": "2016-09-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-09/sept-27.md#11ic-generator-arrow-functions" } + ], + "has-specification": false, + "authors": ["Sergey Rubanov"], + "champions": ["Brendan Eich"], + "pushed_at": "2020-07-24T22:51:02.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Numeric separators", + "id": "proposal-numeric-separator", + "description": "A proposal to add numeric literal separators in JavaScript.", + "url": "https://github.com/tc39/proposal-numeric-separator", + "notes": [ + { "date": "2020-07-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#numericliteralseparator-for-stage-4" } + ], + "has-specification": true, + "authors": ["Sam Goto", "Rick Waldron"], + "champions": ["Sam Goto", "Rick Waldron", "Leo Balter"], + "edition": 2021, + "pushed_at": "2020-07-22T22:45:06.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "JSON.parse source text access", + "id": "proposal-json-parse-with-source", + "description": "Proposal for extending JSON.parse to expose input source text.", + "url": "https://github.com/tc39/proposal-json-parse-with-source", + "notes": [ + { + "date": "2020-07-22T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#jsonparse-source-text-access-for-stage-2" + } + ], + "has-specification": true, + "authors": ["Richard Gibson"], + "champions": ["Richard Gibson"], + "pushed_at": "2020-07-22T22:38:43.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Logical Assignment Operators", + "id": "proposal-logical-assignment", + "description": "A proposal to combine Logical Operators and Assignment Expressions", + "url": "https://github.com/tc39/proposal-logical-assignment", + "notes": [ + { "date": "2020-07-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#logical-assignment-for-stage-4" } + ], + "has-specification": true, + "authors": ["Justin Ridgewell"], + "champions": ["Justin Ridgewell", "Hemanth HM"], + "edition": 2021, + "pushed_at": "2020-07-21T20:36:57.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "DateTimeFormat dateStyle & timeStyle", + "id": "proposal-intl-datetime-style", + "description": "dateStyle and timeStyle options for DateTimeFormat", + "url": "https://github.com/tc39/proposal-intl-datetime-style", + "notes": [ + { + "date": "2020-07-21T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#intldatetimeformat-datestyletimestyle-for-stage-4" + } + ], + "has-specification": true, + "authors": ["Zibi Braniecki"], + "champions": ["Zibi Braniecki"], + "edition": 2021, + "pushed_at": "2020-07-21T17:57:09.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Slice notation", + "id": "proposal-slice-notation", + "url": "https://github.com/tc39/proposal-slice-notation", + "notes": [{ "date": "2020-07-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#slice-notation-for-stage-2" }], + "has-specification": true, + "authors": ["Sathya Gunasekaran"], + "champions": ["Sathya Gunasekaran"], + "pushed_at": "2020-07-12T08:04:41.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Partial application", + "id": "proposal-partial-application", + "description": "Proposal to add partial application to ECMAScript", + "url": "https://github.com/tc39/proposal-partial-application", + "notes": [{ "date": "2018-07-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#partial-application" }], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2020-07-07T23:54:51.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Additional metaproperties", + "description": "Notes and proposals on possible EMAScript extensions", + "url": "https://github.com/allenwb/ESideas", + "has-specification": false, + "authors": ["Allen Wirfs-Brock"], + "champions": ["Allen Wirfs-Brock"], + "pushed_at": "2020-06-22T15:19:54.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 1, + "name": "Smart Unit Preferences in Intl.NumberFormat", + "id": "proposal-smart-unit-preferences", + "url": "https://github.com/tc39/proposal-smart-unit-preferences", + "notes": [ + { + "date": "2020-06-04T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/840c700dc7fa7b9f6d0a3c208bd66b333e304717/meetings/2020-06/june-4.md#smart-unit-preferences-in-intlnumberformat-for-stage-1" + } + ], + "has-specification": false, + "authors": ["Younies Mahmoud"], + "champions": ["Younies Mahmoud"], + "pushed_at": "2020-06-12T10:24:42.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "export v from \"mod\"; statements", + "id": "proposal-export-default-from", + "description": "Proposal to add `export v from \"mod\";` to ECMAScript.", + "url": "https://github.com/tc39/proposal-export-default-from", + "notes": [{ "date": "2017-07-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-07/jul-27.md#export-default-from" }], + "has-specification": true, + "authors": ["Lee Byron"], + "champions": ["Ben Newman", "John-David Dalton"], + "pushed_at": "2020-06-05T17:08:41.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Deep Path Properties in Record Literals", + "id": "proposal-deep-path-properties-for-record", + "description": "ECMAScript proposal for deep spread syntax for Records", + "url": "https://github.com/tc39/proposal-deep-path-properties-for-record", + "notes": [{ "date": "2020-06-03T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-3.md#deep-path-properties" }], + "has-specification": false, + "authors": ["Rick Button"], + "champions": ["Rick Button"], + "pushed_at": "2020-06-03T17:35:41.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Generic Comparison", + "id": "proposal-generic-comparison", + "description": "Proposal Generic Comparison", + "url": "https://github.com/hemanth/proposal-generic-comparison", + "has-specification": false, + "authors": [], + "champions": ["Hemanth HM", "Jordan Harband"], + "rationale": "Withdrawn: replaced with Array Equality", + "pushed_at": "2020-05-29T04:12:01.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "import.meta", + "id": "proposal-import-meta", + "description": "import.meta proposal for JavaScript", + "url": "https://github.com/tc39/proposal-import-meta", + "notes": [ + { + "date": "2020-03-01T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-03/april-1.md#importmeta-for-stage-4-continued-from-previous-day" + } + ], + "has-specification": true, + "authors": ["Domenic Denicola"], + "champions": ["Gus Caplan"], + "edition": 2020, + "pushed_at": "2020-05-01T04:51:13.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Support for Distributed Promise Pipelining", + "id": "proposal-eventual-send", + "description": "TC39 Eventual Send proposal", + "url": "https://github.com/tc39/proposal-eventual-send", + "notes": [ + { + "date": "2019-10-03T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-3.md#eventual-send-support-for-distributed-promise-pipelining" + } + ], + "has-specification": false, + "authors": ["Mark Miller", "Chip Morningstar", "Michael Fig"], + "champions": ["Mark Miller", "Chip Morningstar", "Michael Fig"], + "pushed_at": "2020-04-25T16:33:30.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "from ... import", + "id": "proposal-from-import", + "description": "AKA: make code completion work.", + "url": "https://github.com/bmeck/proposal-from-import", + "has-specification": false, + "authors": [], + "champions": ["Bradley Farias"], + "rationale": "Never presented; preliminary feedback about syntax cost not being worth the weight", + "pushed_at": "2020-04-03T16:13:59.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "RefCollection", + "id": "proposal-refcollection", + "description": "ECMAScript proposal for the RefCollection.", + "url": "https://github.com/rricard/proposal-refcollection", + "has-specification": false, + "authors": [], + "champions": ["Robin Ricard"], + "rationale": "Withdrawn; replaced with Symbols as WeakMap keys; also there were OCAP/membrane concerns around providing a globally available pre-instantiated RefCollection", + "pushed_at": "2020-04-01T16:52:57.000Z" + }, + { + "tags": ["ECMA-402", "archived"], + "stage": 4, + "name": "Intl.NumberFormat Unified API Proposal", + "id": "proposal-unified-intl-numberformat", + "description": "Adds localized formatting of measurement units, compact decimals, and more number features", + "url": "https://github.com/tc39/proposal-unified-intl-numberformat", + "notes": [ + { "date": "2020-02-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#unified-number-format-for-stage-4" } + ], + "has-specification": true, + "authors": ["Shane Carr"], + "champions": ["Shane Carr"], + "edition": 2020, + "pushed_at": "2020-03-23T21:33:59.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Rest/Spread Properties", + "id": "proposal-object-rest-spread", + "description": "Rest/Spread Properties for ECMAScript", + "url": "https://github.com/tc39/proposal-object-rest-spread", + "notes": [ + { "date": "2018-01-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#restspread-properties-for-stage-4" } + ], + "has-specification": true, + "authors": ["Sebastian Markbåge"], + "champions": ["Sebastian Markbåge"], + "edition": 2018, + "pushed_at": "2020-03-17T19:52:50.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "TypedArray stride parameter", + "id": "proposal-typedarray-stride", + "description": "Proposal to add a `stride` parameter to TypedArrays", + "url": "https://github.com/tc39/proposal-typedarray-stride", + "has-specification": true, + "authors": [], + "champions": ["Shu-yu Guo"], + "rationale": "Withdrawn: concern about performance implications, and the proposal is not expressive enough", + "pushed_at": "2020-03-17T17:13:24.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Legacy reflection features for functions in JavaScript", + "description": "JavaScript: Legacy reflection features on functions needed for web compatibility", + "url": "https://github.com/claudepache/es-legacy-function-reflection", + "notes": [ + { + "date": "2020-02-05T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#legacy-reflection-features-for-functions-in-javascript-for-stage-1" + } + ], + "has-specification": false, + "authors": ["Mark Miller", "Claude Pache", "Jack Works"], + "champions": ["Mark Miller", "Claude Pache", "Jack Works"], + "pushed_at": "2020-02-28T20:43:08.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "Intl.RelativeTimeFormat", + "id": "proposal-intl-relative-time", + "description": "`Intl.RelativeTimeFormat` specification [draft]", + "url": "https://github.com/tc39/proposal-intl-relative-time", + "notes": [ + { "date": "2019-12-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#intlrelativetimeformat-for-stage-4" } + ], + "has-specification": true, + "authors": ["Zibi Braniecki", "Daniel Ehrenberg"], + "champions": ["Zibi Braniecki", "Daniel Ehrenberg"], + "edition": 2020, + "pushed_at": "2020-02-20T21:02:22.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "for-in mechanics", + "id": "proposal-for-in-order", + "description": "Partially specifying object enumeration order in JavaScript", + "url": "https://github.com/tc39/proposal-for-in-order", + "notes": [{ "date": "2019-12-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#for-in-order-for-stage-4" }], + "has-specification": true, + "authors": ["Kevin Gibbons"], + "champions": ["Kevin Gibbons"], + "edition": 2020, + "pushed_at": "2020-02-10T23:31:13.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Math.signbit: IEEE-754 sign bit", + "id": "proposal-Math.signbit", + "description": "Math.signbit", + "url": "https://github.com/tc39/proposal-Math.signbit", + "notes": [{ "date": "2017-05-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-23.md#16ib-mathsignbit-proposal" }], + "has-specification": true, + "authors": ["JF Bastien"], + "champions": ["JF Bastien"], + "pushed_at": "2020-02-06T17:23:33.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Preserve Host Virtualizability", + "id": "proposal-preserve-virtualizability", + "description": "Ensure hosts do not add new non-removable extensions", + "url": "https://github.com/Agoric/proposal-preserve-virtualizability", + "notes": [ + { "date": "2020-02-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-4.md#preserve-host-virtualizability" } + ], + "has-specification": false, + "authors": ["Mark Miller", "J.F. Paradis", "Caridy Patiño", "Dan Finley", "Alan Schmitt"], + "champions": ["Mark Miller", "J.F. Paradis", "Caridy Patiño", "Dan Finley", "Alan Schmitt"], + "pushed_at": "2020-02-02T05:54:29.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "RegExp Atomic Groups & Possessive Quantifiers", + "id": "proposal-regexp-atomic-and-possessive", + "description": "A proposal to add Atomic Groups and Possessive Quantifiers to RegExps", + "url": "https://github.com/jridgewell/proposal-regexp-atomic-and-possessive", + "has-specification": false, + "authors": [], + "champions": ["Justin Ridgewell"], + "rationale": "Never presented; engines are not interested in the feature, mainly because it doesn't solve backtracking for most users", + "pushed_at": "2020-01-26T06:09:58.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Nullish coalescing Operator", + "id": "proposal-nullish-coalescing", + "description": "Nullish coalescing proposal x ?? y", + "url": "https://github.com/tc39/proposal-nullish-coalescing", + "notes": [ + { "date": "2019-12-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#nullish-coalescing-for-stage-4" } + ], + "has-specification": true, + "authors": ["Gabriel Isenberg"], + "champions": ["Gabriel Isenberg", "Justin Ridgewell", "Daniel Rosenwasser"], + "edition": 2020, + "pushed_at": "2020-01-21T19:39:02.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Private declarations", + "id": "proposal-private-declarations", + "description": "A proposal to allow trusted code _outside_ of the class lexical scope to access private state", + "url": "https://github.com/tc39/proposal-private-declarations", + "notes": [ + { "date": "2019-03-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-03/mar-28.md#private-declarations-for-stage-1" } + ], + "has-specification": true, + "authors": ["Justin Ridgewell"], + "champions": ["Justin Ridgewell"], + "pushed_at": "2020-01-21T05:45:29.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "String.prototype.{trimStart,trimEnd}", + "id": "proposal-string-left-right-trim", + "description": "A proposal to the ECMAScript standard for including left and right trim of whitespace to strings", + "url": "https://github.com/tc39/proposal-string-left-right-trim", + "notes": [ + { + "date": "2019-01-29T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#stringprototypetrimstarttrimend-for-stage-4" + } + ], + "has-specification": true, + "authors": ["Sebastian Markbåge"], + "champions": ["Sebastian Markbåge", "Mathias Bynens"], + "edition": 2019, + "pushed_at": "2019-12-30T15:29:31.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Declarations in Conditionals", + "id": "proposal-Declarations-in-Conditionals", + "url": "https://github.com/tc39/proposal-Declarations-in-Conditionals", + "notes": [ + { "date": "2019-10-02T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-2.md#declarations-in-conditionals" } + ], + "has-specification": false, + "authors": ["Devin Rousso"], + "champions": ["Devin Rousso"], + "pushed_at": "2019-12-18T10:48:22.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Promise.allSettled", + "id": "proposal-promise-allSettled", + "description": "ECMAScript Proposal, specs, and reference implementation for Promise.allSettled", + "url": "https://github.com/tc39/proposal-promise-allSettled", + "notes": [{ "date": "2019-07-24T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-07/july-24.md#promiseallsettled" }], + "has-specification": true, + "authors": ["Jason Williams", "Robert Pamely", "Mathias Bynens"], + "champions": ["Mathias Bynens"], + "edition": 2020, + "pushed_at": "2019-12-09T14:48:57.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "ArrayBuffer.prototype.transfer", + "id": "proposal-arraybuffer-transfer", + "description": "ArrayBuffer.prototype.transfer() proposal for JavaScript", + "url": "https://github.com/domenic/proposal-arraybuffer-transfer", + "has-specification": true, + "authors": [], + "champions": ["Domenic Denicola", "Shu-yu Guo"], + "rationale": "Withdrawn: superseded by [Resizable Buffers][resizable-buffers]", + "pushed_at": "2019-12-09T09:43:25.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Maximally minimal mixins", + "id": "proposal-mixins", + "description": "A template for ECMAScript proposals", + "url": "https://github.com/justinfagnani/proposal-mixins", + "notes": [ + { + "date": "2018-01-23T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iiie-maximally-minimal-mixins-proposal" + } + ], + "has-specification": false, + "authors": ["Justin Fagnani"], + "champions": ["Justin Fagnani"], + "pushed_at": "2019-12-06T18:21:44.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Dynamic Import Host Adjustment", + "description": "TC39 proposal that affects doesn't stringify argument to import(...) early to enable interop with WICG/trusted-types", + "url": "https://github.com/tc39/dynamic-import-host-adjustment", + "notes": [ + { + "date": "2019-12-05T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#dynamic-import-host-adjustment-for-stage-2" + } + ], + "has-specification": false, + "authors": ["Mike Samuel", "Krzysztof Kotowicz"], + "champions": ["Krzysztof Kotowicz"], + "pushed_at": "2019-12-05T21:50:43.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 2, + "name": "Function implementation hiding", + "id": "proposal-function-implementation-hiding", + "description": "JavaScript language proposal: function implementation hiding", + "url": "https://github.com/tc39/proposal-function-implementation-hiding", + "notes": [ + { + "date": "2020-06-02T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-2.md#function-implementation-hiding-for-stage-3" + } + ], + "has-specification": true, + "authors": ["Domenic Denicola", "Michael Ficarra"], + "champions": ["Michael Ficarra"], + "pushed_at": "2019-12-02T19:56:56.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Readonly Collections", + "id": "proposal-readonly-collections", + "description": "Proposal: snapshot,diverge,readOnlyView methods for all collections", + "url": "https://github.com/tc39/proposal-readonly-collections", + "notes": [ + { "date": "2019-10-03T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-3.md#readonly-collections-for-stage-1" } + ], + "has-specification": false, + "authors": ["Mark Miller", "Peter Hoddie"], + "champions": ["Mark Miller", "Peter Hoddie"], + "pushed_at": "2019-11-26T04:18:02.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Observable", + "id": "proposal-observable", + "description": "Observables for ECMAScript", + "url": "https://github.com/tc39/proposal-observable", + "notes": [ + { "date": "2017-05-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-25.md#17iiia-observable-proposal-to-stage-2" } + ], + "has-specification": true, + "authors": ["Jafar Husain"], + "champions": ["Jafar Husain", "Mark Miller"], + "pushed_at": "2019-11-01T06:49:54.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Richer Keys", + "id": "proposal-richer-keys", + "description": "Cross cutting proposals around custom identities in collections", + "url": "https://github.com/tc39/proposal-richer-keys", + "notes": [{ "date": "2019-01-30T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-30.md#richer-keys-for-stage-2" }], + "has-specification": true, + "authors": ["Bradley Farias"], + "champions": ["Bradley Farias"], + "pushed_at": "2019-10-28T13:57:47.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "BigInt", + "id": "proposal-bigint", + "description": "Arbitrary precision integers in JavaScript", + "url": "https://github.com/tc39/proposal-bigint", + "notes": [{ "date": "2019-06-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-06/june-4.md#bigint-to-stage-4" }], + "has-specification": true, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg"], + "edition": 2020, + "pushed_at": "2019-10-09T01:42:58.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "Intl.NumberFormat.prototype.formatToParts", + "id": "proposal-intl-formatToParts", + "description": "Intl 402 spec proposal for {DateTimeFormat,Number}.prototype.formatToParts", + "url": "https://github.com/tc39/proposal-intl-formatToParts", + "notes": [ + { + "date": "2017-09-26T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-09/sept-26.md#12ia-intlnumberformatprototypeformattoparts-for-stage-4" + } + ], + "has-specification": false, + "authors": ["Zibi Braniecki"], + "champions": ["Zibi Braniecki"], + "edition": 2018, + "pushed_at": "2019-10-08T10:31:54.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "Intl.DateTimeFormat.prototype.formatToParts", + "id": "proposal-intl-formatToParts", + "description": "Intl 402 spec proposal for {DateTimeFormat,Number}.prototype.formatToParts", + "url": "https://github.com/tc39/proposal-intl-formatToParts", + "notes": [{ "date": "2016-07-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-27.md#9ii-ecma-402-formattoparts" }], + "has-specification": false, + "authors": ["Zibi Braniecki"], + "champions": ["Zibi Braniecki"], + "edition": 2017, + "pushed_at": "2019-10-08T10:31:54.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "globalThis", + "id": "proposal-global", + "description": "ECMAScript Proposal, specs, and reference implementation for `global`", + "url": "https://github.com/tc39/proposal-global", + "notes": [{ "date": "2019-10-01T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-1.md#globalthis-to-stage-4" }], + "has-specification": true, + "authors": ["Jordan Harband"], + "champions": ["Jordan Harband"], + "edition": 2020, + "pushed_at": "2019-10-01T20:41:06.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn", "archived"], + "stage": -1, + "name": "Zones", + "description": "Former home of the zones proposal for JavaScript", + "url": "https://github.com/domenic/zones", + "has-specification": true, + "authors": [], + "champions": ["Domenic Denicola", "Miško Hevery"], + "rationale": "Withdrawn; champion is no longer participating in TC39", + "pushed_at": "2019-09-26T05:34:05.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn", "archived"], + "stage": -1, + "name": "Blöcks", + "id": "proposal-blocks", + "description": "Former home of a proposal for a new syntactic construct for serializable blocks of JavaScript code", + "url": "https://github.com/domenic/proposal-blocks", + "has-specification": false, + "authors": [], + "champions": ["Domenic Denicola"], + "rationale": "Withdrawn; champion is no longer participating in TC39", + "pushed_at": "2019-09-26T05:31:11.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Module Keys", + "id": "proposal-module-keys", + "description": "Proposed change before TC39 for reifying module identity - Stage 1 Proposal", + "url": "https://github.com/tc39/proposal-module-keys", + "notes": [ + { "date": "2018-05-23T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-23.md#module-keys-strawman-for-stage-1" } + ], + "has-specification": false, + "authors": ["Mike Samuel"], + "champions": ["Mike Samuel"], + "pushed_at": "2019-07-01T12:39:23.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Exponentiation operator", + "id": "proposal-exponentiation-operator", + "description": "Progress tracking for ES7 exponentiation operator", + "url": "https://github.com/tc39/proposal-exponentiation-operator", + "notes": [ + { "date": "2016-01-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-01/jan-28.md#5xviii-exponentiation-operator-rw" } + ], + "has-specification": true, + "authors": ["Rick Waldron"], + "champions": ["Rick Waldron"], + "edition": 2016, + "pushed_at": "2019-07-01T05:09:44.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "import()", + "id": "proposal-dynamic-import", + "description": "import() proposal for JavaScript", + "url": "https://github.com/tc39/proposal-dynamic-import", + "notes": [{ "date": "2019-06-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-06/june-4.md#dynamic-import-for-stage-4" }], + "has-specification": true, + "authors": ["Domenic Denicola"], + "champions": ["Domenic Denicola"], + "edition": 2020, + "pushed_at": "2019-06-24T15:54:46.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Emitter", + "id": "proposal-emitter", + "url": "https://github.com/tc39/proposal-emitter", + "notes": [{ "date": "2019-06-05T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-06/june-5.md#emitter-for-stage-1" }], + "has-specification": true, + "authors": ["Shu-yu Guo", "Pedram Emrouznejad"], + "champions": ["Shu-yu Guo", "Pedram Emrouznejad"], + "pushed_at": "2019-06-16T17:16:06.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Builtins.typeOf() and Builtins.is()", + "id": "proposal-istypes", + "description": "TC-39 Proposal for additional is{Type} APIs", + "url": "https://github.com/jasnell/proposal-istypes", + "has-specification": false, + "authors": [], + "champions": ["James M Snell"], + "rationale": "Withdrawn: can be solved in other ways", + "pushed_at": "2019-04-28T11:23:02.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "new.initialize", + "id": "proposal-new-initialize", + "description": "Early draft proposal to support initializing given objects with fields and private methods", + "url": "https://github.com/littledan/proposal-new-initialize", + "notes": [{ "date": "2019-01-31T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-31.md#newinitialize-for-stage-1" }], + "has-specification": false, + "authors": ["Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg"], + "pushed_at": "2019-03-03T07:50:11.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "JSON superset", + "id": "proposal-json-superset", + "description": "Proposal to make all JSON text valid ECMA-262", + "url": "https://github.com/tc39/proposal-json-superset", + "notes": [{ "date": "2018-05-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-22.md#conclusionresolution-8" }], + "has-specification": true, + "authors": ["Richard Gibson"], + "champions": ["Mark Miller", "Mathias Bynens"], + "edition": 2019, + "pushed_at": "2019-02-13T14:33:44.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Well-formed JSON.stringify", + "id": "proposal-well-formed-stringify", + "description": "Proposal to prevent JSON.stringify from returning ill-formed strings", + "url": "https://github.com/tc39/proposal-well-formed-stringify", + "notes": [ + { "date": "2019-01-29T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#well-formed-jsonstringify-for-stage-4" } + ], + "has-specification": true, + "authors": ["Richard Gibson"], + "champions": ["Mathias Bynens"], + "edition": 2019, + "pushed_at": "2019-01-29T22:50:43.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Array.prototype.{flat,flatMap}", + "id": "proposal-flatMap", + "description": "proposal for flatten and flatMap on arrays", + "url": "https://github.com/tc39/proposal-flatMap", + "notes": [ + { "date": "2019-01-29T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#arrayprototypeflatflatmap-for-stage-4" } + ], + "has-specification": true, + "authors": ["Brian Terlson", "Michael Ficarra", "Mathias Bynens"], + "champions": ["Brian Terlson", "Michael Ficarra"], + "edition": 2019, + "pushed_at": "2019-01-29T22:47:31.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Binary AST", + "id": "proposal-binary-ast", + "description": "Binary AST proposal for ECMAScript", + "url": "https://github.com/tc39/proposal-binary-ast", + "notes": [{ "date": "2018-05-24T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-24.md#binary-ast" }], + "has-specification": true, + "authors": ["Shu-yu Guo"], + "champions": ["Shu-yu Guo"], + "pushed_at": "2019-01-16T15:07:39.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "{BigInt,Number}.fromString", + "id": "proposal-number-fromstring", + "description": "{BigInt,Number}.fromString(string, radix)", + "url": "https://github.com/tc39/proposal-number-fromstring", + "notes": [ + { + "date": "2018-01-23T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iic-bigintnumberfromstring-for-stage-1" + } + ], + "has-specification": true, + "authors": ["Mathias Bynens"], + "champions": ["Mathias Bynens"], + "pushed_at": "2019-01-11T13:51:46.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "Date.parse fallback semantics", + "id": "proposal-date-time-string-format", + "description": "An amended Date Time String Format with more explicit syntax.", + "url": "https://github.com/tc39/proposal-date-time-string-format", + "has-specification": false, + "authors": [], + "champions": ["Morgan Phillips"], + "rationale": "Inactive; likely replaced by uniform parsing of quasi-standard Date.parse input", + "pushed_at": "2019-01-09T11:23:06.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 1, + "name": "Dynamic Modules", + "description": "Dynamic Modules Proposal for ECMAScript", + "url": "https://github.com/nodejs/dynamic-modules", + "notes": [{ "date": "2018-07-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#dynamic-modules" }], + "has-specification": true, + "authors": ["Bradley Farias"], + "champions": ["Bradley Farias"], + "pushed_at": "2018-12-20T19:53:13.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "\"use module\"", + "id": "proposal-modules-pragma", + "description": "Proposal to recognize a `\"use module\";` pragma", + "url": "https://github.com/tc39/proposal-modules-pragma", + "notes": [ + { "date": "2017-07-26T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-07/jul-26.md#9ivb-modulescript-pragma-for-stage-2" } + ], + "has-specification": true, + "authors": ["Dave Herman"], + "champions": ["Dave Herman"], + "pushed_at": "2018-12-07T17:51:28.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "First-class protocols", + "id": "proposal-first-class-protocols", + "description": "a proposal to bring protocol-based interfaces to ECMAScript users", + "url": "https://github.com/tc39/proposal-first-class-protocols", + "notes": [ + { "date": "2018-07-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#updates-on-first-class-protocols" } + ], + "has-specification": false, + "authors": ["Michael Ficarra"], + "champions": ["Michael Ficarra"], + "pushed_at": "2018-11-28T22:04:22.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Symbol.prototype.description", + "id": "proposal-Symbol-description", + "description": "proposal to add Symbol.prototype.description to ECMAScript", + "url": "https://github.com/tc39/proposal-Symbol-description", + "notes": [{ "date": "2018-11-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-27.md#conclusionresolution-12" }], + "has-specification": true, + "authors": ["Michael Ficarra"], + "champions": ["Michael Ficarra"], + "edition": 2019, + "pushed_at": "2018-11-28T00:49:58.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Function.prototype.toString revision", + "description": ":fishing_pole_and_fish: ECMA-262 proposal to update Function.prototype.toString", + "url": "https://github.com/tc39/Function-prototype-toString-revision", + "notes": [{ "date": "2018-11-27T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-27.md#conclusionresolution-13" }], + "has-specification": false, + "authors": ["Michael Ficarra"], + "champions": ["Michael Ficarra"], + "edition": 2019, + "pushed_at": "2018-11-28T00:49:21.000Z" + }, + { + "tags": ["ECMA-262", "inactive", "archived"], + "stage": -1, + "name": "SIMD.JS - SIMD APIs", + "description": "SIMD numeric type for EcmaScript", + "url": "https://github.com/tc39/ecmascript_simd", + "has-specification": false, + "authors": [], + "champions": ["Peter Jensen", "Yehuda Katz"], + "rationale": "Stage 1: Start with SIMD in WASM; implementations not pursuing SIMD.js for now.", + "pushed_at": "2018-09-07T05:36:04.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "deprecated", + "id": "proposal-deprecated", + "description": "TC-39 Proposal for a deprecated keyword", + "url": "https://github.com/jasnell/proposal-deprecated", + "has-specification": false, + "authors": ["James M Snell"], + "champions": ["James M Snell"], + "pushed_at": "2018-08-21T15:23:31.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Asynchronous Iteration", + "id": "proposal-async-iteration", + "description": "Asynchronous iteration for JavaScript", + "url": "https://github.com/tc39/proposal-async-iteration", + "notes": [{ "date": "2018-01-25T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-25.md#conclusionresolution" }], + "has-specification": true, + "authors": ["Domenic Denicola"], + "champions": ["Domenic Denicola"], + "edition": 2018, + "pushed_at": "2018-06-11T21:58:15.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Tagged Collection Literals", + "id": "proposal-collection-literals", + "description": "[WITHDRAWN] tc39 proposal for custom collection literals", + "url": "https://github.com/zkat/proposal-collection-literals", + "has-specification": false, + "authors": [], + "champions": ["Kat Marchán"], + "rationale": "Withdrawn: pursuing when new syntax and other alternatives", + "pushed_at": "2018-05-25T16:14:37.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Optional catch binding", + "id": "proposal-optional-catch-binding", + "description": "proposal for ECMAScript to allow omission of the catch binding", + "url": "https://github.com/tc39/proposal-optional-catch-binding", + "notes": [{ "date": "2018-05-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-22.md#conclusionresolution-7" }], + "has-specification": true, + "authors": ["Michael Ficarra"], + "champions": ["Michael Ficarra"], + "edition": 2019, + "pushed_at": "2018-05-22T18:40:00.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 0, + "name": "Symbol.thenable", + "id": "proposal-symbol-thenable", + "url": "https://github.com/devsnek/proposal-symbol-thenable", + "notes": [ + { + "date": "2018-05-24T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/def2ee0c04bc91612576237314a4f3b1fe2edaef/meetings/2018-05/may-24.md#symbolthenable-for-stage-1-or-2" + } + ], + "has-specification": false, + "authors": ["Gus Caplan"], + "champions": ["Jordan Harband", "Myles Borins"], + "pushed_at": "2018-05-12T05:36:12.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "as destructuring patterns", + "id": "proposal-as-patterns", + "description": "`as` destructuring patterns", + "url": "https://github.com/zkat/proposal-as-patterns", + "has-specification": false, + "authors": ["Kat Marchán"], + "champions": ["Kat Marchán"], + "pushed_at": "2018-05-10T04:01:42.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Object.freeze + Object.seal syntax", + "id": "proposal-object-freeze-seal-syntax", + "description": "A JavaScript TC39 proposal for Object.freeze & Object.seal syntax", + "url": "https://github.com/keithamus/proposal-object-freeze-seal-syntax", + "notes": [{ "url": "https://github.com/keithamus/proposal-object-freeze-seal-syntax" }], + "has-specification": false, + "authors": ["Keith Cirkel"], + "champions": ["Keith Cirkel"], + "pushed_at": "2018-04-17T09:15:50.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "RegExp Unicode Property Escapes", + "id": "proposal-regexp-unicode-property-escapes", + "description": "Proposal to add Unicode property escapes `\\p{…}` and `\\P{…}` to regular expressions in ECMAScript.", + "url": "https://github.com/tc39/proposal-regexp-unicode-property-escapes", + "notes": [{ "date": "2018-01-24T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#conclusionresolution-1" }], + "has-specification": true, + "authors": ["Mathias Bynens"], + "champions": ["Brian Terlson", "Daniel Ehrenberg", "Mathias Bynens"], + "edition": 2018, + "pushed_at": "2018-02-01T06:16:41.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "RegExp named capture groups", + "id": "proposal-regexp-named-groups", + "description": "Named capture groups for JavaScript RegExps", + "url": "https://github.com/tc39/proposal-regexp-named-groups", + "notes": [ + { + "date": "2017-11-28T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-11/nov-28.md#9if-regexp-named-captures-status-update" + } + ], + "has-specification": true, + "authors": ["Gorkem Yakin", "Daniel Ehrenberg"], + "champions": ["Daniel Ehrenberg", "Brian Terlson", "Mathias Bynens"], + "edition": 2018, + "pushed_at": "2018-01-24T06:21:56.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Function bind syntax", + "id": "proposal-bind-operator", + "description": "This-Binding Syntax for ECMAScript", + "url": "https://github.com/tc39/proposal-bind-operator", + "notes": [ + { + "date": "2015-03-25T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2015-03/mar-25.md#6vi-function-bind-and-private-fields-redux-kevin-smith" + } + ], + "has-specification": false, + "authors": ["Kevin Smith"], + "champions": ["Brian Terlson", "Matthew Podwysocki"], + "pushed_at": "2018-01-19T16:03:21.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn", "archived"], + "stage": -1, + "name": "Distinguishing literal strings", + "description": "Literals could be different than non-literals.", + "url": "https://github.com/mikewest/tc39-proposal-literals", + "has-specification": false, + "authors": [], + "champions": ["Mike West", "Adam Klein"], + "rationale": "Withdrawn: Trusted Types no longer a dependent", + "pushed_at": "2018-01-07T18:20:55.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 4, + "name": "Intl.PluralRules", + "id": "proposal-intl-plural-rules", + "description": "`Intl.PluralRules` specification [draft]", + "url": "https://github.com/tc39/proposal-intl-plural-rules", + "notes": [ + { "date": "2017-09-26T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-09/sept-26.md#12ig-intlpluralrules-for-stage-4" } + ], + "has-specification": false, + "authors": ["Caridy Patiño", "Eric Ferraiuolo"], + "champions": ["Caridy Patiño", "Eric Ferraiuolo"], + "edition": 2018, + "pushed_at": "2017-11-17T00:59:21.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Lifting template literal restriction", + "id": "proposal-template-literal-revision", + "url": "https://github.com/tc39/proposal-template-literal-revision", + "notes": [ + { "date": "2017-03-21T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-03/mar-21.md#10ia-template-literal-updates" } + ], + "has-specification": true, + "authors": ["Tim Disney"], + "champions": ["Tim Disney"], + "edition": 2018, + "pushed_at": "2017-10-12T07:49:05.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Object.shallowEqual", + "description": "A proposal for ECMAScript for Object.shallowEqual.", + "url": "https://github.com/sebmarkbage/ecmascript-shallow-equal", + "has-specification": false, + "authors": [], + "champions": ["Sebastian Markbage"], + "rationale": "Withdrawn", + "pushed_at": "2017-10-06T18:56:48.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "WHATWG URL", + "id": "proposal-url", + "description": "Proposal to add WHATWG URL to ECMAScript", + "url": "https://github.com/jasnell/proposal-url", + "has-specification": false, + "authors": ["James M Snell"], + "champions": ["James M Snell"], + "pushed_at": "2017-08-16T14:44:44.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Object Shorthand Improvements", + "id": "proposal-shorthand-improvements", + "description": "A proposal to introduce new shorthand assignment forms for ECMAScript object literals", + "url": "https://github.com/rbuckton/proposal-shorthand-improvements", + "notes": [ + { "date": "2017-09-28T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-09/sept-28.md#13i-object-shorthand-improvements" } + ], + "has-specification": true, + "authors": ["Ron Buckton"], + "champions": ["Ron Buckton"], + "pushed_at": "2017-07-24T23:44:20.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Shared memory and atomics", + "description": "Shared memory and atomics for ECMAscript", + "url": "https://github.com/tc39/ecmascript_sharedmem", + "notes": [ + { + "date": "2017-01-24T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-01/jan-24.md#13if-seeking-stage-4-for-sharedarraybuffer" + } + ], + "has-specification": false, + "authors": ["Lars T Hansen"], + "champions": ["Lars T Hansen"], + "edition": 2017, + "pushed_at": "2017-07-11T18:51:10.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "%constructor%.construct", + "id": "proposal-construct", + "description": "A proposal for TC-39", + "url": "https://github.com/jasnell/proposal-construct", + "has-specification": false, + "authors": [], + "champions": ["James M Snell"], + "rationale": "Withdrawn", + "pushed_at": "2017-06-19T22:08:18.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Dynamic Module Reform", + "id": "proposal-dynamic-modules", + "description": "ECMAScript Proposal specs for the reform to preserve the order of execution for dynamic modules (REJECTED)", + "url": "https://github.com/tc39/proposal-dynamic-modules", + "has-specification": false, + "authors": [], + "champions": ["Caridy Patiño"], + "rationale": "Withdrawn: we decided to preserve the current semantics", + "pushed_at": "2017-04-06T18:27:48.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "Proposed Grammar change to ES Modules", + "id": "proposal-UnambiguousJavaScriptGrammar", + "url": "https://github.com/tc39/proposal-UnambiguousJavaScriptGrammar", + "has-specification": false, + "authors": [], + "champions": ["Bradley Farias"], + "rationale": "Rejected: No consensus on this specific solution.", + "pushed_at": "2017-04-06T15:23:56.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 4, + "name": "Trailing commas in function parameter lists and calls", + "id": "proposal-trailing-function-commas", + "url": "https://github.com/tc39/proposal-trailing-function-commas", + "notes": [ + { "date": "2016-07-26T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-26.md#9ie-trailing-commas-in-functions" } + ], + "has-specification": true, + "authors": ["Jeff Morrison"], + "champions": ["Jeff Morrison"], + "edition": 2017, + "pushed_at": "2017-03-27T10:22:59.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Orthogonal Classes", + "description": "Proposed EcmaScript Class Syntax clarifying orthogonal concerns", + "url": "https://github.com/erights/Orthogonal-Classes", + "notes": [{ "date": "2017-03-22T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-03/mar-22.md#10iiia-orthogonal-classes" }], + "has-specification": false, + "authors": ["Mark Miller", "Allen Wirfs-Brock"], + "champions": ["Mark Miller", "Allen Wirfs-Brock"], + "pushed_at": "2017-03-22T23:34:11.000Z" + }, + { + "tags": ["ECMA-262", "archived"], + "stage": 4, + "name": "Array.prototype.includes", + "id": "proposal-Array.prototype.includes", + "description": "Spec, tests, reference implementation, and docs for ESnext-track Array.prototype.includes", + "url": "https://github.com/tc39/proposal-Array.prototype.includes", + "notes": [{ "date": "2015-11-17T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2015-11/nov-17.md#arrayprototypeincludes" }], + "has-specification": true, + "authors": ["Domenic Denicola"], + "champions": ["Domenic Denicola", "Rick Waldron"], + "edition": 2016, + "pushed_at": "2017-02-02T19:04:48.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn", "archived"], + "stage": -1, + "name": "Cancelable Promises", + "id": "proposal-cancelable-promises", + "description": "Former home of the now-withdrawn cancelable promises proposal for JavaScript", + "url": "https://github.com/tc39/proposal-cancelable-promises", + "has-specification": true, + "authors": [], + "champions": ["Domenic Denicola"], + "rationale": "Withdrawn", + "pushed_at": "2016-12-15T18:37:18.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "Updates to Tail Calls to include an explicit syntactic opt-in", + "id": "proposal-ptc-syntax", + "description": "Discussion and specification for an explicit syntactic opt-in for Tail Calls.", + "url": "https://github.com/tc39/proposal-ptc-syntax", + "has-specification": true, + "authors": [], + "champions": ["Brian Terlson", "Eric Faust"], + "rationale": "Inactive", + "pushed_at": "2016-06-21T13:15:42.000Z" + }, + { + "tags": ["ECMA-262", "inactive"], + "stage": -1, + "name": "Object enumerables", + "description": "Object.enumerableKeys / Object.enumerableValues / Object.enumerableEntries", + "url": "https://github.com/leobalter/object-enumerables", + "has-specification": false, + "authors": [], + "champions": ["Leo Balter", "John-David Dalton"], + "rationale": "Rejected", + "pushed_at": "2016-04-29T19:32:06.000Z" + }, + { + "tags": ["ECMA-262", "inactive", "archived"], + "stage": -1, + "name": "{Set,Map}.prototype.toJSON", + "description": "An ECMAScript proposal", + "url": "https://github.com/DavidBruant/Map-Set.prototype.toJSON", + "has-specification": true, + "authors": [], + "champions": ["David Bruant", "Jordan Harband"], + "rationale": "Rejected: better solved by a custom replacer function.", + "pushed_at": "2016-04-01T09:16:58.000Z" + }, + { + "tags": ["ECMA-402"], + "stage": 0, + "name": "Intl.NumberFormat round option", + "description": "Ecma-402 proposal for selecting different rounding functions for Intl.NumberFormat", + "url": "https://github.com/rxaviers/ecma402-number-format-round-option", + "has-specification": false, + "authors": ["Rafael Xavier"], + "champions": ["Rafael Xavier"], + "pushed_at": "2015-07-14T18:55:53.000Z" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Structured Clone", + "url": "https://github.com/dslomov/ecmascript-structured-clone", + "notes": [{ "date": "2014-01-30T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2014-01/jan-30.md#structured-clone" }], + "has-specification": false, + "authors": ["Dmitry Lomov"], + "champions": ["Dmitry Lomov"], + "pushed_at": "2014-01-21T15:44:43.000Z" + }, + { + "tags": ["ECMA-262", "withdrawn"], + "stage": -1, + "name": "Annex B — HTML Attribute Event Handlers", + "has-specification": false, + "authors": [], + "champions": ["Allen Wirfs-Brock"], + "rationale": "Withdrawn per PR comment" + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Relationships", + "url": "https://web.archive.org/web/20160804042554/http://wiki.ecmascript.org/doku.php?id=strawman:relationships", + "has-specification": false, + "authors": ["Mark Miller", "Waldemar Horwat"], + "champions": ["Mark Miller", "Waldemar Horwat"] + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Method parameter decorators", + "url": "https://goo.gl/r1XT9b", + "has-specification": false, + "authors": ["Igor Minar"], + "champions": ["Igor Minar"] + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Function expression decorators", + "url": "https://goo.gl/8MmCMG", + "has-specification": false, + "authors": ["Igor Minar"], + "champions": ["Igor Minar"] + }, + { + "tags": ["ECMA-262"], + "stage": 0, + "name": "Defensible Classes", + "url": "https://web.archive.org/web/20160804042547/http://wiki.ecmascript.org/doku.php?id=strawman:defensible_classes", + "has-specification": false, + "authors": ["Mark Miller", "Doug Crockford"], + "champions": ["Mark Miller", "Doug Crockford"] + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Async initialization", + "url": "https://docs.google.com/presentation/d/1DsjZAzBjn2gCrr4l0uZzCymPIWZTKM8KzcnMBF31HAg/edit#slide=id.g7d23d45064_0_196", + "notes": [ + { "date": "2020-02-04T00:00:00.000Z", "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-4.md#async-initialization-for-stage-1" } + ], + "has-specification": false, + "authors": ["Bradley Farias"], + "champions": ["Bradley Farias"] + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD)", + "notes": [ + { + "date": "2017-07-26T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-07/jul-26.md#13iib-consider-changing-numberparseint-and-numberparsefloat" + } + ], + "has-specification": false, + "authors": [], + "champions": ["Brendan Eich"] + }, + { + "tags": ["ECMA-262"], + "stage": 1, + "name": "Float16 on TypedArrays, DataView, Math.hfround", + "url": "https://docs.google.com/presentation/d/1Ta_IbravBUOvu7LUhlN49SvLU-8G8bIQnsS08P3Z4vY/edit?usp=sharing", + "notes": [ + { + "date": "2017-05-23T00:00:00.000Z", + "url": "https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-23.md#16ig-float16-on-typedarrays-dataview-mathhfround-for-stage-1" + } + ], + "has-specification": false, + "authors": ["Leo Balter"], + "champions": ["Leo Balter"] + } +] diff --git a/proposals.min.json b/proposals.min.json new file mode 100644 index 0000000..9ca1852 --- /dev/null +++ b/proposals.min.json @@ -0,0 +1 @@ +[{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Callable class constructors","description":"Status, process, and documents for ECMA-262","url":"https://github.com/tc39/ecma262","has-specification":false,"authors":[],"champions":["Yehuda Katz","Allen Wirfs-Brock"],"rationale":"Withdrawn: can be solved with decorators","pushed_at":"2021-06-19T23:06:20.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Class Static Block","id":"proposal-class-static-block","description":"ECMAScript class static initialization blocks","url":"https://github.com/tc39/proposal-class-static-block","notes":[{"date":"2021-03-09T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-9.md#class-static-initialization-blocks"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2021-06-19T20:07:30.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Change Array by copy","id":"proposal-change-array-by-copy","description":"Provides additional methods to Array.prototype to enable changes on an array by returning a new copy of it with the change.","url":"https://github.com/tc39/proposal-change-array-by-copy","notes":[{"date":"2021-04-20T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-20.md#change-array-by-copy"}],"has-specification":true,"authors":["Robin Ricard"],"champions":["Robin Ricard"],"pushed_at":"2021-06-19T16:26:15.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Normative ICU Reference","description":"TC39 meeting notes","url":"https://github.com/tc39/notes","has-specification":false,"authors":[],"champions":["Domenic Denicola"],"rationale":"Withdrawn; champion is no longer participating in TC39","pushed_at":"2021-06-19T04:53:32.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Temporal","id":"proposal-temporal","description":"Provides standard objects and functions for working with dates and times.","url":"https://github.com/tc39/proposal-temporal","notes":[{"date":"2021-03-10T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-10.md#temporal-pt-2"}],"has-specification":true,"authors":["Philipp Dunkel","Maggie Johnson-Pint","Matt Johnson-Pint","Brian Terlson","Shane Carr","Ujjwal Sharma","Philip Chimento","Jason Williams","Justin Grant"],"champions":["Philipp Dunkel","Maggie Johnson-Pint","Matt Johnson-Pint","Brian Terlson","Shane Carr","Ujjwal Sharma","Philip Chimento","Jason Williams","Justin Grant"],"pushed_at":"2021-06-18T18:11:17.000Z"},{"tags":["ECMA-402"],"stage":2,"name":"Intl.NumberFormat V3","id":"proposal-intl-numberformat-v3","description":"Additional features for Intl.NumberFormat to solve key pain points.","url":"https://github.com/tc39/proposal-intl-numberformat-v3","notes":[{"date":"2020-06-02T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-2.md#intlnumberformat-v3-for-stage-2"}],"has-specification":true,"authors":["Shane Carr"],"champions":["Shane Carr"],"pushed_at":"2021-06-18T07:02:38.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Resizable and growable ArrayBuffers","id":"proposal-resizablearraybuffer","description":"Proposal for resizable array buffers","url":"https://github.com/tc39/proposal-resizablearraybuffer","notes":[{"date":"2021-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#resizable-arraybuffers-for-stage-3"}],"has-specification":true,"authors":["Shu-yu Guo"],"champions":["Shu-yu Guo"],"pushed_at":"2021-06-18T00:41:43.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Accessible Object.prototype.hasOwnProperty","id":"proposal-accessible-object-hasownproperty","description":"Object.hasOwn() proposal for ECMAScript","url":"https://github.com/tc39/proposal-accessible-object-hasownproperty","notes":[{"date":"2021-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#accessible-objectprototypehasownproperty-for-stage-3"}],"has-specification":true,"authors":["Jamie Kyle"],"champions":["Tierney Cyren"],"pushed_at":"2021-06-17T15:11:08.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Pattern Matching","id":"proposal-pattern-matching","description":"Pattern matching syntax for ECMAScript","url":"https://github.com/tc39/proposal-pattern-matching","notes":[{"date":"2021-04-20T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-20.md#pattern-matching-update"}],"has-specification":true,"authors":["Jordan Harband","Mark Cohen","Tab Atkins","Yulia Startsev","Daniel Rosenwasser","Jack Works","Ross Kirsling"],"champions":["Jordan Harband","Mark Cohen","Tab Atkins","Yulia Startsev","Daniel Rosenwasser","Jack Works","Ross Kirsling"],"pushed_at":"2021-06-16T18:40:09.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Record & Tuple","id":"proposal-record-tuple","description":"ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!","url":"https://github.com/tc39/proposal-record-tuple","notes":[{"date":"2020-09-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-22.md#records--tuples"}],"has-specification":true,"authors":["Robin Ricard","Richard Button"],"champions":["Robin Ricard","Richard Button"],"pushed_at":"2021-06-16T17:03:16.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Realms","id":"proposal-realms","description":"ECMAScript Proposal, specs, and reference implementation for Realms","url":"https://github.com/tc39/proposal-realms","notes":[{"date":"2020-11-17T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#realms-for-stage-3"}],"has-specification":true,"authors":["Caridy Patiño","Jean-Francois Paradis"],"champions":["Dave Herman","Mark Miller","Caridy Patiño"],"pushed_at":"2021-06-15T18:37:56.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Optional Chaining","id":"proposal-optional-chaining","url":"https://github.com/tc39/proposal-optional-chaining","notes":[{"date":"2019-12-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#optional-chaining-for-stage-4"}],"has-specification":true,"authors":["Gabriel Isenberg","Claude Pache","Dustin Savery"],"champions":["Gabriel Isenberg","Dustin Savery","Justin Ridgewell","Daniel Rosenwasser"],"edition":2020,"pushed_at":"2021-06-15T18:09:24.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Nested import declarations","description":"Enable ECMAScript 2015 modules in Node today. No caveats. Full stop.","url":"https://github.com/benjamn/reify","notes":[{"date":"2016-07-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-27.md#10iiic-nested-import-declaration"}],"has-specification":false,"authors":["Ben Newman"],"champions":["Ben Newman"],"pushed_at":"2021-06-15T06:44:32.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Adopting Unicode behavior for set notation in regular expressions","id":"proposal-regexp-set-notation","description":"UTS18 set notation in regular expressions","url":"https://github.com/tc39/proposal-regexp-set-notation","notes":[{"date":"2021-05-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-26.md#regexp-unicode-set-notation--properties-of-strings-for-stage-2"}],"has-specification":true,"authors":["Markus Scherer","Mathias Bynens"],"champions":["Mathias Bynens"],"pushed_at":"2021-06-12T07:56:17.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"WeakRefs cleanupSome","id":"proposal-cleanup-some","description":"Proposal to migrate cleanup some to its own proposal repository","url":"https://github.com/tc39/proposal-cleanup-some","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#weakrefs-for-stage-4--cleanupsome-for-stage-23"}],"has-specification":false,"authors":["Yulia Startsev","Daniel Ehrenberg"],"champions":["Yulia Startsev","Daniel Ehrenberg"],"pushed_at":"2021-06-11T23:59:37.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Collection methods","id":"proposal-collection-methods","url":"https://github.com/tc39/proposal-collection-methods","notes":[{"date":"2018-01-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iiik-new-set-builtin-methods-for-stage-2"}],"has-specification":true,"authors":["Michał Wadas"],"champions":["Sathya Gunasekaran"],"pushed_at":"2021-06-11T20:08:20.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"String.dedent","id":"proposal-string-dedent","description":"TC39 Proposal for multi-backtick templates with automatic margin stripping","url":"https://github.com/tc39/proposal-string-dedent","notes":[{"date":"2020-09-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-23.md#stringdedent-for-stage-1"}],"has-specification":true,"authors":["Misha Kaletsky","Hemanth HM","Justin Ridgewell"],"champions":["Hemanth HM","Justin Ridgewell"],"pushed_at":"2021-06-11T18:42:52.000Z"},{"tags":["ECMA-402"],"stage":0,"name":"Fix 9.2.3 LookupMatcher algorithm","description":"Ecma-402 proposal for fixing its LookupMatcher algorithm (9.2.2 and 9.2.3)","url":"https://github.com/rxaviers/ecma402-fix-lookup-matcher","has-specification":false,"authors":["Rafael Xavier"],"champions":["Rafael Xavier"],"pushed_at":"2021-06-10T20:13:33.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"RegExp Match Indices","id":"proposal-regexp-match-indices","description":"ECMAScript RegExp Match Indices","url":"https://github.com/tc39/proposal-regexp-match-indices","notes":[{"date":"2021-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#regexp-match-indices"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"edition":2022,"pushed_at":"2021-06-10T17:21:31.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Class Fields (Private instance methods and accessors, Class Public Instance Fields & Private Instance Fields, Static class fields and private static methods)","id":"proposal-private-methods","description":"Private methods and getter/setters for ES6 classes","url":"https://github.com/tc39/proposal-private-methods","notes":[{"date":"2021-04-19T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-19.md#class-fields-private-methods-and-static-class-features-for-stage-4"}],"has-specification":true,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg","Kevin Gibbons"],"edition":2022,"pushed_at":"2021-06-10T09:33:54.000Z"},{"tags":["ECMA-402"],"stage":2,"name":"Intl Enumeration API","id":"proposal-intl-enumeration","description":"Return supported values of options, such as timeZone, calendars, numberingSystems, currencies, units","url":"https://github.com/tc39/proposal-intl-enumeration","notes":[{"date":"2020-11-18T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-18.md#intl-enumeration-api-update"}],"has-specification":true,"authors":["Frank Tang"],"champions":["Frank Tang"],"pushed_at":"2021-06-09T23:21:21.000Z"},{"tags":["ECMA-402"],"stage":3,"name":"Intl Locale Info","id":"proposal-intl-locale-info","description":"An API to expose information of locale, such as week data ( first day of a week, weekend start, weekend end), hour cycle, measurement system, commonly used calendar, etc.","url":"https://github.com/tc39/proposal-intl-locale-info","notes":[{"date":"2021-04-20T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/886ead863abbef6c7546c97c36e0fae7aba8dc8d/meetings/2021-04/apr-20.md#intl-locale-info-for-stage-3"}],"has-specification":true,"authors":["Frank Tang"],"champions":["Frank Tang"],"pushed_at":"2021-06-03T20:15:12.000Z"},{"tags":["ECMA-402"],"stage":3,"name":"Intl.DisplayNames v2","description":"Intl DisplayNames API V2","url":"https://github.com/tc39/intl-displaynames-v2","has-specification":false,"authors":["Frank Tang"],"champions":["Frank Tang"],"pushed_at":"2021-06-02T18:31:27.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Iterator helpers","id":"proposal-iterator-helpers","description":"Methods for working with iterators in ECMAScript","url":"https://github.com/tc39/proposal-iterator-helpers","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#iterator-helpers-update"}],"has-specification":true,"authors":["Gus Caplan"],"champions":["Michael Ficarra","Jonathan Keslin"],"pushed_at":"2021-06-02T11:53:47.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Top-level await","id":"proposal-top-level-await","description":"top-level `await` proposal for ECMAScript (stage 4)","url":"https://github.com/tc39/proposal-top-level-await","notes":[{"date":"2021-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-05/may-25.md#top-level-await"}],"has-specification":true,"authors":["Myles Borins","Yulia Startsev","Daniel Ehrenberg","Guy Bedford","Ms2ger"],"champions":["Myles Borins","Yulia Startsev"],"edition":2022,"pushed_at":"2021-05-28T08:02:18.000Z"},{"tags":["ECMA-402"],"stage":3,"name":"Extend TimeZoneName Option Proposal","id":"proposal-intl-extend-timezonename","description":"Extend TimeZoneName Option Proposal","url":"https://github.com/tc39/proposal-intl-extend-timezonename","has-specification":true,"authors":["FrankYFTang"],"champions":["FrankYFTang"],"pushed_at":"2021-05-28T02:31:10.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Decorators","id":"proposal-decorators","description":"Decorators for ES6 classes","url":"https://github.com/tc39/proposal-decorators","notes":[{"date":"2020-09-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-23.md#decorators-a-new-proposal-iteration"}],"has-specification":true,"authors":["Daniel Ehrenberg"],"champions":["Yehuda Katz","Brian Terlson","Daniel Ehrenberg"],"pushed_at":"2021-05-27T20:25:30.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Sequence properties in Unicode property escapes","id":"proposal-regexp-unicode-sequence-properties","description":"Proposal to add support for sequence properties in Unicode property escapes to ECMAScript regular expressions.","url":"https://github.com/tc39/proposal-regexp-unicode-sequence-properties","notes":[{"date":"2019-10-02T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-2.md#update-on-sequence-property-escapes-in-unicode-regular-expressions"}],"has-specification":true,"authors":["Mathias Bynens"],"champions":["Mathias Bynens"],"pushed_at":"2021-05-27T18:12:52.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Standardized Debug","id":"proposal-standardized-debug","description":"Standardized debug","url":"https://github.com/tc39/proposal-standardized-debug","notes":[{"date":"2020-11-17T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#standardized-debug-for-stage-2"}],"has-specification":true,"authors":["Gus Caplan"],"champions":["Gus Caplan"],"pushed_at":"2021-05-25T19:47:02.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Symbols as WeakMap keys","id":"proposal-symbols-as-weakmap-keys","description":"Permit Symbols as keys in WeakMaps, entries in WeakSets and WeakRefs, and registered in FinalizationRegistries","url":"https://github.com/tc39/proposal-symbols-as-weakmap-keys","notes":[{"date":"2021-04-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-21.md#symbols-as-weakmap-keys-for-stage-2"}],"has-specification":true,"authors":["Daniel Ehrenberg","Richard Button","Robin Ricard","Leo Balter","Rick Waldron","Caridy Patiño"],"champions":["Daniel Ehrenberg","Richard Button","Robin Ricard","Leo Balter","Rick Waldron","Caridy Patiño"],"pushed_at":"2021-05-25T18:25:17.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Limited ArrayBuffer","id":"proposal-limited-arraybuffer","url":"https://github.com/tc39/proposal-limited-arraybuffer","notes":[{"date":"2021-04-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-04/apr-21.md#read-only-arraybuffer-and-fixed-view-of-arraybuffer-for-stage-1"}],"has-specification":true,"authors":["Jack Works"],"champions":["Jack Works"],"pushed_at":"2021-05-18T14:03:42.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Module Blocks","id":"proposal-js-module-blocks","url":"https://github.com/tc39/proposal-js-module-blocks","notes":[{"date":"2021-01-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-25.md#js-module-blocks"}],"has-specification":true,"authors":["Surma","Daniel Ehrenberg"],"champions":["Surma"],"pushed_at":"2021-05-13T12:06:49.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"class Access Expressions","id":"proposal-class-access-expressions","description":"ECMAScript class access expressions","url":"https://github.com/tc39/proposal-class-access-expressions","notes":[{"date":"2020-09-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-22.md#class-access-expressions-for-stage-2"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2021-05-11T22:19:13.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Cryptographically Secure Random Number Generation","id":"proposal-csprng","description":"Cryptographically Secure Random Number Generation for ECMAScript","url":"https://github.com/tc39/proposal-csprng","notes":[{"date":"2020-02-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#arraybufferfillrandom-for-stage-1"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2021-05-11T11:51:56.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Explicit Resource Management","id":"proposal-explicit-resource-management","description":"ECMAScript Explicit Resource Management","url":"https://github.com/tc39/proposal-explicit-resource-management","notes":[{"date":"2020-02-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#updates-on-explicit-resource-management"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2021-05-11T00:08:36.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"of and from on collection constructors","id":"proposal-setmap-offrom","url":"https://github.com/tc39/proposal-setmap-offrom","notes":[{"date":"2016-09-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-09/sept-29.md#11iic-set-map-weakset-and-weakmap-of-and-from-methods"}],"has-specification":true,"authors":["Leo Balter"],"champions":["Leo Balter"],"pushed_at":"2021-05-10T17:44:01.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Map.prototype.emplace","id":"proposal-upsert","description":"ECMAScript Proposal, specs, and reference implementation for Map.prototype.upsert","url":"https://github.com/tc39/proposal-upsert","notes":[{"date":"2020-07-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#upsert-now-renamed-emplace-updates--for-stage-3"}],"has-specification":true,"authors":["Bradley Farias"],"champions":["Erica Pramer"],"pushed_at":"2021-05-10T14:31:05.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Error Cause","id":"proposal-error-cause","description":"TC39 proposal for accumulating errors","url":"https://github.com/tc39/proposal-error-cause","notes":[{"date":"2021-03-10T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-10.md#errorprototypecause-for-stage-3"}],"has-specification":true,"authors":["Chengzhong Wu"],"champions":["Chengzhong Wu","Hemanth HM"],"pushed_at":"2021-05-10T03:38:21.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"uniform parsing of quasi-standard Date.parse input","id":"proposal-uniform-interchange-date-parsing","description":"Proposal to standardize Date.parse behavior for interchange-like input","url":"https://github.com/tc39/proposal-uniform-interchange-date-parsing","notes":[{"date":"2018-09-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-09/sept-26.md#uniform-parsing-of-quasi-standard-dateparse-input"}],"has-specification":true,"authors":["Richard Gibson"],"champions":["Richard Gibson"],"pushed_at":"2021-05-08T08:18:18.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"New Set methods","id":"proposal-set-methods","description":"Strawman for new Set methods","url":"https://github.com/tc39/proposal-set-methods","notes":[{"date":"2019-01-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#update-on-set-methods"}],"has-specification":true,"authors":["Michał Wadas","Sathya Gunasekaran"],"champions":["Sathya Gunasekaran"],"pushed_at":"2021-05-07T23:13:10.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"Typed Objects","id":"proposal-typed-objects","description":"Proposal for adding Typed Objects to JavaScript","url":"https://github.com/tschneidereit/proposal-typed-objects","has-specification":false,"authors":[],"champions":["Till Schneidereit (previously Dmitry Lomov, Niko Matsakis)"],"rationale":"Postponed: waiting for WebAssembly requirements to become clearer","pushed_at":"2021-05-07T11:08:27.000Z"},{"tags":["ECMA-402"],"stage":2,"name":"Intl.DurationFormat","id":"proposal-intl-duration-format","url":"https://github.com/tc39/proposal-intl-duration-format","notes":[{"date":"2020-02-06T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-6.md#time-duration-format-proposal-for-stage-1"}],"has-specification":true,"authors":["Younies Mahmoud","Ujjwal Sharma"],"champions":["Younies Mahmoud","Ujjwal Sharma"],"pushed_at":"2021-05-06T14:58:38.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Import Assertions","id":"proposal-import-assertions","description":"Proposal for syntax to import ES modules with assertions","url":"https://github.com/tc39/proposal-import-assertions","notes":[{"date":"2020-11-17T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#import-assertions-status-update"}],"has-specification":true,"authors":["Myles Borins","Sven Sauleau","Dan Clark","Daniel Ehrenberg"],"champions":["Myles Borins","Sven Sauleau","Dan Clark","Daniel Ehrenberg"],"pushed_at":"2021-04-30T17:28:46.000Z"},{"tags":["ECMA-402"],"stage":1,"name":"eraDisplay option for Intl.DateTimeFormat","id":"proposal-intl-eradisplay","description":"Intl.DateTimeFormat displays era field only if date displayed is in same era as today's","url":"https://github.com/tc39/proposal-intl-eradisplay","notes":[{"date":"2021-01-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#eradisplay-for-stage-1"}],"has-specification":true,"authors":["Louis-Aime"],"champions":["Shane Carr","Louis-Aime"],"pushed_at":"2021-04-23T18:37:49.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"String padding","id":"proposal-string-pad-start-end","description":"ECMAScript spec proposal for String.prototype.{padStart,padEnd}","url":"https://github.com/tc39/proposal-string-pad-start-end","notes":[{"date":"2016-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-05/may-25.md#stringprototypepadstartend-jhd"}],"has-specification":true,"authors":["Jordan Harband"],"champions":["Jordan Harband","Rick Waldron"],"edition":2017,"pushed_at":"2021-04-23T15:41:14.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"String.prototype.matchAll","id":"proposal-string-matchall","description":"ES Proposal, specs, tests, reference implementation, and polyfill/shim for String.prototype.matchAll","url":"https://github.com/tc39/proposal-string-matchall","notes":[{"date":"2019-03-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-03/mar-26.md#stringprototypematchall-for-stage-4"}],"has-specification":false,"authors":["Jordan Harband"],"champions":["Jordan Harband"],"edition":2020,"pushed_at":"2021-04-23T15:40:16.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Object.values/Object.entries","id":"proposal-object-values-entries","description":"ECMAScript Proposal, specs, and reference implementation for Object.values/Object.entries","url":"https://github.com/tc39/proposal-object-values-entries","notes":[{"date":"2016-03-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-03/march-29.md#objectvalues--objectentries"}],"has-specification":true,"authors":["Jordan Harband"],"champions":["Jordan Harband"],"edition":2017,"pushed_at":"2021-04-23T15:16:48.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Object.getOwnPropertyDescriptors","id":"proposal-object-getownpropertydescriptors","description":"ECMAScript proposal for Object.getOwnPropertyDescriptors","url":"https://github.com/tc39/proposal-object-getownpropertydescriptors","notes":[{"date":"2016-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-05/may-25.md#objectgetownpropertydescriptors-jhd"}],"has-specification":true,"authors":["Jordan Harband","Andrea Giammarchi"],"champions":["Jordan Harband","Andrea Giammarchi"],"edition":2017,"pushed_at":"2021-04-23T06:45:08.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Object.fromEntries","id":"proposal-object-from-entries","description":"TC39 proposal for Object.fromEntries","url":"https://github.com/tc39/proposal-object-from-entries","notes":[{"date":"2019-01-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#objectfromentries-for-stage-4"}],"has-specification":true,"authors":["Darien Maillet Valentine"],"champions":["Jordan Harband","Kevin Gibbons"],"edition":2019,"pushed_at":"2021-04-23T06:05:41.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Promise.prototype.finally","id":"proposal-promise-finally","description":"ECMAScript Proposal, specs, and reference implementation for Promise.prototype.finally","url":"https://github.com/tc39/proposal-promise-finally","notes":[{"date":"2018-01-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#conclusionresolution-2"}],"has-specification":true,"authors":["Jordan Harband"],"champions":["Jordan Harband"],"edition":2018,"pushed_at":"2021-04-23T05:44:56.000Z"},{"tags":["ECMA-262","withdrawn","archived"],"stage":-1,"name":"Error.isError","id":"proposal-is-error","description":"ECMAScript Proposal, specs, and reference implementation for Error.isError","url":"https://github.com/ljharb/proposal-is-error","has-specification":true,"authors":[],"champions":["Jordan Harband"],"rationale":"Withdrawn: in favor of Error stack traces proposal","pushed_at":"2021-04-22T20:09:58.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Array Equality","id":"proposal-array-equality","description":"Determining Array Equality","url":"https://github.com/tc39/proposal-array-equality","notes":[{"date":"2020-06-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-4.md#generic-comparison"}],"has-specification":false,"authors":["Hemanth HM","Jordan Harband"],"champions":["Hemanth HM","Jordan Harband"],"pushed_at":"2021-04-22T19:18:35.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Promise.try","id":"proposal-promise-try","description":"ECMAScript Proposal, specs, and reference implementation for Promise.try","url":"https://github.com/tc39/proposal-promise-try","notes":[{"date":"2016-11-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-11/nov-29.md#11iib-promisetry"}],"has-specification":true,"authors":["Jordan Harband"],"champions":["Jordan Harband"],"pushed_at":"2021-04-22T19:03:32.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"function.sent metaproperty","id":"proposal-function.sent","description":"Generator function.sent Meta Property","url":"https://github.com/tc39/proposal-function.sent","notes":[{"date":"2019-07-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-07/july-23.md#making-functionsent-inactive"}],"has-specification":false,"authors":["Allen Wirfs-Brock"],"champions":["HE Shi-Jun"],"pushed_at":"2021-04-22T19:02:33.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"await operations","id":"proposal-await.ops","description":"Introduce await.all / await.race / await.allSettled / await.any to simplify the usage of Promises","url":"https://github.com/tc39/proposal-await.ops","notes":[{"date":"2020-07-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#await-operations-for-stage-1"}],"has-specification":true,"authors":["Jack Works"],"champions":["Jack Works","Jordan Harband"],"pushed_at":"2021-04-22T19:02:19.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Reverse iteration","id":"proposal-reverseIterator","url":"https://github.com/tc39/proposal-reverseIterator","notes":[{"date":"2019-07-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-07/july-23.md#symbolreverse"}],"has-specification":false,"authors":["Leo Balter","Jordan Harband"],"champions":["Leo Balter","Jordan Harband"],"pushed_at":"2021-04-22T18:58:44.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Escaping Strings for RegExps","id":"proposal-regex-escaping","description":"Proposal for investigating RegExp escaping for the ECMAScript standard","url":"https://github.com/tc39/proposal-regex-escaping","notes":[{"date":"2021-01-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-28.md#revisiting-regexp-escape"}],"has-specification":true,"authors":["Domenic Denicola","Benjamin Gruenbaum","Jordan Harband"],"champions":["Jordan Harband"],"pushed_at":"2021-04-22T18:58:04.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Array find from last","id":"proposal-array-find-from-last","description":"Proposal for Array.prototype.findLast and Array.prototype.findLastIndex.","url":"https://github.com/tc39/proposal-array-find-from-last","notes":[{"date":"2021-03-10T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-10.md#array-find-from-last"}],"has-specification":true,"authors":["Wenlu Wang"],"champions":["Wenlu Wang","Daniel Rosenwasser"],"pushed_at":"2021-04-16T03:09:26.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"JavaScript module fragments","id":"proposal-module-fragments","description":"JavaScript Module Fragments -- Stage 0 proposal","url":"https://github.com/littledan/proposal-module-fragments","notes":[{"date":"2021-03-09T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-03/mar-9.md#module-fragments-for-stage-1"}],"has-specification":false,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg","Mark Miller"],"pushed_at":"2021-04-12T22:52:47.000Z"},{"tags":["ECMA-402"],"stage":1,"name":"Intl LocaleMatcher","id":"proposal-intl-localematcher","description":"Proposal for Intl.LocaleMatcher","url":"https://github.com/tc39/proposal-intl-localematcher","notes":[{"date":"2021-01-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-28.md#intl-localematcher-for-stage-1"}],"has-specification":true,"authors":["Long Ho"],"champions":["Shane Carr","Long Ho"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"Intl.Locale","id":"proposal-intl-locale","description":"`Intl.Locale` specification [draft]","url":"https://github.com/tc39/proposal-intl-locale","notes":[{"date":"2020-02-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#intllocale-for-stage-4"}],"has-specification":true,"authors":["Zibi Braniecki","Daniel Ehrenberg"],"champions":["Zibi Braniecki","Daniel Ehrenberg"],"edition":2020,"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"OOM Fails Fast","id":"proposal-oom-fails-fast","description":"Proposal: Out of memory immediately terminates agent cluster","url":"https://github.com/tc39/proposal-oom-fails-fast","notes":[{"date":"2019-12-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#update-on-oom-must-fail-fast"}],"has-specification":false,"authors":["Mark Miller"],"champions":["Mark Miller"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Wavy Dot: Syntactic Support for Promise Pipelining","id":"proposal-wavy-dot","description":"TC39 Wavy Dot (\"~.\") Proposal","url":"https://github.com/tc39/proposal-wavy-dot","notes":[{"date":"2019-12-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#update-on-promise-pipelining"}],"has-specification":false,"authors":["Mark Miller","Chip Morningstar","Michael Fig"],"champions":["Mark Miller","Chip Morningstar","Michael Fig"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"IDL for ECMAScript","id":"proposal-idl","description":"Investigation into using an Interface Description Language (IDL) in the ECMAScript standard","url":"https://github.com/tc39/proposal-idl","notes":[{"date":"2018-09-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-09/sept-27.md#idl-for-javascript"}],"has-specification":false,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Getting last element of Array","id":"proposal-array-last","description":"A JavaScript TC39 Proposal for getting the last element from an array","url":"https://github.com/tc39/proposal-array-last","notes":[{"date":"2018-01-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#13iiim-getting-last-item-from-array-for-stage-2"}],"has-specification":true,"authors":["Keith Cirkel"],"champions":["Keith Cirkel"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"String.prototype.codePoints","id":"proposal-string-prototype-codepoints","description":"String.prototype.codePoints proposal for ECMAScript (stage 1)","url":"https://github.com/tc39/proposal-string-prototype-codepoints","notes":[{"date":"2018-05-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-22.md#stringprototypecodepoints-for-stage-2"}],"has-specification":true,"authors":["Ingvar Stepanyan"],"champions":["Mathias Bynens"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Cancellation API","id":"proposal-cancellation","description":"Proposal for a Cancellation API for ECMAScript","url":"https://github.com/tc39/proposal-cancellation","notes":[{"date":"2018-07-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#cancellation-update"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton","Brian Terlson"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Extensible numeric literals","id":"proposal-extended-numeric-literals","description":"Extensible numeric literals for JavaScript","url":"https://github.com/tc39/proposal-extended-numeric-literals","notes":[{"date":"2020-09-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-21.md#numeric-literal-suffixes-update-separate-namespace-version"}],"has-specification":true,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"do expressions","id":"proposal-do-expressions","description":"Proposal for `do` expressions","url":"https://github.com/tc39/proposal-do-expressions","notes":[{"date":"2020-06-01T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-1.md#do-expressions-for-stage-2"}],"has-specification":true,"authors":["Dave Herman"],"champions":["Kevin Gibbons"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"throw expressions","id":"proposal-throw-expressions","description":"Proposal for ECMAScript 'throw' expressions","url":"https://github.com/tc39/proposal-throw-expressions","notes":[{"date":"2018-01-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#13iiii-throw-expressions-for-stage-3"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"RegExp Lookbehind Assertions","id":"proposal-regexp-lookbehind","description":"RegExp lookbehind assertions","url":"https://github.com/tc39/proposal-regexp-lookbehind","notes":[{"date":"2018-01-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#conclusionresolution-16"}],"has-specification":true,"authors":["Gorkem Yakin","Nozomu Katō","Daniel Ehrenberg"],"champions":["Daniel Ehrenberg","Mathias Bynens"],"edition":2018,"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"s (dotAll) flag for regular expressions","id":"proposal-regexp-dotall-flag","description":"Proposal to add the `s` (`dotAll`) flag to regular expressions in ECMAScript.","url":"https://github.com/tc39/proposal-regexp-dotall-flag","notes":[{"date":"2017-11-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-11/nov-28.md#9ie-regexp-dotall-status-update"}],"has-specification":true,"authors":["Mathias Bynens"],"champions":["Brian Terlson","Mathias Bynens"],"edition":2018,"pushed_at":"2021-04-09T09:08:50.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"UUID","id":"proposal-uuid","description":"UUID proposal for ECMAScript (Stage 1)","url":"https://github.com/tc39/proposal-uuid","notes":[{"date":"2019-10-03T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-3.md#uuid-for-stage-1"}],"has-specification":false,"authors":["Benjamin Coe","Robert Kieffer","Christoph Tavan"],"champions":["Benjamin Coe"],"pushed_at":"2021-04-02T19:23:32.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Atomics.waitAsync","id":"proposal-atomics-wait-async","description":"\"asynchronous atomic wait\" for ECMAScript","url":"https://github.com/tc39/proposal-atomics-wait-async","tests":["https://github.com/tc39/test262/issues/2511"],"notes":[{"date":"2019-12-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3"}],"has-specification":true,"authors":["Lars Hansen"],"champions":["Shu-yu Guo","Lars Hansen"],"pushed_at":"2021-03-31T18:57:04.000Z"},{"tags":["ECMA-402"],"stage":3,"name":"Intl.Segmenter: Unicode Segmentation in JavaScript","id":"proposal-intl-segmenter","description":"Unicode text segmentation for ECMAScript","url":"https://github.com/tc39/proposal-intl-segmenter","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#intlsegmenter-for-stage-3"}],"has-specification":true,"authors":["Daniel Ehrenberg","Richard Gibson"],"champions":["Richard Gibson"],"pushed_at":"2021-03-10T08:39:08.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Pipeline Operator","id":"proposal-pipeline-operator","description":"A proposal for adding the simple-but-useful pipeline operator to JavaScript.","url":"https://github.com/tc39/proposal-pipeline-operator","notes":[{"date":"2018-03-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-03/mar-22.md#10ive-pipeline-operator"}],"has-specification":true,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg"],"pushed_at":"2021-03-10T04:29:32.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"collection normalization","id":"proposal-collection-normalization","url":"https://github.com/tc39/proposal-collection-normalization","notes":[{"date":"2019-01-30T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-30.md#richer-keys-for-stage-2"}],"has-specification":true,"authors":["Bradley Farias"],"champions":["Bradley Farias"],"pushed_at":"2021-03-09T20:49:15.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Number.range & BigInt.range","id":"proposal-Number.range","description":"A proposal for ECMAScript to add a built-in Number.range()","url":"https://github.com/tc39/proposal-Number.range","notes":[{"date":"2020-07-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#numberrange-for-stage-2"}],"has-specification":true,"authors":["Jack Works"],"champions":["Jack Works"],"pushed_at":"2021-03-05T06:59:35.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"Intl.DateFormat.prototype.formatRange","id":"proposal-intl-DateTimeFormat-formatRange","description":"ECMA 402 proposal for DateTimeFormat.prototype.{formatRange,formatRangeToParts}","url":"https://github.com/tc39/proposal-intl-DateTimeFormat-formatRange","has-specification":true,"authors":["Felipe Balbontín"],"champions":["Sathya Gunasekaran"],"edition":2021,"pushed_at":"2021-02-23T21:14:30.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Array filtering","id":"proposal-array-filtering","description":"A proposal to make filtering arrays easier","url":"https://github.com/tc39/proposal-array-filtering","notes":[{"date":"2020-02-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#status-update-on-array-filtering"}],"has-specification":true,"authors":["Justin Ridgewell"],"champions":["Justin Ridgewell"],"pushed_at":"2021-02-22T19:55:38.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Array.prototype.unique()","id":"proposal-array-unique","description":"ECMAScript proposal for Deduplicating method of Array","url":"https://github.com/tc39/proposal-array-unique","notes":[{"date":"2020-07-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#arrayprototypeunique-proposal-for-stage-1"}],"has-specification":false,"authors":["TechQuery"],"champions":["Jack Works"],"pushed_at":"2021-02-21T02:26:55.000Z"},{"tags":["ECMA-262"],"stage":3,"name":".at()","id":"proposal-relative-indexing-method","description":"A TC39 proposal to add an .at() method to all the basic indexable classes (Array, String, TypedArray)","url":"https://github.com/tc39/proposal-relative-indexing-method","tests":["https://github.com/tc39/test262/pull/2812"],"notes":[{"date":"2020-11-17T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-17.md#item-rename--revisit-inclusion-on-string"}],"has-specification":true,"authors":["Shu-yu Guo","Tab Atkins"],"champions":["Shu-yu Guo","Tab Atkins"],"pushed_at":"2021-02-20T19:27:20.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"String.prototype.replaceAll","id":"proposal-string-replaceall","description":"ECMAScript proposal: String.prototype.replaceAll","url":"https://github.com/tc39/proposal-string-replaceall","notes":[{"date":"2020-06-02T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-2.md#stringprototypereplaceall-for-stage-4"}],"has-specification":true,"authors":["Peter Marshall","Jakob Gruber","Mathias Bynens"],"champions":["Mathias Bynens"],"edition":2021,"pushed_at":"2021-02-19T12:32:31.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"SES (Secure EcmaScript)","id":"proposal-ses","description":"Draft proposal for SES (Secure EcmaScript)","url":"https://github.com/tc39/proposal-ses","notes":[{"date":"2020-02-06T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-6.md#ses-compartments"}],"has-specification":false,"authors":["Mark Miller","Chip Morningstar","Caridy Patiño"],"champions":["Mark Miller","Chip Morningstar","Caridy Patiño"],"pushed_at":"2021-02-18T22:19:19.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"JSON Modules","id":"proposal-json-modules","description":"Proposal to import JSON files as modules","url":"https://github.com/tc39/proposal-json-modules","notes":[{"date":"2021-01-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-25.md#json-modules-for-stage-3"}],"has-specification":true,"authors":["Myles Borins","Sven Sauleau","Dan Clark","Daniel Ehrenberg"],"champions":["Myles Borins","Sven Sauleau","Dan Clark","Daniel Ehrenberg"],"pushed_at":"2021-02-18T19:08:12.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Error stacks","id":"proposal-error-stacks","description":"ECMAScript Proposal, specs, and reference implementation for Error.prototype.stack / System.getStack","url":"https://github.com/tc39/proposal-error-stacks","notes":[{"date":"2017-01-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-01/jan-25.md#15iiia-error-stacks-seeking-stage-1"}],"has-specification":true,"authors":["Jordan Harband"],"champions":["Jordan Harband"],"pushed_at":"2021-02-17T15:16:13.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Block Params","id":"proposal-block-params","description":"A syntactical simplification in JS to enable DSLs","url":"https://github.com/samuelgoto/proposal-block-params","notes":[{"date":"2017-11-30T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-11/nov-30.md#9iiia-block-params-to-stage-1"}],"has-specification":false,"authors":["Sam Goto"],"champions":["Sam Goto"],"pushed_at":"2021-02-10T06:20:52.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Restrict subclassing support in built-in methods","id":"proposal-rm-builtin-subclassing","description":"Remove ES6 built-in subclassing","url":"https://github.com/tc39/proposal-rm-builtin-subclassing","notes":[{"date":"2020-06-03T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-3.md#restrict-subclassing-support-for-built-in-methods-stage-1"}],"has-specification":false,"authors":["Yulia Startsev","Shu-yu Guo"],"champions":["Yulia Startsev","Shu-yu Guo"],"pushed_at":"2021-02-06T18:22:38.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"async do expressions","id":"proposal-async-do-expressions","description":"async `do` expressions for JavaScript","url":"https://github.com/tc39/proposal-async-do-expressions","notes":[{"date":"2021-01-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#async-do-expressions"}],"has-specification":true,"authors":["Kevin Gibbons"],"champions":["Kevin Gibbons"],"pushed_at":"2021-02-02T23:11:06.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"defer module import eval","id":"proposal-defer-import-eval","description":"A proposal for introducing a way to defer evaluate of a module","url":"https://github.com/tc39/proposal-defer-import-eval","notes":[{"date":"2021-01-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-28.md#defer-module-import-eval"}],"has-specification":false,"authors":["Yulia Startsev"],"champions":["Yulia Startsev"],"pushed_at":"2021-01-30T20:16:30.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Extensions","id":"proposal-extensions","description":"Extensions proposal for ECMAScript","url":"https://github.com/tc39/proposal-extensions","notes":[{"date":"2020-11-19T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-19.md#extensions-for-stage-1"}],"has-specification":true,"authors":["HE Shi-Jun"],"champions":["HE Shi-Jun"],"pushed_at":"2021-01-30T17:59:02.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Class Brand Checks","id":"proposal-class-brand-check","description":"JavaScript proposal to provide class brand checks","url":"https://github.com/tc39/proposal-class-brand-check","notes":[{"date":"2021-01-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#class-brand-checks"}],"has-specification":false,"authors":["HE Shi-Jun"],"champions":["HE Shi-Jun"],"pushed_at":"2021-01-29T00:37:04.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Ergonomic brand checks for Private Fields","id":"proposal-private-fields-in-in","description":"EcmaScript proposal to provide brand checks without exceptions","url":"https://github.com/tc39/proposal-private-fields-in-in","notes":[{"date":"2021-01-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2021-01/jan-27.md#ergonomic-brand-checks"}],"has-specification":true,"authors":["Jordan Harband"],"champions":["Jordan Harband"],"pushed_at":"2021-01-28T03:21:49.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Array.isTemplateObject","id":"proposal-array-is-template-object","description":"TC39 proposal to identify template strings","url":"https://github.com/tc39/proposal-array-is-template-object","notes":[{"date":"2019-12-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#arrayistemplateobject-update"}],"has-specification":true,"authors":["Mike Samuel","Krzysztof Kotowicz"],"champions":["Krzysztof Kotowicz"],"pushed_at":"2021-01-25T20:25:40.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"WeakRefs","id":"proposal-weakrefs","description":"WeakRefs","url":"https://github.com/tc39/proposal-weakrefs","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#weakrefs-for-stage-4--cleanupsome-for-stage-23"}],"has-specification":true,"authors":["Dean Tribble","Sathya Gunasekaran"],"champions":["Dean Tribble","Mark Miller","Till Schneidereit","Sathya Gunasekaran","Daniel Ehrenberg"],"edition":2021,"pushed_at":"2021-01-16T18:01:59.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Dynamic Code Brand Checks","id":"proposal-dynamic-code-brand-checks","description":"TC39 proposal that enables flexible brand checks before dynamic code loading","url":"https://github.com/tc39/proposal-dynamic-code-brand-checks","notes":[{"date":"2019-12-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#dynamic-code-brand-checks-for-stage-2"}],"has-specification":true,"authors":["Mike Samuel","Krzysztof Kotowicz"],"champions":["Krzysztof Kotowicz"],"pushed_at":"2021-01-13T12:26:10.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Math.seededRandoms()","id":"proposal-seeded-random","description":"Proposal for an options argument to be added to JS's Math.random() function, and some options to start it with.","url":"https://github.com/tc39/proposal-seeded-random","notes":[{"date":"2018-01-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iif-mathseededrandoms-for-stage-1"}],"has-specification":true,"authors":["Tab Atkins"],"champions":["Tab Atkins"],"pushed_at":"2021-01-08T17:50:31.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Operator overloading","id":"proposal-operator-overloading","url":"https://github.com/tc39/proposal-operator-overloading","notes":[{"date":"2019-12-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#operator-overloading-for-stage-1"}],"has-specification":false,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg"],"pushed_at":"2021-01-04T18:58:34.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"Intl.ListFormat","id":"proposal-intl-list-format","description":"`Intl.ListFormat` specification [draft]","url":"https://github.com/tc39/proposal-intl-list-format","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#intllistformat-for-stage-4"}],"has-specification":true,"authors":["Zibi Braniecki"],"champions":["Zibi Braniecki"],"edition":2021,"pushed_at":"2020-12-18T14:04:29.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Double-Ended Iterator and Destructuring","id":"proposal-deiter","description":"Double-Ended Iterator and Destructuring","url":"https://github.com/tc39/proposal-deiter","notes":[{"date":"2020-09-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-24.md#double-ended-iterator-and-destructuring-for-stage-1"}],"has-specification":false,"authors":["HE Shi-Jun"],"champions":["HE Shi-Jun"],"pushed_at":"2020-12-03T14:51:54.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Freezing prototypes","id":"proposal-freeze-prototype","description":"TC39 for some method to freeze object prototypes","url":"https://github.com/tc39/proposal-freeze-prototype","notes":[{"date":"2019-01-31T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-31.md#freezing-prototypes-for-stage-1"}],"has-specification":false,"authors":["Kevin Gibbons"],"champions":["Kevin Gibbons"],"pushed_at":"2020-11-30T08:38:08.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Async functions","id":"proposal-async-await","description":"Async/await for ECMAScript","url":"https://github.com/tc39/proposal-async-await","notes":[{"date":"2016-07-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-28.md#10iv-async-functions"}],"has-specification":true,"authors":["Brian Terlson"],"champions":["Brian Terlson"],"edition":2017,"pushed_at":"2020-11-19T21:43:24.000Z"},{"tags":["ECMA-262","inactive","archived"],"stage":-1,"name":"String.prototype.at","description":"A robust & optimized ES3-compatible polyfill for the `String.prototype.at` proposal for ECMAScript 6/7.","url":"https://github.com/mathiasbynens/String.prototype.at","has-specification":false,"authors":[],"champions":["Mathias Bynens","Rick Waldron"],"rationale":"Obsoleted by renamed String.prototype.item proposal","pushed_at":"2020-11-19T07:38:04.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Grouped Accessors and Auto-Accessors","id":"proposal-grouped-and-auto-accessors","description":"Grouped Accessors and Auto-Accessors for ECMAScript","url":"https://github.com/rbuckton/proposal-grouped-and-auto-accessors","notes":[{"date":"2020-11-19T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-11/nov-19.md#continuation-grouped-accessors-and-auto-accessors"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2020-11-10T20:49:59.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Reflect.{isCallable,isConstructor}","description":"Things that might be good to include in ECMA 262","url":"https://github.com/caitp/TC39-Proposals","has-specification":false,"authors":["Caitlin Potter"],"champions":["Caitlin Potter"],"pushed_at":"2020-11-06T18:25:23.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Decimal","id":"proposal-decimal","description":"Built-in decimal datatype in JavaScript","url":"https://github.com/tc39/proposal-decimal","notes":[{"date":"2020-03-31T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-03/march-31.md#decimal-update"}],"has-specification":false,"authors":["Daniel Ehrenberg","Andrew Paprocki"],"champions":["Daniel Ehrenberg","Andrew Paprocki"],"pushed_at":"2020-11-02T22:19:44.000Z"},{"tags":["ECMA-262","withdrawn","archived"],"stage":-1,"name":"Improving iteration on Objects","id":"proposal-object-iteration","description":"ECMA TC39 proposal for making mapping over Objects more concise","url":"https://github.com/tc39/proposal-object-iteration","has-specification":true,"authors":[],"champions":["Jonathan Keslin"],"rationale":"Withdrawn: concern about need for such an API","pushed_at":"2020-10-30T16:20:09.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Compartments","id":"proposal-compartments","description":"Compartmentalization of host behavior hooks for JS","url":"https://github.com/tc39/proposal-compartments","notes":[{"date":"2020-03-01T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-03/april-1.md#compartments-for-stage-1"}],"has-specification":false,"authors":["Bradley Farias"],"champions":["Bradley Farias","Mark S. Miller","Caridy Patiño","J.F. Paradis","Patrick Soquet","Kris Kowal"],"pushed_at":"2020-10-22T02:58:28.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Asset References","id":"proposal-asset-references","description":"Proposal to ECMAScript to add first-class location references relative to a module","url":"https://github.com/tc39/proposal-asset-references","notes":[{"date":"2018-11-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-28.md#asset-references-for-stage-1"}],"has-specification":false,"authors":["Sebastian Markbage"],"champions":["Sebastian Markbage"],"pushed_at":"2020-09-28T21:33:41.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Modulus and Additional Integer Math","description":"Proposal for additional static methods on Math","url":"https://github.com/phoddie/integer-and-modulus-math-proposal","notes":[{"date":"2020-09-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-24.md#modulus-and-additional-integer-math-for-stage-1"}],"has-specification":true,"authors":["Peter Hoddie"],"champions":["Peter Hoddie"],"pushed_at":"2020-09-26T20:31:17.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Built In Modules (aka JS Standard Library)","id":"proposal-built-in-modules","url":"https://github.com/tc39/proposal-built-in-modules","notes":[{"date":"2020-09-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-24.md#builtin-modules-for-stage-2"}],"has-specification":true,"authors":["Michael Saboff","Mattijs Hoitink"],"champions":["Michael Saboff","Mattijs Hoitink","Mark Miller"],"pushed_at":"2020-09-24T01:32:18.000Z"},{"tags":["ECMA-402","archived"],"stage":4,"name":"Intl.DisplayNames","id":"proposal-intl-displaynames","description":"Get localized display names for languages, scripts, regions and others. https://tc39.github.io/proposal-intl-displaynames/","url":"https://github.com/tc39/proposal-intl-displaynames","notes":[{"date":"2020-09-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-09/sept-22.md#intldisplaynames-for-stage-4"}],"has-specification":true,"authors":["Frank Tang"],"champions":["Frank Tang"],"edition":2021,"pushed_at":"2020-09-22T04:32:15.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Math Extensions","id":"proposal-math-extensions","description":"ES Math Extensions","url":"https://github.com/rwaldron/proposal-math-extensions","notes":[{"date":"2016-07-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-26.md#9iie-math-extensions"}],"has-specification":true,"authors":["Rick Waldron"],"champions":["Rick Waldron"],"pushed_at":"2020-09-15T10:47:32.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"Unused Function Parameters","id":"proposal-unused-function-parameters","url":"https://github.com/devsnek/proposal-unused-function-parameters","has-specification":false,"authors":[],"champions":["Gus Caplan"],"rationale":"Rejected: the need to solve the problem does not outweigh the hazards","pushed_at":"2020-08-12T03:08:11.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Promise.any","id":"proposal-promise-any","description":"ECMAScript proposal: Promise.any","url":"https://github.com/tc39/proposal-promise-any","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#promiseany--aggregateerror-for-stage-4"}],"has-specification":true,"authors":["Mathias Bynens","Kevin Gibbons","Sergey Rubanov"],"champions":["Mathias Bynens"],"edition":2021,"pushed_at":"2020-08-10T05:41:34.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Hashbang Grammar","id":"proposal-hashbang","description":"#! for JS","url":"https://github.com/tc39/proposal-hashbang","tests":["https://github.com/tc39/test262/pull/2065"],"notes":[{"date":"2018-11-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-28.md#hash-bang-grammar"}],"has-specification":true,"authors":["Bradley Farias"],"champions":["Bradley Farias"],"pushed_at":"2020-08-09T03:18:47.000Z"},{"tags":["ECMA-262"],"stage":3,"name":"Legacy RegExp features in JavaScript","id":"proposal-regexp-legacy-features","description":"Legacy static properties of the RegExp constructor in JavaScript","url":"https://github.com/tc39/proposal-regexp-legacy-features","tests":["https://github.com/tc39/test262/pull/2650"],"notes":[{"date":"2017-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3"}],"has-specification":false,"authors":["Claude Pache"],"champions":["Mark Miller","Claude Pache"],"pushed_at":"2020-08-06T18:04:22.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Async Context","id":"proposal-async-context","url":"https://github.com/legendecas/proposal-async-context","notes":[{"date":"2020-07-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-23.md#async-context-updates--for-stage-1"}],"has-specification":true,"authors":["Chengzhong Wu"],"champions":["Chengzhong Wu"],"pushed_at":"2020-07-30T09:47:10.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Generator arrow functions","id":"proposal-generator-arrow-functions","description":"ECMAScript proposal: Generator Arrow Functions","url":"https://github.com/tc39/proposal-generator-arrow-functions","notes":[{"date":"2016-09-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-09/sept-27.md#11ic-generator-arrow-functions"}],"has-specification":false,"authors":["Sergey Rubanov"],"champions":["Brendan Eich"],"pushed_at":"2020-07-24T22:51:02.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Numeric separators","id":"proposal-numeric-separator","description":"A proposal to add numeric literal separators in JavaScript.","url":"https://github.com/tc39/proposal-numeric-separator","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#numericliteralseparator-for-stage-4"}],"has-specification":true,"authors":["Sam Goto","Rick Waldron"],"champions":["Sam Goto","Rick Waldron","Leo Balter"],"edition":2021,"pushed_at":"2020-07-22T22:45:06.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"JSON.parse source text access","id":"proposal-json-parse-with-source","description":"Proposal for extending JSON.parse to expose input source text.","url":"https://github.com/tc39/proposal-json-parse-with-source","notes":[{"date":"2020-07-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-22.md#jsonparse-source-text-access-for-stage-2"}],"has-specification":true,"authors":["Richard Gibson"],"champions":["Richard Gibson"],"pushed_at":"2020-07-22T22:38:43.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Logical Assignment Operators","id":"proposal-logical-assignment","description":"A proposal to combine Logical Operators and Assignment Expressions","url":"https://github.com/tc39/proposal-logical-assignment","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#logical-assignment-for-stage-4"}],"has-specification":true,"authors":["Justin Ridgewell"],"champions":["Justin Ridgewell","Hemanth HM"],"edition":2021,"pushed_at":"2020-07-21T20:36:57.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"DateTimeFormat dateStyle & timeStyle","id":"proposal-intl-datetime-style","description":"dateStyle and timeStyle options for DateTimeFormat","url":"https://github.com/tc39/proposal-intl-datetime-style","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#intldatetimeformat-datestyletimestyle-for-stage-4"}],"has-specification":true,"authors":["Zibi Braniecki"],"champions":["Zibi Braniecki"],"edition":2021,"pushed_at":"2020-07-21T17:57:09.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Slice notation","id":"proposal-slice-notation","url":"https://github.com/tc39/proposal-slice-notation","notes":[{"date":"2020-07-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-07/july-21.md#slice-notation-for-stage-2"}],"has-specification":true,"authors":["Sathya Gunasekaran"],"champions":["Sathya Gunasekaran"],"pushed_at":"2020-07-12T08:04:41.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Partial application","id":"proposal-partial-application","description":"Proposal to add partial application to ECMAScript","url":"https://github.com/tc39/proposal-partial-application","notes":[{"date":"2018-07-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#partial-application"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2020-07-07T23:54:51.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Additional metaproperties","description":"Notes and proposals on possible EMAScript extensions","url":"https://github.com/allenwb/ESideas","has-specification":false,"authors":["Allen Wirfs-Brock"],"champions":["Allen Wirfs-Brock"],"pushed_at":"2020-06-22T15:19:54.000Z"},{"tags":["ECMA-402"],"stage":1,"name":"Smart Unit Preferences in Intl.NumberFormat","id":"proposal-smart-unit-preferences","url":"https://github.com/tc39/proposal-smart-unit-preferences","notes":[{"date":"2020-06-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/840c700dc7fa7b9f6d0a3c208bd66b333e304717/meetings/2020-06/june-4.md#smart-unit-preferences-in-intlnumberformat-for-stage-1"}],"has-specification":false,"authors":["Younies Mahmoud"],"champions":["Younies Mahmoud"],"pushed_at":"2020-06-12T10:24:42.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"export v from \"mod\"; statements","id":"proposal-export-default-from","description":"Proposal to add `export v from \"mod\";` to ECMAScript.","url":"https://github.com/tc39/proposal-export-default-from","notes":[{"date":"2017-07-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-07/jul-27.md#export-default-from"}],"has-specification":true,"authors":["Lee Byron"],"champions":["Ben Newman","John-David Dalton"],"pushed_at":"2020-06-05T17:08:41.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Deep Path Properties in Record Literals","id":"proposal-deep-path-properties-for-record","description":"ECMAScript proposal for deep spread syntax for Records","url":"https://github.com/tc39/proposal-deep-path-properties-for-record","notes":[{"date":"2020-06-03T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-3.md#deep-path-properties"}],"has-specification":false,"authors":["Rick Button"],"champions":["Rick Button"],"pushed_at":"2020-06-03T17:35:41.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Generic Comparison","id":"proposal-generic-comparison","description":"Proposal Generic Comparison","url":"https://github.com/hemanth/proposal-generic-comparison","has-specification":false,"authors":[],"champions":["Hemanth HM","Jordan Harband"],"rationale":"Withdrawn: replaced with Array Equality","pushed_at":"2020-05-29T04:12:01.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"import.meta","id":"proposal-import-meta","description":"import.meta proposal for JavaScript","url":"https://github.com/tc39/proposal-import-meta","notes":[{"date":"2020-03-01T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-03/april-1.md#importmeta-for-stage-4-continued-from-previous-day"}],"has-specification":true,"authors":["Domenic Denicola"],"champions":["Gus Caplan"],"edition":2020,"pushed_at":"2020-05-01T04:51:13.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Support for Distributed Promise Pipelining","id":"proposal-eventual-send","description":"TC39 Eventual Send proposal","url":"https://github.com/tc39/proposal-eventual-send","notes":[{"date":"2019-10-03T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-3.md#eventual-send-support-for-distributed-promise-pipelining"}],"has-specification":false,"authors":["Mark Miller","Chip Morningstar","Michael Fig"],"champions":["Mark Miller","Chip Morningstar","Michael Fig"],"pushed_at":"2020-04-25T16:33:30.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"from ... import","id":"proposal-from-import","description":"AKA: make code completion work.","url":"https://github.com/bmeck/proposal-from-import","has-specification":false,"authors":[],"champions":["Bradley Farias"],"rationale":"Never presented; preliminary feedback about syntax cost not being worth the weight","pushed_at":"2020-04-03T16:13:59.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"RefCollection","id":"proposal-refcollection","description":"ECMAScript proposal for the RefCollection.","url":"https://github.com/rricard/proposal-refcollection","has-specification":false,"authors":[],"champions":["Robin Ricard"],"rationale":"Withdrawn; replaced with Symbols as WeakMap keys; also there were OCAP/membrane concerns around providing a globally available pre-instantiated RefCollection","pushed_at":"2020-04-01T16:52:57.000Z"},{"tags":["ECMA-402","archived"],"stage":4,"name":"Intl.NumberFormat Unified API Proposal","id":"proposal-unified-intl-numberformat","description":"Adds localized formatting of measurement units, compact decimals, and more number features","url":"https://github.com/tc39/proposal-unified-intl-numberformat","notes":[{"date":"2020-02-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#unified-number-format-for-stage-4"}],"has-specification":true,"authors":["Shane Carr"],"champions":["Shane Carr"],"edition":2020,"pushed_at":"2020-03-23T21:33:59.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Rest/Spread Properties","id":"proposal-object-rest-spread","description":"Rest/Spread Properties for ECMAScript","url":"https://github.com/tc39/proposal-object-rest-spread","notes":[{"date":"2018-01-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#restspread-properties-for-stage-4"}],"has-specification":true,"authors":["Sebastian Markbåge"],"champions":["Sebastian Markbåge"],"edition":2018,"pushed_at":"2020-03-17T19:52:50.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"TypedArray stride parameter","id":"proposal-typedarray-stride","description":"Proposal to add a `stride` parameter to TypedArrays","url":"https://github.com/tc39/proposal-typedarray-stride","has-specification":true,"authors":[],"champions":["Shu-yu Guo"],"rationale":"Withdrawn: concern about performance implications, and the proposal is not expressive enough","pushed_at":"2020-03-17T17:13:24.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Legacy reflection features for functions in JavaScript","description":"JavaScript: Legacy reflection features on functions needed for web compatibility","url":"https://github.com/claudepache/es-legacy-function-reflection","notes":[{"date":"2020-02-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-5.md#legacy-reflection-features-for-functions-in-javascript-for-stage-1"}],"has-specification":false,"authors":["Mark Miller","Claude Pache","Jack Works"],"champions":["Mark Miller","Claude Pache","Jack Works"],"pushed_at":"2020-02-28T20:43:08.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"Intl.RelativeTimeFormat","id":"proposal-intl-relative-time","description":"`Intl.RelativeTimeFormat` specification [draft]","url":"https://github.com/tc39/proposal-intl-relative-time","notes":[{"date":"2019-12-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#intlrelativetimeformat-for-stage-4"}],"has-specification":true,"authors":["Zibi Braniecki","Daniel Ehrenberg"],"champions":["Zibi Braniecki","Daniel Ehrenberg"],"edition":2020,"pushed_at":"2020-02-20T21:02:22.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"for-in mechanics","id":"proposal-for-in-order","description":"Partially specifying object enumeration order in JavaScript","url":"https://github.com/tc39/proposal-for-in-order","notes":[{"date":"2019-12-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#for-in-order-for-stage-4"}],"has-specification":true,"authors":["Kevin Gibbons"],"champions":["Kevin Gibbons"],"edition":2020,"pushed_at":"2020-02-10T23:31:13.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Math.signbit: IEEE-754 sign bit","id":"proposal-Math.signbit","description":"Math.signbit","url":"https://github.com/tc39/proposal-Math.signbit","notes":[{"date":"2017-05-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-23.md#16ib-mathsignbit-proposal"}],"has-specification":true,"authors":["JF Bastien"],"champions":["JF Bastien"],"pushed_at":"2020-02-06T17:23:33.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Preserve Host Virtualizability","id":"proposal-preserve-virtualizability","description":"Ensure hosts do not add new non-removable extensions","url":"https://github.com/Agoric/proposal-preserve-virtualizability","notes":[{"date":"2020-02-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-4.md#preserve-host-virtualizability"}],"has-specification":false,"authors":["Mark Miller","J.F. Paradis","Caridy Patiño","Dan Finley","Alan Schmitt"],"champions":["Mark Miller","J.F. Paradis","Caridy Patiño","Dan Finley","Alan Schmitt"],"pushed_at":"2020-02-02T05:54:29.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"RegExp Atomic Groups & Possessive Quantifiers","id":"proposal-regexp-atomic-and-possessive","description":"A proposal to add Atomic Groups and Possessive Quantifiers to RegExps","url":"https://github.com/jridgewell/proposal-regexp-atomic-and-possessive","has-specification":false,"authors":[],"champions":["Justin Ridgewell"],"rationale":"Never presented; engines are not interested in the feature, mainly because it doesn't solve backtracking for most users","pushed_at":"2020-01-26T06:09:58.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Nullish coalescing Operator","id":"proposal-nullish-coalescing","description":"Nullish coalescing proposal x ?? y","url":"https://github.com/tc39/proposal-nullish-coalescing","notes":[{"date":"2019-12-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-4.md#nullish-coalescing-for-stage-4"}],"has-specification":true,"authors":["Gabriel Isenberg"],"champions":["Gabriel Isenberg","Justin Ridgewell","Daniel Rosenwasser"],"edition":2020,"pushed_at":"2020-01-21T19:39:02.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Private declarations","id":"proposal-private-declarations","description":"A proposal to allow trusted code _outside_ of the class lexical scope to access private state","url":"https://github.com/tc39/proposal-private-declarations","notes":[{"date":"2019-03-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-03/mar-28.md#private-declarations-for-stage-1"}],"has-specification":true,"authors":["Justin Ridgewell"],"champions":["Justin Ridgewell"],"pushed_at":"2020-01-21T05:45:29.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"String.prototype.{trimStart,trimEnd}","id":"proposal-string-left-right-trim","description":"A proposal to the ECMAScript standard for including left and right trim of whitespace to strings","url":"https://github.com/tc39/proposal-string-left-right-trim","notes":[{"date":"2019-01-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#stringprototypetrimstarttrimend-for-stage-4"}],"has-specification":true,"authors":["Sebastian Markbåge"],"champions":["Sebastian Markbåge","Mathias Bynens"],"edition":2019,"pushed_at":"2019-12-30T15:29:31.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Declarations in Conditionals","id":"proposal-Declarations-in-Conditionals","url":"https://github.com/tc39/proposal-Declarations-in-Conditionals","notes":[{"date":"2019-10-02T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-2.md#declarations-in-conditionals"}],"has-specification":false,"authors":["Devin Rousso"],"champions":["Devin Rousso"],"pushed_at":"2019-12-18T10:48:22.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Promise.allSettled","id":"proposal-promise-allSettled","description":"ECMAScript Proposal, specs, and reference implementation for Promise.allSettled","url":"https://github.com/tc39/proposal-promise-allSettled","notes":[{"date":"2019-07-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-07/july-24.md#promiseallsettled"}],"has-specification":true,"authors":["Jason Williams","Robert Pamely","Mathias Bynens"],"champions":["Mathias Bynens"],"edition":2020,"pushed_at":"2019-12-09T14:48:57.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"ArrayBuffer.prototype.transfer","id":"proposal-arraybuffer-transfer","description":"ArrayBuffer.prototype.transfer() proposal for JavaScript","url":"https://github.com/domenic/proposal-arraybuffer-transfer","has-specification":true,"authors":[],"champions":["Domenic Denicola","Shu-yu Guo"],"rationale":"Withdrawn: superseded by [Resizable Buffers][resizable-buffers]","pushed_at":"2019-12-09T09:43:25.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Maximally minimal mixins","id":"proposal-mixins","description":"A template for ECMAScript proposals","url":"https://github.com/justinfagnani/proposal-mixins","notes":[{"date":"2018-01-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iiie-maximally-minimal-mixins-proposal"}],"has-specification":false,"authors":["Justin Fagnani"],"champions":["Justin Fagnani"],"pushed_at":"2019-12-06T18:21:44.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Dynamic Import Host Adjustment","description":"TC39 proposal that affects doesn't stringify argument to import(...) early to enable interop with WICG/trusted-types","url":"https://github.com/tc39/dynamic-import-host-adjustment","notes":[{"date":"2019-12-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-12/december-5.md#dynamic-import-host-adjustment-for-stage-2"}],"has-specification":false,"authors":["Mike Samuel","Krzysztof Kotowicz"],"champions":["Krzysztof Kotowicz"],"pushed_at":"2019-12-05T21:50:43.000Z"},{"tags":["ECMA-262"],"stage":2,"name":"Function implementation hiding","id":"proposal-function-implementation-hiding","description":"JavaScript language proposal: function implementation hiding","url":"https://github.com/tc39/proposal-function-implementation-hiding","notes":[{"date":"2020-06-02T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-06/june-2.md#function-implementation-hiding-for-stage-3"}],"has-specification":true,"authors":["Domenic Denicola","Michael Ficarra"],"champions":["Michael Ficarra"],"pushed_at":"2019-12-02T19:56:56.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Readonly Collections","id":"proposal-readonly-collections","description":"Proposal: snapshot,diverge,readOnlyView methods for all collections","url":"https://github.com/tc39/proposal-readonly-collections","notes":[{"date":"2019-10-03T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-3.md#readonly-collections-for-stage-1"}],"has-specification":false,"authors":["Mark Miller","Peter Hoddie"],"champions":["Mark Miller","Peter Hoddie"],"pushed_at":"2019-11-26T04:18:02.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Observable","id":"proposal-observable","description":"Observables for ECMAScript","url":"https://github.com/tc39/proposal-observable","notes":[{"date":"2017-05-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-25.md#17iiia-observable-proposal-to-stage-2"}],"has-specification":true,"authors":["Jafar Husain"],"champions":["Jafar Husain","Mark Miller"],"pushed_at":"2019-11-01T06:49:54.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Richer Keys","id":"proposal-richer-keys","description":"Cross cutting proposals around custom identities in collections","url":"https://github.com/tc39/proposal-richer-keys","notes":[{"date":"2019-01-30T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-30.md#richer-keys-for-stage-2"}],"has-specification":true,"authors":["Bradley Farias"],"champions":["Bradley Farias"],"pushed_at":"2019-10-28T13:57:47.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"BigInt","id":"proposal-bigint","description":"Arbitrary precision integers in JavaScript","url":"https://github.com/tc39/proposal-bigint","notes":[{"date":"2019-06-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-06/june-4.md#bigint-to-stage-4"}],"has-specification":true,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg"],"edition":2020,"pushed_at":"2019-10-09T01:42:58.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"Intl.NumberFormat.prototype.formatToParts","id":"proposal-intl-formatToParts","description":"Intl 402 spec proposal for {DateTimeFormat,Number}.prototype.formatToParts","url":"https://github.com/tc39/proposal-intl-formatToParts","notes":[{"date":"2017-09-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-09/sept-26.md#12ia-intlnumberformatprototypeformattoparts-for-stage-4"}],"has-specification":false,"authors":["Zibi Braniecki"],"champions":["Zibi Braniecki"],"edition":2018,"pushed_at":"2019-10-08T10:31:54.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"Intl.DateTimeFormat.prototype.formatToParts","id":"proposal-intl-formatToParts","description":"Intl 402 spec proposal for {DateTimeFormat,Number}.prototype.formatToParts","url":"https://github.com/tc39/proposal-intl-formatToParts","notes":[{"date":"2016-07-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-27.md#9ii-ecma-402-formattoparts"}],"has-specification":false,"authors":["Zibi Braniecki"],"champions":["Zibi Braniecki"],"edition":2017,"pushed_at":"2019-10-08T10:31:54.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"globalThis","id":"proposal-global","description":"ECMAScript Proposal, specs, and reference implementation for `global`","url":"https://github.com/tc39/proposal-global","notes":[{"date":"2019-10-01T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-10/october-1.md#globalthis-to-stage-4"}],"has-specification":true,"authors":["Jordan Harband"],"champions":["Jordan Harband"],"edition":2020,"pushed_at":"2019-10-01T20:41:06.000Z"},{"tags":["ECMA-262","withdrawn","archived"],"stage":-1,"name":"Zones","description":"Former home of the zones proposal for JavaScript","url":"https://github.com/domenic/zones","has-specification":true,"authors":[],"champions":["Domenic Denicola","Miško Hevery"],"rationale":"Withdrawn; champion is no longer participating in TC39","pushed_at":"2019-09-26T05:34:05.000Z"},{"tags":["ECMA-262","withdrawn","archived"],"stage":-1,"name":"Blöcks","id":"proposal-blocks","description":"Former home of a proposal for a new syntactic construct for serializable blocks of JavaScript code","url":"https://github.com/domenic/proposal-blocks","has-specification":false,"authors":[],"champions":["Domenic Denicola"],"rationale":"Withdrawn; champion is no longer participating in TC39","pushed_at":"2019-09-26T05:31:11.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Module Keys","id":"proposal-module-keys","description":"Proposed change before TC39 for reifying module identity - Stage 1 Proposal","url":"https://github.com/tc39/proposal-module-keys","notes":[{"date":"2018-05-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-23.md#module-keys-strawman-for-stage-1"}],"has-specification":false,"authors":["Mike Samuel"],"champions":["Mike Samuel"],"pushed_at":"2019-07-01T12:39:23.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Exponentiation operator","id":"proposal-exponentiation-operator","description":"Progress tracking for ES7 exponentiation operator","url":"https://github.com/tc39/proposal-exponentiation-operator","notes":[{"date":"2016-01-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-01/jan-28.md#5xviii-exponentiation-operator-rw"}],"has-specification":true,"authors":["Rick Waldron"],"champions":["Rick Waldron"],"edition":2016,"pushed_at":"2019-07-01T05:09:44.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"import()","id":"proposal-dynamic-import","description":"import() proposal for JavaScript","url":"https://github.com/tc39/proposal-dynamic-import","notes":[{"date":"2019-06-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-06/june-4.md#dynamic-import-for-stage-4"}],"has-specification":true,"authors":["Domenic Denicola"],"champions":["Domenic Denicola"],"edition":2020,"pushed_at":"2019-06-24T15:54:46.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Emitter","id":"proposal-emitter","url":"https://github.com/tc39/proposal-emitter","notes":[{"date":"2019-06-05T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-06/june-5.md#emitter-for-stage-1"}],"has-specification":true,"authors":["Shu-yu Guo","Pedram Emrouznejad"],"champions":["Shu-yu Guo","Pedram Emrouznejad"],"pushed_at":"2019-06-16T17:16:06.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Builtins.typeOf() and Builtins.is()","id":"proposal-istypes","description":"TC-39 Proposal for additional is{Type} APIs","url":"https://github.com/jasnell/proposal-istypes","has-specification":false,"authors":[],"champions":["James M Snell"],"rationale":"Withdrawn: can be solved in other ways","pushed_at":"2019-04-28T11:23:02.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"new.initialize","id":"proposal-new-initialize","description":"Early draft proposal to support initializing given objects with fields and private methods","url":"https://github.com/littledan/proposal-new-initialize","notes":[{"date":"2019-01-31T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-31.md#newinitialize-for-stage-1"}],"has-specification":false,"authors":["Daniel Ehrenberg"],"champions":["Daniel Ehrenberg"],"pushed_at":"2019-03-03T07:50:11.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"JSON superset","id":"proposal-json-superset","description":"Proposal to make all JSON text valid ECMA-262","url":"https://github.com/tc39/proposal-json-superset","notes":[{"date":"2018-05-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-22.md#conclusionresolution-8"}],"has-specification":true,"authors":["Richard Gibson"],"champions":["Mark Miller","Mathias Bynens"],"edition":2019,"pushed_at":"2019-02-13T14:33:44.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Well-formed JSON.stringify","id":"proposal-well-formed-stringify","description":"Proposal to prevent JSON.stringify from returning ill-formed strings","url":"https://github.com/tc39/proposal-well-formed-stringify","notes":[{"date":"2019-01-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#well-formed-jsonstringify-for-stage-4"}],"has-specification":true,"authors":["Richard Gibson"],"champions":["Mathias Bynens"],"edition":2019,"pushed_at":"2019-01-29T22:50:43.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Array.prototype.{flat,flatMap}","id":"proposal-flatMap","description":"proposal for flatten and flatMap on arrays","url":"https://github.com/tc39/proposal-flatMap","notes":[{"date":"2019-01-29T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2019-01/jan-29.md#arrayprototypeflatflatmap-for-stage-4"}],"has-specification":true,"authors":["Brian Terlson","Michael Ficarra","Mathias Bynens"],"champions":["Brian Terlson","Michael Ficarra"],"edition":2019,"pushed_at":"2019-01-29T22:47:31.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Binary AST","id":"proposal-binary-ast","description":"Binary AST proposal for ECMAScript","url":"https://github.com/tc39/proposal-binary-ast","notes":[{"date":"2018-05-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-24.md#binary-ast"}],"has-specification":true,"authors":["Shu-yu Guo"],"champions":["Shu-yu Guo"],"pushed_at":"2019-01-16T15:07:39.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"{BigInt,Number}.fromString","id":"proposal-number-fromstring","description":"{BigInt,Number}.fromString(string, radix)","url":"https://github.com/tc39/proposal-number-fromstring","notes":[{"date":"2018-01-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-23.md#13iic-bigintnumberfromstring-for-stage-1"}],"has-specification":true,"authors":["Mathias Bynens"],"champions":["Mathias Bynens"],"pushed_at":"2019-01-11T13:51:46.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"Date.parse fallback semantics","id":"proposal-date-time-string-format","description":"An amended Date Time String Format with more explicit syntax.","url":"https://github.com/tc39/proposal-date-time-string-format","has-specification":false,"authors":[],"champions":["Morgan Phillips"],"rationale":"Inactive; likely replaced by uniform parsing of quasi-standard Date.parse input","pushed_at":"2019-01-09T11:23:06.000Z"},{"tags":["ECMA-262","archived"],"stage":1,"name":"Dynamic Modules","description":"Dynamic Modules Proposal for ECMAScript","url":"https://github.com/nodejs/dynamic-modules","notes":[{"date":"2018-07-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#dynamic-modules"}],"has-specification":true,"authors":["Bradley Farias"],"champions":["Bradley Farias"],"pushed_at":"2018-12-20T19:53:13.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"\"use module\"","id":"proposal-modules-pragma","description":"Proposal to recognize a `\"use module\";` pragma","url":"https://github.com/tc39/proposal-modules-pragma","notes":[{"date":"2017-07-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-07/jul-26.md#9ivb-modulescript-pragma-for-stage-2"}],"has-specification":true,"authors":["Dave Herman"],"champions":["Dave Herman"],"pushed_at":"2018-12-07T17:51:28.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"First-class protocols","id":"proposal-first-class-protocols","description":"a proposal to bring protocol-based interfaces to ECMAScript users","url":"https://github.com/tc39/proposal-first-class-protocols","notes":[{"date":"2018-07-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-07/july-25.md#updates-on-first-class-protocols"}],"has-specification":false,"authors":["Michael Ficarra"],"champions":["Michael Ficarra"],"pushed_at":"2018-11-28T22:04:22.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Symbol.prototype.description","id":"proposal-Symbol-description","description":"proposal to add Symbol.prototype.description to ECMAScript","url":"https://github.com/tc39/proposal-Symbol-description","notes":[{"date":"2018-11-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-27.md#conclusionresolution-12"}],"has-specification":true,"authors":["Michael Ficarra"],"champions":["Michael Ficarra"],"edition":2019,"pushed_at":"2018-11-28T00:49:58.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Function.prototype.toString revision","description":":fishing_pole_and_fish: ECMA-262 proposal to update Function.prototype.toString","url":"https://github.com/tc39/Function-prototype-toString-revision","notes":[{"date":"2018-11-27T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-11/nov-27.md#conclusionresolution-13"}],"has-specification":false,"authors":["Michael Ficarra"],"champions":["Michael Ficarra"],"edition":2019,"pushed_at":"2018-11-28T00:49:21.000Z"},{"tags":["ECMA-262","inactive","archived"],"stage":-1,"name":"SIMD.JS - SIMD APIs","description":"SIMD numeric type for EcmaScript","url":"https://github.com/tc39/ecmascript_simd","has-specification":false,"authors":[],"champions":["Peter Jensen","Yehuda Katz"],"rationale":"Stage 1: Start with SIMD in WASM; implementations not pursuing SIMD.js for now.","pushed_at":"2018-09-07T05:36:04.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"deprecated","id":"proposal-deprecated","description":"TC-39 Proposal for a deprecated keyword","url":"https://github.com/jasnell/proposal-deprecated","has-specification":false,"authors":["James M Snell"],"champions":["James M Snell"],"pushed_at":"2018-08-21T15:23:31.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Asynchronous Iteration","id":"proposal-async-iteration","description":"Asynchronous iteration for JavaScript","url":"https://github.com/tc39/proposal-async-iteration","notes":[{"date":"2018-01-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-25.md#conclusionresolution"}],"has-specification":true,"authors":["Domenic Denicola"],"champions":["Domenic Denicola"],"edition":2018,"pushed_at":"2018-06-11T21:58:15.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Tagged Collection Literals","id":"proposal-collection-literals","description":"[WITHDRAWN] tc39 proposal for custom collection literals","url":"https://github.com/zkat/proposal-collection-literals","has-specification":false,"authors":[],"champions":["Kat Marchán"],"rationale":"Withdrawn: pursuing when new syntax and other alternatives","pushed_at":"2018-05-25T16:14:37.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Optional catch binding","id":"proposal-optional-catch-binding","description":"proposal for ECMAScript to allow omission of the catch binding","url":"https://github.com/tc39/proposal-optional-catch-binding","notes":[{"date":"2018-05-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-05/may-22.md#conclusionresolution-7"}],"has-specification":true,"authors":["Michael Ficarra"],"champions":["Michael Ficarra"],"edition":2019,"pushed_at":"2018-05-22T18:40:00.000Z"},{"tags":["ECMA-262","archived"],"stage":0,"name":"Symbol.thenable","id":"proposal-symbol-thenable","url":"https://github.com/devsnek/proposal-symbol-thenable","notes":[{"date":"2018-05-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/def2ee0c04bc91612576237314a4f3b1fe2edaef/meetings/2018-05/may-24.md#symbolthenable-for-stage-1-or-2"}],"has-specification":false,"authors":["Gus Caplan"],"champions":["Jordan Harband","Myles Borins"],"pushed_at":"2018-05-12T05:36:12.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"as destructuring patterns","id":"proposal-as-patterns","description":"`as` destructuring patterns","url":"https://github.com/zkat/proposal-as-patterns","has-specification":false,"authors":["Kat Marchán"],"champions":["Kat Marchán"],"pushed_at":"2018-05-10T04:01:42.000Z"},{"tags":["ECMA-262"],"stage":1,"name":"Object.freeze + Object.seal syntax","id":"proposal-object-freeze-seal-syntax","description":"A JavaScript TC39 proposal for Object.freeze & Object.seal syntax","url":"https://github.com/keithamus/proposal-object-freeze-seal-syntax","notes":[{"url":"https://github.com/keithamus/proposal-object-freeze-seal-syntax"}],"has-specification":false,"authors":["Keith Cirkel"],"champions":["Keith Cirkel"],"pushed_at":"2018-04-17T09:15:50.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"RegExp Unicode Property Escapes","id":"proposal-regexp-unicode-property-escapes","description":"Proposal to add Unicode property escapes `\\p{…}` and `\\P{…}` to regular expressions in ECMAScript.","url":"https://github.com/tc39/proposal-regexp-unicode-property-escapes","notes":[{"date":"2018-01-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2018-01/jan-24.md#conclusionresolution-1"}],"has-specification":true,"authors":["Mathias Bynens"],"champions":["Brian Terlson","Daniel Ehrenberg","Mathias Bynens"],"edition":2018,"pushed_at":"2018-02-01T06:16:41.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"RegExp named capture groups","id":"proposal-regexp-named-groups","description":"Named capture groups for JavaScript RegExps","url":"https://github.com/tc39/proposal-regexp-named-groups","notes":[{"date":"2017-11-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-11/nov-28.md#9if-regexp-named-captures-status-update"}],"has-specification":true,"authors":["Gorkem Yakin","Daniel Ehrenberg"],"champions":["Daniel Ehrenberg","Brian Terlson","Mathias Bynens"],"edition":2018,"pushed_at":"2018-01-24T06:21:56.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Function bind syntax","id":"proposal-bind-operator","description":"This-Binding Syntax for ECMAScript","url":"https://github.com/tc39/proposal-bind-operator","notes":[{"date":"2015-03-25T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2015-03/mar-25.md#6vi-function-bind-and-private-fields-redux-kevin-smith"}],"has-specification":false,"authors":["Kevin Smith"],"champions":["Brian Terlson","Matthew Podwysocki"],"pushed_at":"2018-01-19T16:03:21.000Z"},{"tags":["ECMA-262","withdrawn","archived"],"stage":-1,"name":"Distinguishing literal strings","description":"Literals could be different than non-literals.","url":"https://github.com/mikewest/tc39-proposal-literals","has-specification":false,"authors":[],"champions":["Mike West","Adam Klein"],"rationale":"Withdrawn: Trusted Types no longer a dependent","pushed_at":"2018-01-07T18:20:55.000Z"},{"tags":["ECMA-402"],"stage":4,"name":"Intl.PluralRules","id":"proposal-intl-plural-rules","description":"`Intl.PluralRules` specification [draft]","url":"https://github.com/tc39/proposal-intl-plural-rules","notes":[{"date":"2017-09-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-09/sept-26.md#12ig-intlpluralrules-for-stage-4"}],"has-specification":false,"authors":["Caridy Patiño","Eric Ferraiuolo"],"champions":["Caridy Patiño","Eric Ferraiuolo"],"edition":2018,"pushed_at":"2017-11-17T00:59:21.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Lifting template literal restriction","id":"proposal-template-literal-revision","url":"https://github.com/tc39/proposal-template-literal-revision","notes":[{"date":"2017-03-21T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-03/mar-21.md#10ia-template-literal-updates"}],"has-specification":true,"authors":["Tim Disney"],"champions":["Tim Disney"],"edition":2018,"pushed_at":"2017-10-12T07:49:05.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Object.shallowEqual","description":"A proposal for ECMAScript for Object.shallowEqual.","url":"https://github.com/sebmarkbage/ecmascript-shallow-equal","has-specification":false,"authors":[],"champions":["Sebastian Markbage"],"rationale":"Withdrawn","pushed_at":"2017-10-06T18:56:48.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"WHATWG URL","id":"proposal-url","description":"Proposal to add WHATWG URL to ECMAScript","url":"https://github.com/jasnell/proposal-url","has-specification":false,"authors":["James M Snell"],"champions":["James M Snell"],"pushed_at":"2017-08-16T14:44:44.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Object Shorthand Improvements","id":"proposal-shorthand-improvements","description":"A proposal to introduce new shorthand assignment forms for ECMAScript object literals","url":"https://github.com/rbuckton/proposal-shorthand-improvements","notes":[{"date":"2017-09-28T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-09/sept-28.md#13i-object-shorthand-improvements"}],"has-specification":true,"authors":["Ron Buckton"],"champions":["Ron Buckton"],"pushed_at":"2017-07-24T23:44:20.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Shared memory and atomics","description":"Shared memory and atomics for ECMAscript","url":"https://github.com/tc39/ecmascript_sharedmem","notes":[{"date":"2017-01-24T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-01/jan-24.md#13if-seeking-stage-4-for-sharedarraybuffer"}],"has-specification":false,"authors":["Lars T Hansen"],"champions":["Lars T Hansen"],"edition":2017,"pushed_at":"2017-07-11T18:51:10.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"%constructor%.construct","id":"proposal-construct","description":"A proposal for TC-39","url":"https://github.com/jasnell/proposal-construct","has-specification":false,"authors":[],"champions":["James M Snell"],"rationale":"Withdrawn","pushed_at":"2017-06-19T22:08:18.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Dynamic Module Reform","id":"proposal-dynamic-modules","description":"ECMAScript Proposal specs for the reform to preserve the order of execution for dynamic modules (REJECTED)","url":"https://github.com/tc39/proposal-dynamic-modules","has-specification":false,"authors":[],"champions":["Caridy Patiño"],"rationale":"Withdrawn: we decided to preserve the current semantics","pushed_at":"2017-04-06T18:27:48.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"Proposed Grammar change to ES Modules","id":"proposal-UnambiguousJavaScriptGrammar","url":"https://github.com/tc39/proposal-UnambiguousJavaScriptGrammar","has-specification":false,"authors":[],"champions":["Bradley Farias"],"rationale":"Rejected: No consensus on this specific solution.","pushed_at":"2017-04-06T15:23:56.000Z"},{"tags":["ECMA-262"],"stage":4,"name":"Trailing commas in function parameter lists and calls","id":"proposal-trailing-function-commas","url":"https://github.com/tc39/proposal-trailing-function-commas","notes":[{"date":"2016-07-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2016-07/jul-26.md#9ie-trailing-commas-in-functions"}],"has-specification":true,"authors":["Jeff Morrison"],"champions":["Jeff Morrison"],"edition":2017,"pushed_at":"2017-03-27T10:22:59.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Orthogonal Classes","description":"Proposed EcmaScript Class Syntax clarifying orthogonal concerns","url":"https://github.com/erights/Orthogonal-Classes","notes":[{"date":"2017-03-22T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-03/mar-22.md#10iiia-orthogonal-classes"}],"has-specification":false,"authors":["Mark Miller","Allen Wirfs-Brock"],"champions":["Mark Miller","Allen Wirfs-Brock"],"pushed_at":"2017-03-22T23:34:11.000Z"},{"tags":["ECMA-262","archived"],"stage":4,"name":"Array.prototype.includes","id":"proposal-Array.prototype.includes","description":"Spec, tests, reference implementation, and docs for ESnext-track Array.prototype.includes","url":"https://github.com/tc39/proposal-Array.prototype.includes","notes":[{"date":"2015-11-17T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2015-11/nov-17.md#arrayprototypeincludes"}],"has-specification":true,"authors":["Domenic Denicola"],"champions":["Domenic Denicola","Rick Waldron"],"edition":2016,"pushed_at":"2017-02-02T19:04:48.000Z"},{"tags":["ECMA-262","withdrawn","archived"],"stage":-1,"name":"Cancelable Promises","id":"proposal-cancelable-promises","description":"Former home of the now-withdrawn cancelable promises proposal for JavaScript","url":"https://github.com/tc39/proposal-cancelable-promises","has-specification":true,"authors":[],"champions":["Domenic Denicola"],"rationale":"Withdrawn","pushed_at":"2016-12-15T18:37:18.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"Updates to Tail Calls to include an explicit syntactic opt-in","id":"proposal-ptc-syntax","description":"Discussion and specification for an explicit syntactic opt-in for Tail Calls.","url":"https://github.com/tc39/proposal-ptc-syntax","has-specification":true,"authors":[],"champions":["Brian Terlson","Eric Faust"],"rationale":"Inactive","pushed_at":"2016-06-21T13:15:42.000Z"},{"tags":["ECMA-262","inactive"],"stage":-1,"name":"Object enumerables","description":"Object.enumerableKeys / Object.enumerableValues / Object.enumerableEntries","url":"https://github.com/leobalter/object-enumerables","has-specification":false,"authors":[],"champions":["Leo Balter","John-David Dalton"],"rationale":"Rejected","pushed_at":"2016-04-29T19:32:06.000Z"},{"tags":["ECMA-262","inactive","archived"],"stage":-1,"name":"{Set,Map}.prototype.toJSON","description":"An ECMAScript proposal","url":"https://github.com/DavidBruant/Map-Set.prototype.toJSON","has-specification":true,"authors":[],"champions":["David Bruant","Jordan Harband"],"rationale":"Rejected: better solved by a custom replacer function.","pushed_at":"2016-04-01T09:16:58.000Z"},{"tags":["ECMA-402"],"stage":0,"name":"Intl.NumberFormat round option","description":"Ecma-402 proposal for selecting different rounding functions for Intl.NumberFormat","url":"https://github.com/rxaviers/ecma402-number-format-round-option","has-specification":false,"authors":["Rafael Xavier"],"champions":["Rafael Xavier"],"pushed_at":"2015-07-14T18:55:53.000Z"},{"tags":["ECMA-262"],"stage":0,"name":"Structured Clone","url":"https://github.com/dslomov/ecmascript-structured-clone","notes":[{"date":"2014-01-30T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2014-01/jan-30.md#structured-clone"}],"has-specification":false,"authors":["Dmitry Lomov"],"champions":["Dmitry Lomov"],"pushed_at":"2014-01-21T15:44:43.000Z"},{"tags":["ECMA-262","withdrawn"],"stage":-1,"name":"Annex B — HTML Attribute Event Handlers","has-specification":false,"authors":[],"champions":["Allen Wirfs-Brock"],"rationale":"Withdrawn per PR comment"},{"tags":["ECMA-262"],"stage":0,"name":"Relationships","url":"https://web.archive.org/web/20160804042554/http://wiki.ecmascript.org/doku.php?id=strawman:relationships","has-specification":false,"authors":["Mark Miller","Waldemar Horwat"],"champions":["Mark Miller","Waldemar Horwat"]},{"tags":["ECMA-262"],"stage":0,"name":"Method parameter decorators","url":"https://goo.gl/r1XT9b","has-specification":false,"authors":["Igor Minar"],"champions":["Igor Minar"]},{"tags":["ECMA-262"],"stage":0,"name":"Function expression decorators","url":"https://goo.gl/8MmCMG","has-specification":false,"authors":["Igor Minar"],"champions":["Igor Minar"]},{"tags":["ECMA-262"],"stage":0,"name":"Defensible Classes","url":"https://web.archive.org/web/20160804042547/http://wiki.ecmascript.org/doku.php?id=strawman:defensible_classes","has-specification":false,"authors":["Mark Miller","Doug Crockford"],"champions":["Mark Miller","Doug Crockford"]},{"tags":["ECMA-262"],"stage":1,"name":"Async initialization","url":"https://docs.google.com/presentation/d/1DsjZAzBjn2gCrr4l0uZzCymPIWZTKM8KzcnMBF31HAg/edit#slide=id.g7d23d45064_0_196","notes":[{"date":"2020-02-04T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2020-02/february-4.md#async-initialization-for-stage-1"}],"has-specification":false,"authors":["Bradley Farias"],"champions":["Bradley Farias"]},{"tags":["ECMA-262"],"stage":1,"name":"Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD)","notes":[{"date":"2017-07-26T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-07/jul-26.md#13iib-consider-changing-numberparseint-and-numberparsefloat"}],"has-specification":false,"authors":[],"champions":["Brendan Eich"]},{"tags":["ECMA-262"],"stage":1,"name":"Float16 on TypedArrays, DataView, Math.hfround","url":"https://docs.google.com/presentation/d/1Ta_IbravBUOvu7LUhlN49SvLU-8G8bIQnsS08P3Z4vY/edit?usp=sharing","notes":[{"date":"2017-05-23T00:00:00.000Z","url":"https://github.com/tc39/notes/blob/HEAD/meetings/2017-05/may-23.md#16ig-float16-on-typedarrays-dataview-mathhfround-for-stage-1"}],"has-specification":false,"authors":["Leo Balter"],"champions":["Leo Balter"]}] \ No newline at end of file diff --git a/schema/bundle.json b/schema/bundle.json new file mode 100644 index 0000000..8d6154a --- /dev/null +++ b/schema/bundle.json @@ -0,0 +1,275 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://tc39.es/dataset/schema/bundle.json", + "title": "Bundle Proposals", + "type": "array", + "items": { + "allOf": [ + { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "pushed_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "required": [] + }, + { + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://tc39.es/dataset/schema/individual.json", + "title": "Individual Proposal", + "type": "object", + "properties": { + "$schema": { + "type": "string", + "const": "https://tc39.es/dataset/schema/individual.json" + }, + "tags": { + "type": "array", + "items": [ + { + "type": "string", + "enum": ["ECMA-262", "ECMA-402", "inactive", "withdrawn", "archived"] + } + ], + "minItems": 1, + "uniqueItems": true, + "description": "The tags of proposal", + "additionalItems": { + "type": "string", + "enum": ["ECMA-262", "ECMA-402", "inactive", "withdrawn", "archived"] + } + }, + "stage": { + "type": "number", + "minimum": 0, + "maximum": 4, + "description": "The stage number of proposal" + }, + "id": { + "type": "string", + "description": "The codename of proposal", + "pattern": "^proposal-" + }, + "name": { + "type": "string", + "description": "The display name of proposal" + }, + "description": { + "type": "string", + "description": "The description of proposal" + }, + "authors": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "description": "List of Authour", + "additionalItems": { + "type": "string" + } + }, + "champions": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "description": "List of Champion", + "additionalItems": { + "type": "string" + } + }, + "notes": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date-time" + }, + "url": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/notes" + } + }, + "additionalProperties": false, + "required": ["date", "url"] + } + ], + "minItems": 1, + "description": "List of tc39 notes", + "additionalItems": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date-time" + }, + "url": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/notes" + } + }, + "additionalProperties": false, + "required": ["date", "url"] + } + }, + "tests": { + "type": "array", + "items": [ + { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/test262\\/(pull|issues)\\/\\d+$" + } + ], + "minItems": 1, + "description": "List of tc39 tests", + "additionalItems": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/test262\\/(pull|issues)\\/\\d+$" + } + }, + "has-specification": { + "type": "boolean", + "description": "Has specification (spec.emu available)" + }, + "snippets": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "file-path": { + "type": "string" + } + }, + "additionalProperties": false, + "required": ["name", "file-path"] + } + ], + "minItems": 1, + "description": "Provide example code of tc39.es show code", + "additionalItems": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "file-path": { + "type": "string" + } + }, + "additionalProperties": false, + "required": ["name", "file-path"] + } + }, + "polyfills": { + "type": "array", + "items": [ + { + "type": "string", + "format": "uri" + } + ], + "minItems": 1, + "description": "List of polyfill urls", + "additionalItems": { + "type": "string", + "format": "uri" + } + }, + "implementations": { + "type": "array", + "items": [ + { + "type": "string", + "enum": [ + "Babel", + "ChakraCore", + "Chrome", + "Edge", + "Engine262", + "Firefox", + "GraalJS", + "Hermes", + "JavaScriptCore", + "Nashorn", + "Node", + "QuickJS", + "Safari", + "SpiderMonkey", + "TypeScript", + "v8" + ] + } + ], + "minItems": 1, + "uniqueItems": true, + "additionalItems": { + "type": "string", + "enum": [ + "Babel", + "ChakraCore", + "Chrome", + "Edge", + "Engine262", + "Firefox", + "GraalJS", + "Hermes", + "JavaScriptCore", + "Nashorn", + "Node", + "QuickJS", + "Safari", + "SpiderMonkey", + "TypeScript", + "v8" + ] + }, + "description": "List of implementations" + }, + "rationale": { + "type": "string", + "description": "inactive proposal rationale (inactive only)" + }, + "edition": { + "type": "number", + "minimum": 2015, + "maximum": 2999, + "description": "available edition of ECMAScript (stage 4 only)" + } + }, + "additionalProperties": false, + "required": ["tags", "name", "stage", "authors", "champions"] + } + ] + }, + "id": "BundleProposals", + "minItems": 0 +} diff --git a/schema/individual.json b/schema/individual.json new file mode 100644 index 0000000..03ff954 --- /dev/null +++ b/schema/individual.json @@ -0,0 +1,250 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://tc39.es/dataset/schema/individual.json", + "title": "Individual Proposal", + "type": "object", + "properties": { + "$schema": { + "type": "string", + "const": "https://tc39.es/dataset/schema/individual.json" + }, + "tags": { + "type": "array", + "items": [ + { + "type": "string", + "enum": ["ECMA-262", "ECMA-402", "inactive", "withdrawn", "archived"] + } + ], + "minItems": 1, + "uniqueItems": true, + "description": "The tags of proposal", + "additionalItems": { + "type": "string", + "enum": ["ECMA-262", "ECMA-402", "inactive", "withdrawn", "archived"] + } + }, + "stage": { + "type": "number", + "minimum": 0, + "maximum": 4, + "description": "The stage number of proposal" + }, + "id": { + "type": "string", + "description": "The codename of proposal", + "pattern": "^proposal-" + }, + "name": { + "type": "string", + "description": "The display name of proposal" + }, + "description": { + "type": "string", + "description": "The description of proposal" + }, + "authors": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "description": "List of Authour", + "additionalItems": { + "type": "string" + } + }, + "champions": { + "type": "array", + "items": [ + { + "type": "string" + } + ], + "minItems": 1, + "description": "List of Champion", + "additionalItems": { + "type": "string" + } + }, + "notes": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date-time" + }, + "url": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/notes" + } + }, + "additionalProperties": false, + "required": ["date", "url"] + } + ], + "minItems": 1, + "description": "List of tc39 notes", + "additionalItems": { + "type": "object", + "properties": { + "date": { + "type": "string", + "format": "date-time" + }, + "url": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/notes" + } + }, + "additionalProperties": false, + "required": ["date", "url"] + } + }, + "tests": { + "type": "array", + "items": [ + { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/test262\\/(pull|issues)\\/\\d+$" + } + ], + "minItems": 1, + "description": "List of tc39 tests", + "additionalItems": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/tc39\\/test262\\/(pull|issues)\\/\\d+$" + } + }, + "has-specification": { + "type": "boolean", + "description": "Has specification (spec.emu available)" + }, + "snippets": { + "type": "array", + "items": [ + { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "file-path": { + "type": "string" + } + }, + "additionalProperties": false, + "required": ["name", "file-path"] + } + ], + "minItems": 1, + "description": "Provide example code of tc39.es show code", + "additionalItems": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "file-path": { + "type": "string" + } + }, + "additionalProperties": false, + "required": ["name", "file-path"] + } + }, + "polyfills": { + "type": "array", + "items": [ + { + "type": "string", + "format": "uri" + } + ], + "minItems": 1, + "description": "List of polyfill urls", + "additionalItems": { + "type": "string", + "format": "uri" + } + }, + "implementations": { + "type": "array", + "items": [ + { + "type": "string", + "enum": [ + "Babel", + "ChakraCore", + "Chrome", + "Edge", + "Engine262", + "Firefox", + "GraalJS", + "Hermes", + "JavaScriptCore", + "Nashorn", + "Node", + "QuickJS", + "Safari", + "SpiderMonkey", + "TypeScript", + "v8" + ] + } + ], + "minItems": 1, + "uniqueItems": true, + "additionalItems": { + "type": "string", + "enum": [ + "Babel", + "ChakraCore", + "Chrome", + "Edge", + "Engine262", + "Firefox", + "GraalJS", + "Hermes", + "JavaScriptCore", + "Nashorn", + "Node", + "QuickJS", + "Safari", + "SpiderMonkey", + "TypeScript", + "v8" + ] + }, + "description": "List of implementations" + }, + "rationale": { + "type": "string", + "description": "inactive proposal rationale (inactive only)" + }, + "edition": { + "type": "number", + "minimum": 2015, + "maximum": 2999, + "description": "available edition of ECMAScript (stage 4 only)" + } + }, + "additionalProperties": false, + "required": ["tags", "name", "stage", "authors", "champions"], + "id": "IndividualProposal" +}