当前最新发布:v1.24.0(2026-10-30)。
v1.24.0功能版
- M8-2 inventory 运行态复制(feature level 5):
inventory_runs/inventory_cursors/inventory_incremental经 level-5 Raft 命令复制,leader 读改写经门面,follower fail-closed;整批只读预检、零写 Conflict、状态/水位单调;独立m8_inventory_activated标记,配置 5 首次激活要求三表为空。v1.23.0(feature 4)不会收到 Inventory*;旧本地 inventory 历史不迁移。 - lifecycle 游标复制(feature level 5):
lifecycle_cursors经 level-5 命令复制,真实 sweep 走门面;首次 feature-5 激活清理 v1.23.0 遗留本地游标(重扫安全)。 - 桶删除一致性:删除桶只经 apply 的
delete_bucket_cascade同事务级联 inventory/tier 行,移除服务节点本地直删;follower 转发一致、重建同 run_key 不复用 id。 - 测试:合并后 oss-server 70 suites / 0 failed;clippy/fmt 0;sync_gate 固定 sleep flake 改为轮询 deleting。
- 启用前置:feature 5 是单向门(旧节点拒绝启动);启用前全集群升级并移除/升级旧节点,显式配置
[raft].feature_level=5;旧本地 inventory/lifecycle 历史不迁移。 - 仍未交付:schedule lease/takeover、tier restore 后续状态、硬字节/对象配额、真实 PrivateLink、AP 动态 registry(需 feature ≥6)。
GitHub Release · README:README.md / README.en.md。
v1.23.0功能版
- M8-2 作业运行态复制(feature level 4):
jobs/job_tasks与 Restore 受理的tier_restores行走 level-4 Raft 命令复制,follower apply;作业引擎与 console/API 的读改写经 JobState 门面,leader 屏障 + 单调闸防回退。全 peer ≥4 才复制;v1.22 及更早节点 advertise 3,leader 生效=3,Job* 在 append 前被拒。启用前需全集群升级、移除/升级旧节点并显式配置[raft].feature_level=4(单向门,旧节点之后拒绝启动)。 - 激活守卫:
m8_runstate_activated只由 level-4 快照安装、cutover/force-recover 显式种子、已 apply 的 level-4 命令置位;配置 4 节点拒绝带运行态行的 level-3 快照;四表非空或 inventory/tierjob_id悬空时启动 fail-closed(含清理/导出重灌指引)。 - 重试抖动修复:任务失败退避的抖动原用 Unix 秒
now%1000,实际 0–999 秒;改为 0–9 秒确定性抖动,默认 3 次重试不再拖到半小时。 - 验证:LC-4 回滚矩阵 e2e 70/0/0(v1.20.1 旧端);单机→集群 re-ingest 4 节点×3 盘 e2e 8/8;合并后 oss-server 68 suites/0 failed,clippy/fmt 0。
- 边界:inventory/lifecycle 运行态与 lease takeover 未复制;硬字节/对象配额、真实 PrivateLink、AP 动态 registry(需 feature ≥5)仍未交付。
GitHub Release · README:README.md / README.en.md。
v1.22.0功能版
- 桶数量硬配额并发修复:Raft 在 leader append 前原子判定(只串行 BucketCreate,不新增 ControlResponse 变体,混版不分叉);standalone 在
BEGIN IMMEDIATE写锁内 count+insert。 - follower 权限追赶:
require_manager/require_member在本地成员行 miss 时先追上 leader 已应用点再判定,修复滞后副本误 403;超时仍 fail-closed。 - tier-audit:新增只读
oss-server tier-audit [--json],列出未绑定源整对象摘要的归档版本(legacy parts / 空 sha),有项 exit 1;不回填 meta。 - 升级 preflight:
scripts/upgrade-preflight.sh检查存量裸 UUID MPU、M6 无site_token远端、M7 未映射 REPLICA;只读,67 项自检。 - 单机→集群 re-ingest:
scripts/single-to-cluster.sh单向复制当前版本对象;版本化/开锁桶 fail-closed,不保留历史版本/ACL/策略/加密等(明确非无损迁移)。 - Level C:v1.20.1 ↔ v1.21.1 控制面混版验证通过(147/0/0);v1.13.1 旧端不再支持。
GitHub Release · README:README.md / README.en.md。
v1.21.1文档补丁
- 无代码变更:v1.21.0 之后仅同步文档与站点,并清理已删除的旧兼容线引用;版本号统一 bump 到 1.21.1。
- 功能与边界同 v1.21.0;全量测试与闸门沿用 v1.21.0 结果。
GitHub Release · README:README.md / README.en.md。
v1.21.0功能版
- M8-3 控制台一致读:GET/HEAD 带
?consistent=1时经有界追赶(2s)再读本地,失败/无 leader 503 fail-closed;控制台响应带x-oss-applied-index;默认仍是 follower 弱读。 - 账户管理员 UI:账户列表/创建/改名/启停/删除、成员、桶数量配额、软字节配额与 usage(
web/src/pages/Accounts.tsx)。 - tier 归档/直读摘要绑定(C1–C4):归档副本绑定源对象已提交的整对象 SHA-256;旧代码可静默归档坏
part.1的缺口已关闭;legacyparts=Some/空摘要跳过。 - AP VPC 端点 registry:静态
[[ap.vpc_endpoints]],R1–R7 fail-closed、账户绑定与审计;这是注册断言,不是密码学端点身份。 - Raft follower 追赶:
attach_member与set_member_status本地 miss 时等待本地 apply 追上 leader 再重查,修复滞后 follower 误 404。 - e2e_m9 S9:fsck
--repair复检、提交 ≥9 槽、B 第二节点 identity;stretch 实跑 64 PASS / 0 FAIL / 1 SKIP。 - 未交付:硬字节/对象数配额、M8-2 运行态实时复制、Level C 完整双向混写、真实 PrivateLink 身份、单机→集群工具化。
GitHub Release · README:README.md / README.en.md。
v1.20.1补丁
- 账户软字节配额(AC-2):新增只读
GET /accounts/{id}/usage(当前版本对象字节和;分页;集群丢 peer 时complete=false、头partial)与独立配置路由PUT /accounts/{id}/soft-quota(body 必填soft_byte_quota: N|null);新增 level-3ControlCommand::AccountSetSoftQuota。软配额只告警不阻写,与旧/quota互不清空;旧节点无法解码新命令,混版窗口使用前需全集群升级。 - 缩容 4→3 真进程 e2e:新增
tests/e2e_m3_shrink.sh,覆盖 maintenance → plan → apply/verify → commit 前 rollback → commit 写 topo v4 → 新配置读回 → 旧配置/退役节点 fail-closed;评审加固后用真实二进制 97 PASS / 0 FAIL / 0 SKIP。 - v1.20.0 源码归档修复:v1.20.0 的
Cargo.lock把依赖either误标为不存在的 1.20.0,导致从 tag 构建失败;v1.20.1 已恢复 1.19.0,并通过cargo metadata --locked与聚焦测试。请勿使用 v1.20.0 源码包。 - 未交付:硬字节配额、对象数配额、web 账户/用量 UI、跨账户共享、canonicalization worker;M8 多节点运行时与 Level C 补丁线仍按原计划。
- 兼容性:无破坏性配置变更;topo v4 语义不变;新增 level-3 命令变体,混版窗口内使用软配额配置前必须升级全部节点。
GitHub Release · README:README.md / README.en.md。
v1.20.0Wave2 修复
- DP-2 mesh 入站 TLS 热轮换:新增
Tls::mesh_server_watch()与xl-client::serve_tls_watch,每个入站连接取当前 rustls 配置(ALPN h2,1024 握手并发上限);mTLS client-CA 对新连接生效,旧连接保持旧物料直到自然关闭。测试tls_mesh_inbound3 项。 - 真实滚动 e2e:新增
tests/e2e_dproll.sh(3 节点同版本,A/B 数据 + C witness;PUT/GET/List V1/V2/MPU/版本删除;逐节点 TERM 重启;读不断、sync 写 503 fail-closed),最终树 116 PASS / 0 FAIL;tests/e2e_m9_rolling.sh用 v1.13.1 旧二进制 64 PASS / 0 FAIL / 4 文档化 SKIP。 - 账户写路径改走 Raft:7 个 level-3
ControlCommand(Create/Update/SetQuota/Delete/MemberAttach/MemberSetStatus/UserCreate),apply 按 username 自然键;accounts_api写路由统一经ControlPlane(standalone 与 Raft 同一事务);follower 503 + leader hint;fresh Raft 启动原子写accounts_canonical_v1;OSSCTL3 快照携带账户行。 - 缩容 topology v4 + 离线 apply:
.oss.sys/topo升级 v4(set=/node=/slot=/epoch=/hash=,即使 set 0 也带set=使 v1.19 parser 拒启);只在cluster-shrink commit写入,启动只校验 legacy 三元组不改写,commit 前可回退旧二进制;新增apply/verify/commit/rollback(CRC32C、EC 重建、可续跑、receipt、commit 前重查 namespace、commit 后 rollback 拒绝)。 - 评审修复:移除启动期 eager v2/v3→v4 升级(避免伪造 commit 与破坏回退);
/api/v1/cluster/statusfingerprint 只读磁盘 topo;账户 API HTTP 400/404 文案兼容;Raft 模式下跳过滞后的本地前置检查。 - 未交付:缩容 4→3 loopback e2e、单机→集群(仍为重新灌入)、M8 多节点运行时(lease/worker takeover)、Level C 补丁线 v1.13.2/CMK/三二进制 e2e、软字节配额与跨账户共享、AP 真实 PrivateLink 身份、tier 直读默认关闭。
- 兼容性:无破坏性配置变更;topo v4 由旧二进制 fail-closed,commit 后不支持回退到 v1.19,仅支持 commit 前 rollback;OSSCTL3/level 3 环境仍不可回退到 v1.18 及更早。
GitHub Release · README:README.md / README.en.md。
v1.19.0Wave1 地基
- 数据面(DP-1):NodeHealth 宣告
data_wire_version/topo_epoch/topo_hash;placement v2 对混版对端 fail-closed;ListObjects V1 降级头x-oss-degraded: list-marker与 marker 前进;ListObjectVersions 对旧对端 fail-closed;ListMultipartUploads 降级并集x-oss-degraded: mpu-union;MPU 转发门控。 - 控制面:能力级别 1..3 与 OSSCTL3 快照(不透明扩展区);
ControlCommand::Ext容器(leader 预拒绝未注册 type_id,生产 registry 为空,24 MiB 上限,apply fail-stop)。 - 租户地基:0005/0006 账户 schema、canonical marker
accounts_canonical_v1、standalone 启动回填 v1/v2;OSSCTL3ControlData.accounts/account_members与安装/导出/cutover provenance 校验。 - M8 运行态:九张运行时表以
m8.runstateOSSCTL3 扩展导出/安装(≤64 MiB,语义校验、原子安装、feature 3 门控)。 - 缩容地基:
maintenance = true收容模式;[cluster].epoch+[[cluster.slots]]显式拓扑;cluster-shrink plan只读校验与计划报告。 - 未交付:shrink
apply/verify/commit/rollback、Raft 租户账户 API/命令与 canonicalization worker、M8 多节点运行时、Level C 产品级 Ext 命令、TLS 物料热轮换与数据面真实二进制滚动 e2e。 - 兼容性:无破坏性配置变更;
feature_level范围扩到 1..=3,旧配置缺省 1 行为不变;OSSCTL3/level 3 环境不可回退到 v1.18 及更早;维护模式与[raft]互斥。
GitHub Release · README:README.md / README.en.md。
v1.18.0文档精简
- README:移除「当前进度」、验收脚本、实现计划与版本历史;保留功能、配置、运维与协议章节。
- 英文 README:同步清理,并与中文 README 互链。
- 站点:版本号、下载链接、版本日志与社交预览更新到 v1.18.0。
- 兼容性:无代码、协议、配置或部署变更。
GitHub Release · README:README.md / README.en.md。
v1.17.0架构切片
- 账户 / 身份:多租户账户 MVP(accounts/account_members、状态与桶数配额、派生 ARN 回填、停用账户全链 fail-closed;账户写不参与 Raft);AP 跨账户账户根 principal 与
aws:SourceVpce来源证明;WebIdentity JWKS 热加载、email_verified与按 IP 限流。 - 数据面 / 控制面:DP-0 数据面 wire 版本握手(混版 503
peer_incompatible,探测预算 100ms);M8 运行态 fencing epoch;M7 未映射 REPLICA 对账(管理员列出/点名删除,默认 dry-run);OSSCTL2 导出记录activation_level。 - 存储 / 运维:tier 分块哈希元数据与归档 Range 直读(默认关闭,分块 SHA-256、漂移 fail-closed);CMK 离线
scan/rewrap/delete/trash;Batchpreempted运行态展示与跨账户通知边界。 - 安全:SSE-C MPU 跨节点强制 mesh TLS;
x-amz-replication-status: REPLICA仅在 site token 认证时生效;AP SourceVpce 需显式证明,非 PrivateLink 身份。 - 验证:S3 全量 e2e 38 节 RC=0(含 Kafka 三阶段、双实例复制与 §20 标签);M9 78/59/133/65(rolling 首跑 64/1/4 为高负载轮询超时,重跑 65/0/4);M8 e2e PASS 4633s(Tier=ran + M6/M7 smoke);E2E_LONG 100×100MB 通过(含中断重试);库测试 xl-store 300(1 ignored)/ xl-s3 176 / oss-server 179。
GitHub Release · 验收记录:docs/superpowers/specs/2026-10-23-capability-gaps-acceptance.md §13;架构 backlog:docs/superpowers/specs/2026-10-24-architecture-backlog.md。
v1.16.0backlog 第二轮
- 协议 / 身份:STS
AssumeRoleWithWebIdentity(本地 JWKS、RS256/ES256、严格 iss/aud/kid/exp、RoleArn→claim 映射,默认关闭);S3 Select BZIP2 输入(多流、512MiB 解压预算)。 - 数据面 / 控制面:MPU 跨节点属主路由与流式转发;CMK 安全删除与逐版本 rewrap;OSSCTL2 快照 + LC-0 导出/cutover/force-recover 来源校验;M6
site_token远端同源版本/版本删除/元数据;M8 单例任务 leader 门控。 - TLS / 运维:mesh gRPC 客户端与 Kafka TLS 客户端热加载;tier 暂存清扫、磁盘预留与 0600;AP 可信对端 CIDRS。
- Batch:协作式优先级抢占(同提交者、动作边界、无重复副作用)与跨账户清单授权;优先级限定
-100..=100,新增运行态preempted。 - 安全:独立复审 0 Critical/High,2 Medium(副本误删、跨租户抢占)与 L-1/L-2 已修复复核;M6 SSE-C/KMS 复制永久死信。
- 验证:S3 全量 e2e 38 节 RC=0;E2E_LONG 100×100MB 通过;M8 e2e PASS 4742s(Tier=ran + M6/M7 smoke);M9 78/59/133/65;库测试 282/163/168;fmt/clippy 0 warning。
GitHub Release · 验收记录:docs/superpowers/specs/2026-10-23-capability-gaps-acceptance.md §12;架构 backlog:docs/superpowers/specs/2026-10-24-architecture-backlog.md。
v1.15.0硬化收口
- AP / 账户:AP 匿名(策略与桶策略交集)、账户命名空间 v1、SourceVpc 来源证明、缓存 TTL/负缓存、无策略默认拒绝、旧
*-s3alias回落、XFF hops/CIDR 信任链。 - TLS / 加密:私钥 0600 强制、CA 双信任轮换、主监听器与出站客户端热加载;SSE-KMS 显式 CMK 与命名环轮换(旧版本保留解密)。
- 数据面 / 作业:tier 流式搬运与恢复、Batch 每动作桶通知、多站点版本定向删除与元数据复制、Select Parquet、GC 二次快照、生命周期游标、AbortMPU。
- Inventory:增量水位(节点本地)与跨账户目标(仅管理员可配置,运行期复核源/目标账户)。
- 控制面滚动升级:
BucketSetLifecycleV2正确标记 feature level 2;快照、cutover 与 force-recover 对 level-2 数据 fail-closed。 - 验证:强一致 sync/stretch/recovery/rolling 78/59/133/65 PASS;控制面 e2e PASS(4433s);S3 全量 e2e 38 节 RC=0;库测试 268/150/152;Playwright 9/9。
GitHub Release · 验收记录:docs/superpowers/specs/2026-10-23-capability-gaps-acceptance.md;完整配置与边界见 README。
v1.14.0能力边界清零
- S3:ListObjects v1;UploadPartCopy;ListMultipartUploads(集群并集);GET/HEAD
partNumber;多区间 Range 降级整对象与 HEAD Range;版本控制三态 / Suspended;noncurrent 生命周期;匿名 Principal;Put/GetObjectRetention 与控制台锁状态;s3:ObjectAccessed:*事件。 - TLS:监听器、witness、Raft/mesh、site/repl/tier 出站与 Kafka SASL/SSL 全链路;未配置
[tls]时仍为明文。 - 控制面:Inventory Parquet/Hive;tier 本地冷盘池与远端 GC;生命周期完整 Filter / Date / 多转换与控制台编辑器;Batch/Object Lambda WASM(
olap-wasm);AP DeleteObjects、-s3alias与 SourceIp。 - 强一致:控制面滚动升级兼容窗口(wire/feature 头、
feature_level门控、成员预检、runbook 与 e2e 脚本);数据面仍非滚动。 - 安全:AP 授权/执行一致性、SourceIp fail-closed、匿名审计限速;验收 0 Critical,2 High 已修复复审。
GitHub Release · 验收记录:docs/superpowers/specs/2026-10-23-capability-gaps-acceptance.md;完整配置与边界见 README。
v1.13.1灾备恢复与控制面加固
- force recovery 在初始化后固化基线快照并清理日志,新 learner 从快照取得恢复行。
- Raft RPC 增加 target node id 校验,B′ 复用旧 endpoint 时不再触发 openraft 日志回退 panic。
- 转发的控制写与成员操作同样校验目标节点,stretch 配对身份改为镜像比较。
- cutover dry-run 输出字段级冲突;raft/sync 指标补齐语义说明。
- 11 表三端字段级 diff 与灾备 e2e 纳入验收。
v1.13.0同步强一致
- sync 桶:remote-first PUT/MPU/Copy/删除,统一 origin version id,远端失败返回 503。
- stretch 2×6:两站点各 6 盘,EC 8+4,单站点故障 fail-closed。
- 3-voter Raft 控制面:A/B 数据站点 + C witness,quorum 2,成员变更与 leader 单跳转发。
- 11 表逻辑快照、站点复制到 Raft 的 cutover、raft-export、raft-force-recover、sync-reconcile。
v1.12.0控制面
- 访问点与 Object Lambda,访问点策略与路由。
- S3 Batch Operations、Inventory、分层 Transition 与 Restore。
- 控制台新增访问点、作业、分层、清单、通知、审计与设置页面。
v1.11.0多站点异步复制
- 站点对、LWW 控制面 changelog、快照出货与对象复制 outbox。
- 断连积压、重启追平、marker 与并发同 key 用例。
v1.10.0数据流
- 事件通知与 Kafka 投递、死信与游标状态。
- S3 Select 查询与桶复制。
v1.9.0安全与锁定
- SSE-S3、SSE-KMS 与密钥库,访问密钥加密落库。
- 对象锁、STS 临时凭据与桶策略审计。
v1.8.0扩展包与安全切片
- 扩展包 C1-C5 与集群修复。
- 安全切片 0-2:行一致性、密钥库与加密数据面。
v1.7.0运维与 IAM
- 观测、流式路径、版本控制、heal/scrub、扩容与生命周期。
- 桶策略、审计、多 set 与运维收尾。
更早版本v1.0.0 到 v1.6.0
- v1.6.0:Docker 密钥自动生成落盘,遗留清账。
- v1.5.0:分布式三切片、Docker Compose 与控制台改造。
- v1.4.0:权限体系三面授权,多盘与 EC 收束。
- v1.3.0:S3 协议补全,Content-MD5、checksum、Range 与 response-content-*。
- v1.2.1 / v1.2.0:依赖升级与 aetherupload 协议迁移。
- v1.1.0 到 v1.1.2:Multipart、Range GET、流式 PUT、元数据与孤儿回收,项目命名吞吞。
- v1.0.0:单盘对象存储内核、S3 CRUD 与 SigV4。