发行敏感页面

本页描述 1.0.0 目标或已知限制,不构成版本已发布、安装包已开放、平台已支持或安全问题已修复的证明。

Release Manifest

Release Manifest 是公开发行事实的机器可读真源。下载页、Release Notes、更新器、About、诊断信息和支持页面最终都必须从同一份记录读取版本、通道、构建号、Git commit、发行主体与产物哈希。

当前网站公开的是一份独立的 unreleased 准备状态记录,不是签名后的正式发行清单。你可以在发行清单页面查看可读版本,检查准备状态 JSON及其准备状态 Schema,或查看与产品仓库逐字节一致的正式 Release Manifest v1 Schemalatest pointer v1 Schema

当前状态必须满足

字段当前值含义
stateunreleased目标版本尚未发布
downloads.enabledfalse官网不能提供安装包链接
artifacts[]没有可验证的公开产物
claims.release[]尚未解锁任何发行 Claim
update.enabledfalse不是更新器入口
security.signatureRequiredfalse当前记录本身不冒充签名发行记录

目标版本可以写为 1.0.0,但正式 version、构建号、发布时间、源码 commit、tag 与发行主体必须保持缺失,直到最终字节和责任主体真实存在。不得用 TBD、虚构 URL、全零哈希、假签名主体或未来日期填充未知事实。

正式发布会增加什么

正式 published 记录至少需要:

  1. 已清权品牌、真实法律发行主体与正式网站;
  2. 完整版本、构建号、单调递增序列、签名 tag、干净 commit 与 tree;
  3. 不可变产物 URL、精确大小、SHA-256、系统、架构和最低系统版本;
  4. macOS Developer ID、Team ID、公证、staple 与 Gatekeeper 证据;
  5. 最终包内组件 Receipt、SBOM 与 provenance;
  6. 双语 Release Notes、Known Issues、系统要求、校验说明、隐私、许可、支持与安全入口;
  7. 存储 schema、已验收升级来源、备份与降级策略;
  8. RFC 8785 规范化后的 detached JWS 签名。

发布与更新分层

未来正式发行应使用不可变版本清单和单独签名文件;更新通道再通过带签名、序列单调递增的 latest 指针引用它。Manifest 冻结该版本首次发布的初始序列和初始 rollout 快照;pointer 使用独立的控制面序列,并承载当前 rollout 状态与比例。首个引用序列不能小于 Manifest 序列;此后每次续期、扩大灰度、暂停、恢复或撤回都必须使用严格更大的 pointer 序列。同一版本的 cohort seed 保持不变,因此扩大灰度会保留已选中的用户集合。上传顺序必须是:不可变产物 → 不可变 Manifest 与签名 → 最后原子切换更新指针。

当前记录不会进入更新器的公开 latest endpoint。按钮关闭不是视觉状态,而是 Manifest 校验结果。

源文档核验 · 2026-08-28官网导入 · 2026-08-27