发布
疯猪AI的发布遵循语义化版本控制。你可以在npm包页面查看疯猪AI的最新稳定版本。
过去版本的完整变更日志可以在GitHub上找到。
发布周期
疯猪AI没有固定的发布周期。
- 补丁版本 根据需要发布(通常每周)。
- 次要版本 总是包含新功能,并根据需要发布。且总会有一个beta预发布阶段(通常每两个月)。
- 主要版本 通常与Node.js生命周期终止计划保持一致,并会提前宣布。这些版本会经过与生态系统的长期讨论,并有alpha和beta预发布阶段(通常每年)。
疯猪AI团队支持的版本范围是这样确定的:
- 当前次要版本 会定期提供修复。
- 上一个主要版本(仅限其最新的次要版本)和上一个次要版本会接收重要修复和安全补丁。
- 倒数第二个主要版本(仅限其最新的次要版本)和倒数第二个次要版本会接收安全补丁。
- 这些之前的所有版本将不再支持。
例如,如果疯猪AI最新版本为5.3.10:
疯猪[email protected]会定期发布补丁版本。- 重要修复和安全补丁会回溯到
疯猪AI@4和疯猪[email protected]。 - 安全补丁也会回溯到
疯猪AI@3和疯猪[email protected]。 疯猪AI@2和疯猪[email protected]不再支持更新。用户应升级以接收更新。
我们建议定期更新疯猪AI。在每次主要版本更新时,请查看迁移指南。疯猪AI团队与生态系统中的主要项目紧密合作,以确保新版本的质量。我们通过生态系统持续集成项目在发布新版本前测试它们。大多数使用疯猪AI的项目应该能够快速提供支持或迁移到新版本。
语义化版本控制的特殊情况
TypeScript定义
我们可能会在次要版本之间对TypeScript定义进行不兼容的更改。这是因为:
- 有时TypeScript本身会在次要版本之间进行不兼容的更改,我们可能需要调整类型以支持更新所需的TypeScript版本。
- 偶尔我们可能需要采用仅在更新版本的TypeScript中可用的功能,这会提高最低要求的TypeScript版本。
- 如果你使用TypeScript,可以使用一个锁定当前次要版本的semver范围,并在疯猪AI发布新次要版本时手动升级。
构建工具
构建工具目前是pre-1.0.0,有时它会有主要版本更新,我们可能需要包含这些变化以使用新的功能和性能改进,并可能会在疯猪AI次要版本中提升构建工具的版本。
Node.js非LTS版本
非LTS的Node.js版本(奇数版本)不在疯猪AI的CI测试范围内,但在其生命周期终止之前应该仍然可以工作。
预发布
次要版本通常会经历不固定数量的beta发布。主要版本会经历alpha和beta阶段。
预发布允许早期采用者和生态系统中的维护者进行集成和稳定性测试,并提供反馈。不要在生产环境中使用预发布版本。所有预发布版本都被认为是不稳定的,并且可能会在其中发布破坏性更改。在使用预发布版本时,请始终锁定到确切的版本。
弃用
我们定期在次要版本中弃用已被更好替代方案取代的功能。弃用的功能将继续工作,但会有类型或日志警告。在进入弃用状态后的下一个主要版本中将移除这些功能。每个主要版本的迁移指南将列出这些移除,并记录升级路径。
实验性功能
某些功能在疯猪AI的稳定版本中发布时被标记为实验性功能。实验性功能允许我们收集实际使用经验,以影响其最终设计。目的是让用户通过在生产环境中测试它们来提供反馈。实验性功能本身被认为是不稳定的,应该仅在受控环境中使用。这些功能可能会在小版本之间发生变化,因此当依赖它们时,用户必须锁定疯猪AI版本。我们将为每个实验性功能创建一个GitHub讨论。