跳到主要内容

版本编号与发布

PlayCanvas Engine 遵循语义化版本。每次发布的版本号均采用 major.minor.patch 格式,例如 2.23.3,分别表示主版本号、次版本号和补丁版本号。

important

极少数情况下,次版本也会包含破坏性变更。例如,2.5.0 改变了 ShaderMaterial 处理伽马校正、色调映射和雾效的方式。我们会尽量避免这种情况,任何此类变更都会列在引擎迁移中。

选择接受哪些更新​

运行 npm install playcanvas 时,npm 会在 package.json 中以脱字符(^)范围记录引擎版本,例如 "playcanvas": "^2.23.3"。该范围接受后续所有 2.x 版本,因此更新依赖可能会升级到新的次版本。若希望限制更新范围,可以采用其他版本表达式安装:

接受的更新命令package.json 中的条目
次版本和补丁版本(npm 默认行为)npm install playcanvas"^2.23.3"
仅补丁版本npm install playcanvas@~2.23.3"~2.23.3"
不接受更新(固定版本)npm install playcanvas --save-exact"2.23.3"

版本范围决定了 npm update 可以升级到哪个版本,以及没有锁文件时全新安装会解析到哪个版本。package-lock.json 仍会记录实际安装的精确版本,npm ci 则安装该版本。上述范围都不会选择 beta、preview 或 alpha 构建;要安装它们,需要明确指定相应标签。

如果通过 CDN 加载引擎,请在 URL 中指定版本,例如 https://cdn.jsdelivr.net/npm/[email protected]/+esm。未指定版本的 URL 始终加载最新发布版。

发布类型​

发布类型示例内容
补丁版本2.23.2 → 2.23.3仅修复问题,不更改 API。
次版本2.22.6 → 2.23.0新功能。现有 API 可能被弃用,但仍然可用;调试版引擎会在使用时记录警告。
主版本1.x → 2.0.0较大的 API 变更。Engine v2 移除了 WebGL 1 支持、旧版脚本系统及大量已弃用 API。

npm 标签​

除稳定版外,引擎也会向 npm 发布预发行构建。每种构建均有专属标签:

标签版本格式内容
latestX.Y.Z当前稳定版。npm install playcanvas 会安装此版本。
betaX.Y.0-beta.N从 main 分支构建,面向下一个次版本。如果 main 自上次 beta 后有变化,会在每天 UTC 02:00 构建。包含已合并但尚未完成发布测试的功能。
previewX.Y.Z-preview.N次版本或补丁版本在 release-X.Y 分支准备发布时,于正式发布前提供的版本。近期正式版本通常在几分钟后即发布,因此该标签经常指向比 latest 更旧的版本。
alphaX.Y.Z-alpha.PR.N偶尔针对某个拉取请求生成的构建,便于在合并前测试,例如在移动设备上验证。不应在项目中使用。
lts1.Y.Z最新的 Engine v1 版本。Engine v1 仅接收关键修复。参阅引擎兼容性。

安装带标签的构建时,在包名后加上标签:

npm install playcanvas@beta

查看各个标签当前指向的版本:

npm view playcanvas dist-tags

编辑器项目​

编辑器项目不通过 npm 安装引擎,而是在编辑器的引擎设置中,选择启动、发布和下载项目时使用的引擎版本。