1- # Node.js Long-term Support Working Group
1+ # Node.js Release Working Group
22
3- # LTS schedule<sup >1</sup >
3+ ## Release schedule<sup >1</sup >
44
55| Release | LTS Status | Codename | Active LTS Start | Maintenance Start | Maintenance End |
66| :--: | :---: | :---: | :---: | :---: | :---: |
1414| 9.x | No LTS | | | | |
1515| 10.x | ** Pending** | Pending | October 2018 | April 2020 | April 2021 |
1616
17- * <sup >1</sup >: All scheduled dates are subject to change by the Node.js LTS
17+ * <sup >1</sup >: All scheduled dates are subject to change by the Node.js Release
1818 working group or Node.js Core Technical Committee.
1919* <sup >2</sup >: The 8.x * Maintenance* LTS cycle is currently scheduled to expire
2020 early on December 31, 2019 to align with the scheduled End-of-Life of
2323
2424<p ><img src =" schedule.png " alt =" LTS Schedule " /></p >
2525
26- The LTS Schedule is available also as a [ JSON] [ ] file or [ ICal] [ ] . There is
26+ The Release schedule is available also as a [ JSON] [ ] file or [ ICal] [ ] . There is
2727also a live [ Google Calendar] [ ] that may be subscribed to.
2828
29- # LTS Plan
29+ ## Mandate
30+
31+ The Release working group's purpose is:
32+
33+ * Management/execution of the release and support process for all releases.
34+
35+ Its responsibilities are:
36+
37+ * Define the release process.
38+ * Define the content of releases.
39+ * Generate and create releases.
40+ * Test Releases
41+ * Manage the LTS and Current branches including backporting changes to
42+ these branches.
43+ * Define the policy for what gets backported to release streams.
44+
45+ The Release working group is structured into teams and membership in
46+ the working group does not automatically result in membership in these
47+ teams. These teams are:
48+
49+ * Releasers team
50+ * LTS team
51+ * CITGM team
52+
53+ The ` releasers ` team is entrusted with the secrets and CI access to be able
54+ build and sign releases. ** Additions to the releasers team must be approved
55+ by the CTC.**
56+
57+ The Long Term Support (LTS) team manages the process/content of LTS releases
58+ and the required backporting for these releases. Additions to the LTS
59+ team needs sign off from the rest of the LTS team.
60+
61+ The Canary in the Gold Mine (CITGM) team maintains CITGM as one of
62+ the key sanity checks for releases. This team maintains the CITGM
63+ repository and works to keep CITGM builds running and passing regularly.
64+ This also includes maintaining the CI jobs in collaboration with the Build
65+ Working Group.
66+
67+ ## Release Plan
3068
3169New semver-major releases of Node.js are cut from ` master ` every six months.
3270New even-numbered versions (e.g. v6, v8, v10, etc) are cut in April. New
@@ -48,7 +86,7 @@ Given this schedule, there will be no more than two active LTS releases at any
4886given time, overlapping for a maximum period of six months.
4987
5088Once a major version enters LTS coverage, new features (semver-minor) may only
51- be landed with consent of the CTC and the LTS Working Group . No semver-major
89+ be landed with consent of the Release working group . No semver-major
5290changes other than those required for critical security fixes may be landed.
5391
5492Changes in an LTS-covered major version are limited to:
@@ -66,7 +104,7 @@ Changes in an LTS-covered major version are limited to:
66104
67105Generally changes are expected to live in a * Current* release for at least 2
68106weeks before being backported. It is possible for a commit to land earlier at
69- the discretion of the LTS Working Group and the maintainers of the LTS branches.
107+ the discretion of the Release working group and the maintainers of the LTS branches.
70108
71109Once a release moves into Maintenance mode, only *** critical*** bugs,
72110*** critical*** security fixes, and documentation updates will be permitted.
@@ -76,14 +114,14 @@ Note that while it is possible that critical security and bug fixes may lead to
76114rare and will land as * semver-minor* bumps in the LTS covered version.
77115
78116All LTS releases will be assigned a "codename" drawn from the names of elements
79- on the Periodic Table of Elements. For each upcoming LTS release, the LTS
80- Working Group will select a handful of candidate names and submit those for a
117+ on the Periodic Table of Elements. For each upcoming LTS release, the Release
118+ working group will select a handful of candidate names and submit those for a
81119collaborator vote.
82120
83121An odd-numbered major release will cease to be actively updated when the
84122subsequent even-numbered major release is cut.
85123
86- ## LTS Staging Branches
124+ ### LTS Staging Branches
87125
88126Every LTS major version has two branches in the GitHub repository: a release
89127branch and a staging branch. The release branch is used to cut new releases.
@@ -98,7 +136,7 @@ commits are backported for a future Node.js v4 release, those must come in the
98136form of pull requests opened against the ` v4.x-staging ` branch. ** Commits are
99137only landed in the ` v4.x ` branch when a new ` v4.x ` release is being prepared.**
100138
101- ## Node abstraction layer
139+ ### Node abstraction layer
102140
103141It should be stated that the abstraction layer (currently [ ` NAN ` ] [ ] ) should
104142support all * current* LTS releases. Given that Active LTS will overlap
@@ -114,14 +152,32 @@ any given point in time, fully support a maximum of 2 LTS releases.
114152[ ICal ] : schedule.ical
115153[ `NAN` ] : https://github.com/nodejs/nan
116154
117- ## LTS Team members
155+ The working group members are the union of the LTS, Releasers
156+ and CITGM team members listed below.
118157
158+ ## LTS Team members
119159* Gibson Fahnestock [ @gibfahn ] ( https://github.com/gibfahn )
120160* James M Snell [ @jasnell ] ( https://github.com/jasnell )
121161* Jeremiah Senkpiel [ @Fishrock123 ] ( https://github.com/Fishrock123 )
122162* Michael Dawson [ @mhdawson ] ( https://github.com/mhdawson )
123163* Myles Borins [ @MylesBorins ] ( https://github.com/MylesBorins )
124- * Rod Vagg [ @rvagg ] ( https://github.com/rvagg )
125164* Sam Roberts [ @sam-github ] ( https://github.com/sam-github )
126165
127- Github team for LTS: https://github.com/orgs/nodejs/teams/lts
166+ ### Releasers team
167+ * Colin Ihrig [ @cjihrig ] ( https://github.com/cjihrig )
168+ * Evan Lucas [ @evanlucas ] ( https://github.com/evanlucas )
169+ * Italo A. Casas [ @italoacasas ] ( https://github.com/italoacasas )
170+ * James M Snell [ @jasnell ] ( https://github.com/jasnell )
171+ * Jeremiah Senkpiel [ @Fishrock123 ] ( https://github.com/Fishrock123 )
172+ * Myles Borins [ @MylesBorins ] ( https://github.com/MylesBorins )
173+ * Rod Vagg [ @rvagg ] ( https://github.com/rvagg )
174+
175+ ### CITGM team
176+ * Bartosz Sosnowski [ @bzoz ] ( https://github.com/bzoz )
177+ * Bryan English [ @bengl ] ( https://github.com/bengl )
178+ * George Adams [ @gdams ] ( https://github.com/gdams )
179+ * Gibson Fahnestock [ @gibfahn ] ( https://github.com/gibfahn )
180+ * James M Snell [ @jasnell ] ( https://github.com/jasnell )
181+ * Michaël Zasso [ @targos ] ( https://github.com/targos )
182+ * Myles Borins [ @MylesBorins ] ( https://github.com/MylesBorins )
183+ * Richard Lau [ @richardlau ] ( https://github.com/richardlau )
0 commit comments