-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Add Release Schedule #1890
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Add Release Schedule #1890
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
dbb6080
Add Release Schedule
fhemberger dc7fce8
Replace old 'Releases' page with release schedule
fhemberger 372be71
zh-cn: add release schedule (#1892)
ZYSzys 90ac746
zh-CN: Modify the Columns in Chinese
1040768
Korean translation: add release schedule (#1894)
taggon 07d5f53
Add Ukrainian translation
fhemberger File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| <!DOCTYPE html> | ||
| <html lang="{{site.locale}}" {{#if site.rtl}}dir="rtl"{{/if}}> | ||
| {{> html-head }} | ||
|
|
||
| <body> | ||
| {{> header }} | ||
|
|
||
| <div id="main"> | ||
| <div class="container has-side-nav"> | ||
|
|
||
| {{> navigation key='about'}} | ||
|
|
||
| <article> | ||
| <h1>{{ title }}</h1> | ||
|
|
||
| <p> | ||
| <img alt="{{ title }}" src="https://raw.githubusercontent.com/nodejs/Release/master/schedule.png"> | ||
| </p> | ||
|
|
||
| {{{ release-schedule }}} | ||
|
|
||
| <p> | ||
| <small>{{ schedule-footer }}</small> | ||
| </p> | ||
|
|
||
|
|
||
| {{{ contents }}} | ||
| </article> | ||
|
|
||
| </div> | ||
| </div> | ||
|
|
||
| {{> footer }} | ||
| </body> | ||
| </html> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| table.release-schedule | ||
| width 100% | ||
| font-size 1rem | ||
| border 1px solid $light-gray2 | ||
|
|
||
| td | ||
| padding 5px | ||
|
|
||
| > thead | ||
| font-weight 600 | ||
| text-align left | ||
|
|
||
| > tbody | ||
| border-top 1px solid $light-gray2 | ||
|
|
||
| tr:nth-child(odd) | ||
| background-color $light-gray3 | ||
|
|
||
| tr:nth-child(even) | ||
| background-color $white |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,86 +1,18 @@ | ||
| --- | ||
| layout: about.hbs | ||
| layout: about-release-schedule.hbs | ||
| title: Releases | ||
| statuses: | ||
| maintenance: 'Maintenance LTS' | ||
| active: 'Active LTS' | ||
| current: 'Current' | ||
| pending: 'Pending' | ||
| columns: | ||
| - 'Release' | ||
| - 'Status' | ||
| - 'Codename' | ||
| - 'Initial Release' | ||
| - 'Active LTS Start' | ||
| - 'Maintenance LTS Start' | ||
| - 'End-of-life' | ||
| schedule-footer: Dates are subject to change. | ||
| --- | ||
| # Releases | ||
|
|
||
| The core team defines the roadmap's scope, as informed by Node.js' community. | ||
| Releases happen as often as necessary and practical, but never before work is | ||
| complete. Bugs are unavoidable, but pressure to ship a release will never | ||
| prevail over ensuring the software is correct. The commitment to quality | ||
| software is a core tenet of the Node.js project. | ||
|
|
||
| ## Patches | ||
|
|
||
| Patch releases: | ||
|
|
||
| - Include bug, performance, and security fixes. | ||
| - Do not add nor change public interfaces. | ||
| - Do not alter the expected behavior of a given interface. | ||
| - Can correct behavior if it is out-of-sync with the documentation. | ||
| - Do not introduce changes which make seamless upgrades impossible. | ||
|
|
||
| ## Minors | ||
|
|
||
| Minor releases: | ||
|
|
||
| - Include additions and/or refinements of APIs and subsystems. | ||
| - Do not generally change APIs nor introduce backwards-incompatible breaking | ||
| changes, except where unavoidable. | ||
| - Are mostly additive releases. | ||
|
|
||
| ## Majors | ||
|
|
||
| Major releases: | ||
|
|
||
| - Usually introduce backwards-incompatible, breaking changes. | ||
| - Identify the API Node.js intends to support for the foreseeable future. | ||
| - Require conversation, care, collaboration and appropriate scoping by the team | ||
| and its users. | ||
|
|
||
| ## Scoping Features | ||
|
|
||
| The team can add features and APIs into Node.js when: | ||
|
|
||
| - The need is clear. | ||
| - The API or feature has known consumers. | ||
| - The API is clean, useful, and easy-to use. | ||
|
|
||
| If when implementing core functionality for Node.js, the team or community may | ||
| identify another lower-level API which could have utility beyond Node.js. When | ||
| identified, Node.js can expose it for consumers. | ||
|
|
||
| For example, consider the [`EventEmitter`] interface. The need to have an event | ||
| subscription model for core modules to consume was clear, and that abstraction | ||
| had utility beyond the Node.js core. It was not the case that its interface | ||
| couldn't be implemented externally to Node.js; instead, Node.js needed the | ||
| abstraction for itself, and also exposed it for use by Node.js consumers. | ||
|
|
||
| Alternatively, it may be that many in the community adopt a pattern to handle | ||
| common needs which Node.js does not satisfy. It may be clear that Node.js | ||
| should deliver, by default, an API or feature for all Node.js consumers. | ||
| Another possibility is a commonly-used compiled asset which is difficult to | ||
| deliver across environments. Given this, Node.js may incorporate those changes | ||
| directly. | ||
|
|
||
| The core team does not take the decision lightly to add a new API to Node.js. | ||
| Node.js has a strong commitment to backwards compatibility. As such, community | ||
| input and conversation must occur before the team takes action. Even if an API | ||
| is otherwise suitable for addition, the team must identify potential consumers. | ||
|
|
||
| ## Deprecation | ||
|
|
||
| On occasion, the team must deprecate a feature or API of Node.js. Before coming | ||
| to any final conclusion, the team must identify the consumers of the API and how | ||
| they use it. Some questions to ask are: | ||
|
|
||
| - If this API is widely used by the community, what is the need for flagging it | ||
| as deprecated? | ||
| - Do we have a replacement API, or is there a transitionary path? | ||
| - How long does the API remain deprecated before removal? | ||
| - Does an external module exist which its consumers can easily substitute? | ||
|
|
||
| The team takes the same careful consideration when deprecating a Node.js API as | ||
| they do when adding another. | ||
|
|
||
| [`EventEmitter`]: https://nodejs.org/api/events.html#events_class_eventemitter |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,86 +1,18 @@ | ||
| --- | ||
| layout: about.hbs | ||
| layout: about-release-schedule.hbs | ||
| title: Releases | ||
| statuses: | ||
| maintenance: 'Maintenance LTS' | ||
| active: 'Active LTS' | ||
| current: 'Current' | ||
| pending: 'Pending' | ||
| columns: | ||
| - 'Release' | ||
| - 'Status' | ||
| - 'Codename' | ||
| - 'Initial Release' | ||
| - 'Active LTS Start' | ||
| - 'Maintenance LTS Start' | ||
| - 'End-of-life' | ||
| schedule-footer: Dates are subject to change. | ||
| --- | ||
| # Releases | ||
|
|
||
| The core team defines the roadmap's scope, as informed by Node.js' community. | ||
| Releases happen as often as necessary and practical, but never before work is | ||
| complete. Bugs are unavoidable, but pressure to ship a release will never | ||
| prevail over ensuring the software is correct. The commitment to quality | ||
| software is a core tenet of the Node.js project. | ||
|
|
||
| ## Patches | ||
|
|
||
| Patch releases: | ||
|
|
||
| - Include bug, performance, and security fixes. | ||
| - Do not add nor change public interfaces. | ||
| - Do not alter the expected behavior of a given interface. | ||
| - Can correct behavior if it is out-of-sync with the documentation. | ||
| - Do not introduce changes which make seamless upgrades impossible. | ||
|
|
||
| ## Minors | ||
|
|
||
| Minor releases: | ||
|
|
||
| - Include additions and/or refinements of APIs and subsystems. | ||
| - Do not generally change APIs nor introduce backwards-incompatible breaking | ||
| changes, except where unavoidable. | ||
| - Are mostly additive releases. | ||
|
|
||
| ## Majors | ||
|
|
||
| Major releases: | ||
|
|
||
| - Usually introduce backwards-incompatible, breaking changes. | ||
| - Identify the API Node.js intends to support for the foreseeable future. | ||
| - Require conversation, care, collaboration and appropriate scoping by the team | ||
| and its users. | ||
|
|
||
| ## Scoping Features | ||
|
|
||
| The team can add features and APIs into Node.js when: | ||
|
|
||
| - The need is clear. | ||
| - The API or feature has known consumers. | ||
| - The API is clean, useful, and easy-to use. | ||
|
|
||
| If when implementing core functionality for Node.js, the team or community may | ||
| identify another lower-level API which could have utility beyond Node.js. When | ||
| identified, Node.js can expose it for consumers. | ||
|
|
||
| For example, consider the [`EventEmitter`] interface. The need to have an event | ||
| subscription model for core modules to consume was clear, and that abstraction | ||
| had utility beyond the Node.js core. It was not the case that its interface | ||
| couldn't be implemented externally to Node.js; instead, Node.js needed the | ||
| abstraction for itself, and also exposed it for use by Node.js consumers. | ||
|
|
||
| Alternatively, it may be that many in the community adopt a pattern to handle | ||
| common needs which Node.js does not satisfy. It may be clear that Node.js | ||
| should deliver, by default, an API or feature for all Node.js consumers. | ||
| Another possibility is a commonly-used compiled asset which is difficult to | ||
| deliver across environments. Given this, Node.js may incorporate those changes | ||
| directly. | ||
|
|
||
| The core team does not take the decision lightly to add a new API to Node.js. | ||
| Node.js has a strong commitment to backwards compatibility. As such, community | ||
| input and conversation must occur before the team takes action. Even if an API | ||
| is otherwise suitable for addition, the team must identify potential consumers. | ||
|
|
||
| ## Deprecation | ||
|
|
||
| On occasion, the team must deprecate a feature or API of Node.js. Before coming | ||
| to any final conclusion, the team must identify the consumers of the API and how | ||
| they use it. Some questions to ask are: | ||
|
|
||
| - If this API is widely used by the community, what is the need for flagging it | ||
| as deprecated? | ||
| - Do we have a replacement API, or is there a transitionary path? | ||
| - How long does the API remain deprecated before removal? | ||
| - Does an external module exist which its consumers can easily substitute? | ||
|
|
||
| The team takes the same careful consideration when deprecating a Node.js API as | ||
| they do when adding another. | ||
|
|
||
| [`EventEmitter`]: https://nodejs.org/api/events.html#events_class_eventemitter |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.