数据 API 生成器的策略

一组策略控制与重大更改、通知、发布和版本控制相关的数据 API 生成器。

版本控制与发布

A release in the context of Data API builder refers to every published version of the software, identified by the Major.Minor.Patch format. These releases fall into three categories: stable, breaking change, and preview.

容器更新责任

数据 API 生成器容器不会自动更新。 客户负责监视新版本、评估其重要性(包括安全更新),并相应地更新已部署的容器。

Keeping the container up to date is the customer’s responsibility.

Stable releases

A stable version of Data API builder is backwards compatible. 向后兼容意味着你编写的任何依赖于数据 API 生成器版本的代码都可以采用较新的稳定版本,而无需任何代码更改来保持正确性或现有功能。

中断性变更版本

数据 API 生成器的重大 变更版本 不向后兼容。 在现有客户端代码中采用中断性变更版本可能需要更改代码,以确保客户端的行为与针对以前的版本时的行为完全相同。

中断性变更版本通过中断性变更列表文章和 GitHub 版本的更改说明中公布。 除非这些更改修复了关键安全、隐私或法律问题,否则发布预览/发布候选版本之前的中断性变更版本。 虽然旧版数据 API 生成器可能在 GitHub 发布页上保持可用,但我们建议升级到最新版本,其中包括 bug 修复。

Preview releases

数据 API 生成器预览版本通过版本控制方案进行标识 X.Y.Z-rc 。 后 -rc 缀指示生成是“候选发布”。预览版用于收集有关新功能和其他更改的反馈。

除非我们计划从上一个稳定版本进行重大更改,否则我们将发布下一个预览版,其中包含最新稳定版本和新预览功能的所有内容。 下一个数据 API 生成器更新可能会中断我们在预览版本之间添加的一些新预览功能。 这种中断行为意味着可能需要更改代码才能使事情再次工作。

预览版不适用于长期或生产用途。 当新的稳定版本或预览版可用时,旧的预览版本可能不再可访问。 最好仅在你积极处理新功能并准备好在发布后不久切换到非预览版本时使用预览版本。 如果预览版中的某些功能包含在新的稳定版本中,则剩余的预览功能将添加到新的预览版本,供你试用。

版本更改表

Important

当更改解决关键产品 bug、法律、安全性或隐私问题时,我们可能会对次要版本或修补程序版本引入中断性变更。

Release type Previous Version New Version Notes
Breaking Change 1.Y.Z 2.Y.Z 新功能和 bug 修复以及任何重大更改。
Stable 1.1.Z 1.2.Z 除非这些更改解决了关键产品 bug、法律、安全性或隐私问题,否则新功能和 bug 修复没有中断性变更。
Stable 1.1.1 1.1.2 没有新功能或中断性变更的 Bug 修复,除非这些更改解决了关键产品 bug、法律、安全性或隐私问题。
Preview X.Y.1-rc X.Y.2-rc 新的预览功能和 bug 修复。 (如果主要版本被颠簸,则包括中断性变更。

Breaking Changes

为了确定安全性的优先级、增强功能和维护代码质量,我们的软件的新版本可能包括重大更改。 虽然我们努力通过仔细的体系结构选择最大程度地减少这些更改,但它们仍然可以发生。 在这种情况下,我们优先宣布它们并提供可能的解决方案。

Important

如果更改被视为非中断性变更,或者要解决关键产品 bug 或法律、安全性或隐私问题,我们可能会在事先通知的情况下进行更改。

什么是中断性变更?

中断性变更是一项修改,要求更新应用程序以防止中断。 在数据 API 生成器中,重大更改可能包括对 REST API 协定、GraphQL 架构生成和其他影响兼容性和功能的元素的更改。

中断性变更示例

The following examples are a nonexhaustive list of breaking changes to Data API builder:

  • REST API 协定修改
  • GraphQL 架构生成的更改
  • 影响向后兼容性的更改
  • 删除或重命名 API 或参数
  • 错误代码中的更改
  • 对权限定义功能的调整
  • 删除允许的参数、请求字段或响应字段
  • 添加必需参数或请求字段而不使用默认值
  • 对预期 API 终结点功能的修改

非中断性变更的定义

A non-breaking change refers to a change that can be integrated into your application without causing disruption. 实现后通常会传达非中断性变更。 应用程序应设计为在不事先通知的情况下处理这些更改。

非中断性变更示例

The following examples are a nonexhaustive list of nonbreaking changes to Data API builder:

  • 新终结点简介
  • 向现有终结点添加方法
  • 在响应和请求中合并新领域
  • 调整响应中的字段顺序
  • 可选请求标头简介
  • 数据长度和响应大小的更改
  • 对错误消息和代码的更改
  • HTTP 响应代码的修复
  • 生成的 OpenAPI 文档中的额外元数据

我们如何传达重大更改?

我们优先考虑及时通知你重大更改。 可以在 GitHub 上的数据 API 生成器版本的发行说明中找到中断性变更通知。

当前中断性变更列表

本文中宣布了重大更改和功能停用。

  • 到目前为止,没有重大更改