版本
最新
¥Latest
我们每周一 17:00 UTC(Tuesdays at 5:00 PM UTC)使用当时对 main
的最新提交发布最新版本。此版本由位于私有存储库中的 Github 操作自动执行。此版本转到 npm 上的标准 latest
标签。
¥We release a latest version every Monday at 17:00 UTC (Tuesdays at 5:00 PM UTC) using the latest commit to main
at that time. This release is performed automatically by a Github action located in a private repository. This release goes to the standard latest
tag on npm.
请参阅 版本控制 以了解如何计算版本号。
¥See Versioning for how the version number is calculated.
如果没有影响面向公众的软件包的提交,则应发布补丁级 版本。
¥If there have been no commits that impact public-facing packages then a patch-level release shall be released.
最新版本只能是 "minor" 或 "patch" 版本。
¥Latest releases shall only ever be "minor" or "patch" releases.
发行说明
¥Release Notes
每个版本都记录在 Github 发布页面 上。
¥Every release is documented on the Github Release page.
这些发行说明将列出该发行版中包含的 PR。
¥These release notes will list the PRs included in the release.
Canary
我们为通过所有必需检查的每次提交到 main
发布一个金丝雀版本。此版本由 publish_canary_version
步 自动执行。因此,你无需等待新的稳定版本即可使用任何更新。
¥We release a canary version for each commit to main
that passes all required checks. This release is performed automatically by the publish_canary_version
step. So you never need to wait for a new stable version to make use of any updates.
此版本转到 npm 上的 canary
标签,并且它是在当前 latest
版本之上的增量金丝雀补丁版本。即如果当前版本是 5.6.1
,则第一个 canary 版本将是 5.6.2-alpha.0
,第二个是 5.6.2-alpha.1
,依此类推。
¥This release goes to the canary
tag on npm and it is versioned as an incremental canary patch release on top of the current latest
version. I.e. if the current version is 5.6.1
, then the first canary version will be 5.6.2-alpha.0
, the second 5.6.2-alpha.1
, and so on.
上述自动发布的唯一例外是我们处于创建下一个主要版本库的最后阶段 - 例如从 1.x.x
转到 2.x.x
。在此期间,我们手动发布 canary
版本,直到我们对版本满意并将其提升为 latest
。
¥The only exception to the automated publishes described above is when we are in the final phases of creating the next major version of the libraries - e.g. going from 1.x.x
to 2.x.x
.
During these periods, we manually publish canary
releases until we are happy with the release and promote it to latest
.
安装 Canary 版本
¥Installing Canary Versions
要试用 typescript-eslint 的最新 canary 版本,请安装 @typescript-eslint/eslint-plugin@canary
和 @typescript-eslint/parser@canary
。请注意,npm 可能需要 --force
来覆盖版本要求。
¥To try out the latest canary versions of typescript-eslint, install @typescript-eslint/eslint-plugin@canary
and @typescript-eslint/parser@canary
.
Note that npm may need a --force
to override version requirements.
- npm
- Yarn
- pnpm
npm i @typescript-eslint/eslint-plugin@canary @typescript-eslint/parser@canary --save-dev --force
yarn add @typescript-eslint/eslint-plugin@canary @typescript-eslint/parser@canary --dev --force
pnpm add @typescript-eslint/eslint-plugin@canary @typescript-eslint/parser@canary --save-dev --force
主要版本
¥Major Releases
我们目前还没有关于何时执行主要版本的固定时间表;相反,它们是在需要时完成的。
¥We currently do not have a set schedule around when major releases shall be performed; instead they are done as the need arises.
我们将突发问题积压作为 GitHub 上的里程碑,以 ${major}.0.0
的形式命名。当我们确实进行主要发布时,我们会针对主要分支的每次提交,在 npm 上向 rc-v${major}
标签发布一个候选发布版本。
¥We keep a backlog of breaking issues as a milestone on GitHub that is named in the form ${major}.0.0
.
When we do do a major release, we release a release candidate version to the rc-v${major}
tag on npm for each commit to the major branch.
有关执行主要版本的步骤,请参阅 维护 > 版本。
¥See Maintenance > Releases for steps to perform a major release.
带外发布
¥Out-of-Band Releases
我们将发布 "out-of-band"(在 latest 计划之外)以应对罕见的紧急情况。我们根据具体情况评估需求,但通常紧急情况被定义为最新版本中专门引入的关键回归。
¥We will do releases "out-of-band" (outside the latest schedule) for rare emergencies. We assess need on a case-by-case basis though generally an emergency is defined as a critical regression specifically introduced in the latest release.
这些版本由具有所需访问权限的维护人员手动完成。
¥These releases are done manually by a maintainer with the required access privileges.
向后移植版本
¥Back-Porting Releases
我们不会将版本移植到以前发布的主要/次要版本。我们只向前发布。
¥We do not back port releases to previously released major/minor versions. We only ever release forward.