已完成大版本回顾(非 roadmap)。跨度为 v0.2.0 → v0.2.18,结束于 2026-09-12。
定位
实现层整体重写 + 生态成形:把 v0.1 的 Go 实现替换为「Rust layout + C runtime」,并把 KVSpace 抽成独立多后端生态。
规模
- 时间:2026-08-19(v0.2.0)→ 2026-09-12(v0.2.18)
- 501 commits,19 个 tag(v0.2.0 … v0.2.18)
成果
一、架构重写(v0.2 主线)
- Go runtime 归档为
oldhero/;runtime 切 C(CMake)
- layout 下沉为独立 Rust crate(
libkvlanglayout.so + CLI,后出 cdylib / C ABI)
runtime-rs(原 term)升格为顶层 Rust runtime(kvlang CLI)
- rwirext 按语言拆分(go / py / rust),
runtime-rwirext_example 定位为示例扩展
- 执行模型定型:PC 是 KV 路径字符串(可崩溃恢复);
lib/rwfunc/rwir 三层
二、KVSpace 生态
- dispatch 前端:统一链
libkvspace,运行期按 DSN 选后端(编译期不再切后端)
- ABI 命名统一为 PascalCase(30 符号);扩展常量收敛到
const.h
- 两个后端:
kvspace-c(shm,ART + slotsboxmalloc)、kvspace-durable(Rust,redis / fs)
- 四仓 tag 同步;ABI 产物发布(release.yml +
deps.sh + deps.json)
三、XValue 收敛
- 线格式:TLV → 单一 kindexpr 字符串 → 三正交轴
ref × storetype × langtype
- head codec 跨 ABI 一致(含
@ 扩展世界、Ptr、None)
- memindex v2:
dims=[len, cap, M](align8 + 扩容)
ndarray 取代早期 array 概念
四、语言特性
· 作成员符号(支持小数 key)
- 数组字面量规约:
[] compact 定长、{} 散 key 变长
- 三引号多行字符串、字符串转义
- 具名 struct(
/lib/Point)、obj / map 分离、[]obj / []map
- 空指针即
None;局部变量去 ./ 前缀
五、stdlib 与扩展
kvspace·* 内建(原 kv·*)、xv·*、string/time/duration 等
- json 扩展(多次修复:member 分隔符、NUL、数值往返、顶层非 object)
- numpy 单文件引擎(op-gpu 雏形)、term / http / networld
六、工程与发布
- 三后端(shm / fs / redis)tutorial 回归;shm 与 fs 并入 CI 并行 job
- benchmark 冻结契约 + CSV 快照(每版本一份)
- 双平台 release:
linux-x86_64 + darwin-arm64,自包含(带全部依赖 .so/.dylib + 头文件)
- macOS 移植:6 仓 macOS CI,Linux-only 用法逐项收敛
七、规范驱动
stdlib/kvlang/spec/ 成为唯一真相源(84 章,kvlang 自身书写并 layout 进 /lib)
- tutorial 210 例作为一致性测试;「spec 与实现冲突时 spec 为准」
结束状态
v0.2.18:三后端一致、双平台可发布、依赖自包含、spec 驱动、CI 覆盖 shm/fs/macOS。
遗留(转入 v0.3 / v0.4)
- 性能仍在「每指令一次 KV 往返」的地板价上(见 [Roadmap] v0.3)
- XValue head 结构重定、形式化验证、权限系统等属长期议题(见 [Roadmap] v0.4)
归档说明
本 issue 为历史回顾,不再更新;各 patch 的 ABI 资产保留在 Releases 页。
已完成大版本回顾(非 roadmap)。跨度为
v0.2.0→v0.2.18,结束于 2026-09-12。定位
实现层整体重写 + 生态成形:把 v0.1 的 Go 实现替换为「Rust layout + C runtime」,并把 KVSpace 抽成独立多后端生态。
规模
成果
一、架构重写(v0.2 主线)
oldhero/;runtime 切 C(CMake)libkvlanglayout.so+ CLI,后出 cdylib / C ABI)runtime-rs(原 term)升格为顶层 Rust runtime(kvlangCLI)runtime-rwirext_example定位为示例扩展lib/rwfunc/rwir三层二、KVSpace 生态
libkvspace,运行期按 DSN 选后端(编译期不再切后端)const.hkvspace-c(shm,ART + slotsboxmalloc)、kvspace-durable(Rust,redis / fs)deps.sh+deps.json)三、XValue 收敛
ref × storetype × langtype@扩展世界、Ptr、None)dims=[len, cap, M](align8 + 扩容)ndarray取代早期 array 概念四、语言特性
·作成员符号(支持小数 key)[]compact 定长、{}散 key 变长/lib/Point)、obj / map 分离、[]obj/[]mapNone;局部变量去./前缀五、stdlib 与扩展
kvspace·*内建(原kv·*)、xv·*、string/time/duration等六、工程与发布
linux-x86_64+darwin-arm64,自包含(带全部依赖 .so/.dylib + 头文件)七、规范驱动
stdlib/kvlang/spec/成为唯一真相源(84 章,kvlang 自身书写并 layout 进/lib)结束状态
v0.2.18:三后端一致、双平台可发布、依赖自包含、spec 驱动、CI 覆盖 shm/fs/macOS。
遗留(转入 v0.3 / v0.4)
归档说明
本 issue 为历史回顾,不再更新;各 patch 的 ABI 资产保留在 Releases 页。