Skip to content

[Release] v0.2 大版本回顾:实现层重写(Rust layout + C runtime)与生态成形 #334

Description

@miaobyte

已完成大版本回顾(非 roadmap)。跨度为 v0.2.0v0.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 cratelibkvlanglayout.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 快照(每版本一份)
  • 双平台 releaselinux-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 页。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    RELEASE版本发布总结/回顾(已完成版本的归档)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions