Skip to content
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

Improved LTS documentation #1060

Merged
merged 3 commits into from
Jul 9, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 57 additions & 10 deletions docs/lts.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,61 @@
## Long Term Support
<a id="lts"></a>

Pino's Long Term Support (LTS) is tied to the [Node.js LTS policy].
Major versions of Pino, "X" releases in X.Y.Z of [semantic versioning] nomenclature, will
be issued as close as possible to the release of a new major LTS release of
Node.js (subject to the Pino maintainers's capacity). Pino makes no guarantees
as to the operability of the library on unsupported releases of Node.js.
Pino's Long Term Support (LTS) is provided according to the schedule laid
out in this document:

Pino will not remove support for a deprecated Node.js release via a minor,
or patch, release of Pino.
1. Major releases, "X" release of [semantic versioning][semver] X.Y.Z release
versions, are supported for a minimum period of six months from their release
date. The release date of any specific version can be found at
[https://github.com/pino/pino/releases](https://github.com/pino/pino/releases).

[semantic versioning]: https://semver.org/
[Node.js LTS policy]: https://github.com/nodejs/Release
1. Major releases will receive security updates for an additional six months
from the release of the next major release. After this period
we will still review and release security fixes as long as they are
provided by the community and they do not violate other constraints,
e.g. minimum supported Node.js version.

1. Major releases will be tested and verified against all Node.js
release lines that are supported by the
[Node.js LTS policy](https://github.com/nodejs/Release) within the
LTS period of that given Fastify release line. This implies that only
mcollina marked this conversation as resolved.
Show resolved Hide resolved
the latest Node.js release of a given line is supported.

A "month" is defined as 30 consecutive days.

> ## Security Releases and Semver
>
> As a consequence of providing long-term support for major releases, there
> are occasions where we need to release breaking changes as a _minor_
> version release. Such changes will _always_ be noted in the
> [release notes](https://github.com/pino/pino/releases).
>
> To avoid automatically receiving breaking security updates it is possible to use
> the tilde (`~`) range qualifier. For example, to get patches for the 3.15
> release, and avoid automatically updating to the 3.16 release, specify
> the dependency as `"pino": "~6.1.x"`. This will leave your application vulnerable,
mcollina marked this conversation as resolved.
Show resolved Hide resolved
> so please use with caution.

[semver]: https://semver.org/

<a name="lts-schedule"></a>

### Schedule

| Version | Release Date | End Of LTS Date | Node.js |
| :------ | :----------- | :-------------- | :------------------- |
| 6.x | 2020-03-07 | TBD | 10, 12, 14, 16 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't this part slightly outdated?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's accurate to the current major release.


<a name="supported-os"></a>

### CI tested operating systems

Pino uses GitHub Actions for CI testing, please refer to
[GitHub's documentation regarding workflow runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)
for further details on what the latest virtual environment is in relation to
the YAML workflow labels below:

| OS | YAML Workflow Label | Node.js |
|---------|------------------------|--------------|
| Linux | `ubuntu-latest` | 10,12,14,16 |
| Windows | `windows-latest` | 10,12,14,16 |
| MacOS | `macos-latest` | 10,12,14,16 |
1 change: 1 addition & 0 deletions docsify/sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* [Ecosystem](/docs/ecosystem.md)
* [Benchmarks](/docs/benchmarks.md)
* [Legacy](/docs/legacy.md)
* [Long Term Support](/docs/lts.md)
* [Help](/docs/help.md)
* [Exit logging](/docs/help.md#exit-logging)
* [Log rotation](/docs/help.md#rotate)
Expand Down