Skip to content

Releases: jixoai/opendweb

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 03:43

Windows artifacts (dweb-server exe + napi dll) for this tag are built fresh by the release workflow and ship inside the npm tarballs.

npm packages (versions at this tag)

npm package version
`opendweb` 0.5.0
`@jixo/opendweb-server-binary` 0.5.0
`@jixo/opendweb-client-sdk` 0.6.0
`@jixo/opendweb-example` 0.5.0
`@jixo/opendweb-config` 0.1.0
`@jixo/opendweb-ext-cf` 1.0.3

Changes since v0.5.0

opendweb (CLI)

  • feat(cli): [server.access] 配置段贯通 —— config-file schema/startServer env/CLI 链(task 1.3 收口)

@jixo/opendweb-client-sdk

  • fix(kernel): R3 复核处置 —— install 全路径 closing 闸门 + 条件激活 + watcher 注册竞速闭合
  • fix(kernel): R2 复核处置 —— 终态提交条件化 + closing 闸门 + server.close 流式收敛
  • fix(kernel): R1 复核处置 —— 七项 P1 全闭(NO-GO 6.2 → 复验)
  • feat(kernel): 0.6.0 第二轮 —— fetch 侧取消 + close 传输终结 + canonical 释放
  • feat(sdk): 0.6.0 生命周期信号族 —— sessionId/signal/writer 三态 + resume owner 守卫
  • feat(sdk): RelayOptions.relays + deny reason 透出(task 2.5)

@jixo/opendweb-server-binary

  • feat(cli): [server.access] 配置段贯通 —— config-file schema/startServer env/CLI 链(task 1.3 收口)
  • feat(server): Phase1-B 验证链执行点接线 —— on_connect L1/L1b/L2 + callback provider + limits + services server_id(tasks 1.5/1.5b/1.7/1.8)

fabric kernel & server (crates)

  • fix(kernel): R3 复核处置 —— install 全路径 closing 闸门 + 条件激活 + watcher 注册竞速闭合
  • fix(kernel): R2 复核处置 —— 终态提交条件化 + closing 闸门 + server.close 流式收敛
  • fix(kernel): R1 复核处置 —— 七项 P1 全闭(NO-GO 6.2 → 复验)
  • test(fabric): s6c 全局旋钮 panic 安全复位(drop guard——断言失败不毒化同二进制后续测试)
  • test(fabric): clear_stale_deny_note 提取为可测函数 + 三态单测(复核 P1 补测)
  • feat(kernel): 0.6.0 第二轮 —— fetch 侧取消 + close 传输终结 + canonical 释放
  • fix(fabric): 残留过期 member capability 阻塞新邀请 join —— load 侧过期丢弃 + join 起点 deny 清零(云端 S4 实证回归)
  • feat(sdk): 0.6.0 生命周期信号族 —— sessionId/signal/writer 三态 + resume owner 守卫
  • feat(server): Phase3-B unregister 存量断连 —— Clients::disconnect 零 fork 踢存量(task 3.2b)
  • feat(server): Phase3-A admin API + per-owner 连接配额(tasks 3.1/3.2a)
  • feat(server): 云端走查工具 —— cloud_story example + sap-verify 一键脚本 + 走查手册
  • style(fabric): continuity 预存 clippy/fmt 债务清零 —— 全包 -D warnings 门禁可用
  • test(server): 故事级 e2e —— restricted 全链路故事 S1-S8(task 2.7)
  • feat(sdk): RelayOptions.relays + deny reason 透出(task 2.5)
  • style(fabric): Phase2-A 收口 —— clippy/fmt 门禁清零 + 实现裁定回写
  • feat(fabric): Phase2-A InviteV2/REDEEM_OK2/root 自签/RelayConfig per-relay capability(tasks 2.1-2.4)
  • fix(server): 实现复核 R1 收口 —— disconnect 超时上界/缓存容量门/singleflight 自愈/权限告警 + spec 同步
  • feat(server): Phase1-C rendezvous ACL + e2e 集成矩阵 —— restricted 双面 ACL + 黑盒真 relay 矩阵(tasks 1.6/1.9)
  • feat(server): Phase1-B 验证链执行点接线 —— on_connect L1/L1b/L2 + callback provider + limits + services server_id(tasks 1.5/1.5b/1.7/1.8)
  • feat(server): Phase1-A 访问控制核心数据层 —— identity/registry/capability/配置面(tasks 1.1-1.4)

docker & infra

  • docs(spec): Phase3-C 续期/peer_scope 评估结论 + 多平台矩阵 + Docker/WALKTHROUGH 更新(tasks 3.3/3.4)
  • feat(server): 云端走查工具 —— cloud_story example + sap-verify 一键脚本 + 走查手册

Upgrade

npx opendweb@0.5.0 server   # or: npm i -g opendweb@0.5.0
npm i @jixo/opendweb-client-sdk@0.6.0        # Node SDK

Docker

docker run -d -p 8787:8787 -p 3340:3340 ghcr.io/jixoai/opendweb:0.6.0

Images for every tag built before the repo rename live under ghcr.io/gaubee/dweb (historical tags remain pullable); current builds publish under ghcr.io/jixoai/opendweb.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 16:57

Windows artifacts (dweb-server exe + napi dll) for this tag are built fresh by the release workflow and ship inside the npm tarballs.

npm packages (versions at this tag)

npm package version
`opendweb` 0.5.0
`@jixo/opendweb-server-binary` 0.5.0
`@jixo/opendweb-client-sdk` 0.5.0
`@jixo/opendweb-example` 0.5.0
`@jixo/opendweb-config` 0.1.0
`@jixo/opendweb-ext-cf` 1.0.3

Changes since v0.4.3

opendweb (CLI)

  • chore(release): v0.5.0 —— 会话连续性内核(app-protocol-layer R1-R6)+ B1/B2 流式承载面
  • test(opendweb): 并发停止回归断言增强——单飞中间态 + 真实 CLI 双信号(复审 6.2)
  • fix(opendweb): 近层错身份目录遮蔽外层合法副本时受控转向已验证期望根(复审 6.1)

@jixo/opendweb-ext-cf (Cloudflare Tunnel plugin)

  • test(ext-cf): pack:dry 升级 clean-tar 消费者导入门禁 —— tarball 解包进空消费者后双 exports 面真实 import(plugin-marketplace 7.2)
  • test(ext-cf): stale-record 生命周期回归 —— _testLifecycle 白盒注入面构造「active 记录指向已退出 child」(plugin-marketplace 7.1)

@jixo/opendweb-client-sdk

  • chore(release): v0.5.0 —— 会话连续性内核(app-protocol-layer R1-R6)+ B1/B2 流式承载面
  • fix(fabric): 复评 7.2 三项修复 —— head 超时 RESET 真正上线(async 化)/ RESET 唤醒注册前竞态 / RecvWindow 按段交付(分块边界不变量落实)
  • fix(fabric): B1/B2 复评 P0 修复 —— RESET 即时唤醒挂起响应流 + head 超时发 RESET + 分块边界契约冻结
  • feat(sdk+fabric): B1/B2 承载面 —— respondStreaming 流式响应 / per-request abort(RESET 链) / headTimeoutMs 可配
  • fix(fabric): R6 收尾 —— 两阶段 RESUME_OK 提交 / cached 恢复 Active / INIT_OK 零值校验 / tombstone 有界 / send 侧名额完整性(Codex max 实现 + 编排者收尾)
  • fix(fabric): R5 恢复事务收口 —— decision/install CAS 绑定 / lease 外有界发送 / RESUME wire 全载荷+epoch CAS / gap 字节硬上限 / 生命周期回收+single-flight / 发送面 Session 视图(Codex max 实现轮)
  • fix(fabric): R4 恢复硬化收口 —— transition lease 串行化/InstallPolicy 接线/INIT canonical 收敛/wire 校验/previous 回归冻结设计(Codex max 实现轮)
  • fix(fabric): R3 硬化轮 —— 恢复单胜 ResumeCtl 单锁/epoch fencing/INIT wire 全载荷/入站资源门(Codex 5.5/10 四 P0 闭合)
  • fix(sdk): B6 —— close 后晚到 handler 结算幂等静默(§3.4 late completion)
  • fix(fabric): Phase 2 硬化轮 —— Codex 4.5/10 复核全部阻塞项闭合
  • feat(sdk): SessionHandle/fetchHttp/serveHttp N-API 绑定 + 五子路径 exports(Phase 3 task 4.2)

@jixo/opendweb-server-binary

  • chore(release): v0.5.0 —— 会话连续性内核(app-protocol-layer R1-R6)+ B1/B2 流式承载面

@jixo/opendweb-example

  • chore(release): v0.5.0 —— 会话连续性内核(app-protocol-layer R1-R6)+ B1/B2 流式承载面

fabric kernel & server (crates)

  • fix(fabric): 复评 7.2 三项修复 —— head 超时 RESET 真正上线(async 化)/ RESET 唤醒注册前竞态 / RecvWindow 按段交付(分块边界不变量落实)
  • fix(fabric): B1/B2 复评 P0 修复 —— RESET 即时唤醒挂起响应流 + head 超时发 RESET + 分块边界契约冻结
  • feat(sdk+fabric): B1/B2 承载面 —— respondStreaming 流式响应 / per-request abort(RESET 链) / headTimeoutMs 可配
  • fix(fabric): R6 收尾 —— 两阶段 RESUME_OK 提交 / cached 恢复 Active / INIT_OK 零值校验 / tombstone 有界 / send 侧名额完整性(Codex max 实现 + 编排者收尾)
  • fix(fabric): R5 恢复事务收口 —— decision/install CAS 绑定 / lease 外有界发送 / RESUME wire 全载荷+epoch CAS / gap 字节硬上限 / 生命周期回收+single-flight / 发送面 Session 视图(Codex max 实现轮)
  • fix(fabric): R4 恢复硬化收口 —— transition lease 串行化/InstallPolicy 接线/INIT canonical 收敛/wire 校验/previous 回归冻结设计(Codex max 实现轮)
  • fix(fabric): R3 硬化轮 —— 恢复单胜 ResumeCtl 单锁/epoch fencing/INIT wire 全载荷/入站资源门(Codex 5.5/10 四 P0 闭合)
  • fix(fabric): Phase 2 硬化轮 —— Codex 4.5/10 复核全部阻塞项闭合
  • feat(sdk): SessionHandle/fetchHttp/serveHttp N-API 绑定 + 五子路径 exports(Phase 3 task 4.2)
  • feat(fabric): HTTP/WS 引擎架在 Session 层(Phase 3 task 4.1)
  • feat(fabric): SESSION_INIT/RESUME 会话协议 + 故障注入验收(Phase 2 tasks 3.1-3.5)
  • feat(fabric): continuity 连接状态面 + raw transport(Phase 1 tasks 2.1/2.2/2.4)
  • feat(fabric): continuity wire 编解码 + 去重/journal 语义模型(Phase 0 task 1.1)
  • feat(spike): app-protocol-layer Phase 0 五项 iroh probe —— 全部支持现行设计

docker & infra

  • fix(release): npm 钉 11 大版本 —— npm@latest 已升 12.0,pack --json 输出结构变化致 ext-cf pack:dry 空数组崩溃(v0.5.0 首跑实证;OIDC 需 >=11.5 不变)

Upgrade

npx opendweb@0.5.0 server   # or: npm i -g opendweb@0.5.0
npm i @jixo/opendweb-client-sdk@0.5.0        # Node SDK

Docker

docker run -d -p 8787:8787 -p 3340:3340 ghcr.io/jixoai/opendweb:0.5.0

Images for every tag built before the repo rename live under ghcr.io/gaubee/dweb (historical tags remain pullable); current builds publish under ghcr.io/jixoai/opendweb.

v0.4.3

Choose a tag to compare

@github-actions github-actions released this 12 Sep 05:48

Windows artifacts (dweb-server exe + napi dll) for this tag are built fresh by the release workflow and ship inside the npm tarballs.

npm packages (versions at this tag)

npm package version
`opendweb` 0.4.2
`@jixo/opendweb-server-binary` 0.4.3
`@jixo/opendweb-client-sdk` 0.4.3
`@jixo/opendweb-example` 0.4.3
`@jixo/opendweb-config` 0.1.0
`@jixo/opendweb-ext-cf` 1.0.3

Changes since v1.0.3-cf

opendweb (CLI)

  • fix(release): repository.url Gaubee/dweb → jixoai/opendweb — npm provenance 校验要求与 trusted publishing 配置对齐(v0.4.3 发布实测 E422)

@jixo/opendweb-ext-cf (Cloudflare Tunnel plugin)

  • fix(release): repository.url Gaubee/dweb → jixoai/opendweb — npm provenance 校验要求与 trusted publishing 配置对齐(v0.4.3 发布实测 E422)

@jixo/opendweb-client-sdk

  • fix(release): repository.url Gaubee/dweb → jixoai/opendweb — npm provenance 校验要求与 trusted publishing 配置对齐(v0.4.3 发布实测 E422)
  • release: v0.4.3 — fabric relay failover hardening 进入 SDK/服务线

@jixo/opendweb-server-binary

  • fix(release): repository.url Gaubee/dweb → jixoai/opendweb — npm provenance 校验要求与 trusted publishing 配置对齐(v0.4.3 发布实测 E422)
  • release: v0.4.3 — fabric relay failover hardening 进入 SDK/服务线

@jixo/opendweb-example

  • fix(release): repository.url Gaubee/dweb → jixoai/opendweb — npm provenance 校验要求与 trusted publishing 配置对齐(v0.4.3 发布实测 E422)
  • release: v0.4.3 — fabric relay failover hardening 进入 SDK/服务线

@jixo/opendweb-config

  • fix(release): repository.url Gaubee/dweb → jixoai/opendweb — npm provenance 校验要求与 trusted publishing 配置对齐(v0.4.3 发布实测 E422)

fabric kernel & server (crates)

  • fix(fabric): relay failover hardening — invite 携带活 relay + join 拨号候选合并 + 会话自动重连

docker & infra

  • ci: one-off ghcr namespace migration workflow (gaubee/dweb → jixoai/opendweb)
  • feat: presentation-layer rename dweb → OpenDWeb — site brands/URLs, docker image namespace (ghcr.io/jixoai/opendweb), monorepo+site package names, README/EXAMPLE brand layer; technical identifiers (DWEB_* env, dweb1. prefixes, crates) unchanged pending Owner decision
  • fix(ci): derive SITE_CNAME from the mode step — GHA loose equality makes null==false, so inputs-derived flags misfire on push events
  • fix(ci): SITE_CNAME expression missed the cname-by-default mode (push events wrote no CNAME)
  • feat(release,website): post-publish GitHub Release job + release-current dispatch (v0.4.2 cut); logical-network narrative bilingual copy
  • feat(website): Chinese locale mirror (/zh/), language-switcher locked, zh-aware deploy checks
  • fix(ci): the opendweb rename missed the workflow's subpath default (site_base)
  • fix(website): track the opendweb repo rename — base path /opendweb, Pages URL, llms siteUrl
  • feat(website): official dweb site — registry-bootstrapped static site (hue 95, Owner-pinned direct logo), base-path Pages workflow, llms.txt export

Upgrade

npx opendweb@0.4.2 server   # or: npm i -g opendweb@0.4.2
npm i @jixo/opendweb-client-sdk@0.4.3        # Node SDK

Docker

docker run -d -p 8787:8787 -p 3340:3340 ghcr.io/jixoai/opendweb:0.4.3

Images for every tag built before the repo rename live under ghcr.io/gaubee/dweb (historical tags remain pullable); current builds publish under ghcr.io/jixoai/opendweb.

v0.4.2

Choose a tag to compare

@Gaubee Gaubee released this 06 Sep 08:04

Current release of the opendweb CLI and the dweb application-level networking stack. This is the first GitHub Release on this repository — it documents the published state of all npm packages; automated release notes (.github/workflows/release.yml) take over from the next tag.

npm packages (published versions)

npm package version role
opendweb 0.4.2 Server CLI — npx opendweb server starts the self-hosted gateway (8787) + relay (3340); plugin marketplace host
@jixo/opendweb-server-binary 0.3.2 Server binary wrapper used by the CLI; also exposes a programmatic startServer()
@jixo/opendweb-client-sdk 0.3.2 Node SDK for embedding fabrics in your own app (napi-rs; darwin-arm64 / win32-x64)
@jixo/opendweb-example 0.3.2 Reference two-process client CLI (init / invite / join / chat)
@jixo/opendweb-config 0.1.0 definePlugin helper for local plugin files (runtime-agnostic: deno / bun / node)
@jixo/opendweb-ext-cf 1.0.3 Cloudflare Tunnel plugin: ingress push via API, DNS routing, end-to-end verification, optional cloudflared co-spawn

Windows artifacts (dweb-server exe + napi dll) are built fresh by the tag workflow (mingw cross-compilation) and ship inside the npm tarballs — no separate download needed.

What this stack does

Multi-device applications form logical networks — like game rooms, not a system-level VPN:

  • Identity — Ed25519 EndpointId: stable identity decoupled from network addresses (z-base-32 display form)
  • Roster — signed facts (Genesis/Grant/Join/Revoke), content-addressed (BLAKE3), union-merge convergence; controlled, invite-based joins (issuer-online single redemption: challenge-response PoP + invite_id CAS consumption)
  • Session — iroh 1.1: QUIC direct + NAT traversal, self-hostable relay fallback; dual ALPN (regular/redeem); gating on both sides (gate before data); per-frame resource caps
  • Sync — opaque envelopes, bidirectional (Automerge adapter planned as a separate change)

Highlights of the 0.4.x line

  • opendweb@0.4.2 (tag v1.0.1-cli content): plugin installs pin @latest explicitly — an ancestor-directory package.json with a stale dependency range can no longer hijack version resolution
  • @jixo/opendweb-ext-cf 1.0 (tags v1.0.0-cf … v1.0.3-cf): discovery-driven rewrite — browser login / one API token, SDK-backed control plane, managed cloudflared, whole-block/single-entry token paste UX; Codex-reviewed remediation round (SDK leaf imports, config-merge PUT, OAuth persistence contract, install-path and race fixes); v0.4.0 split connector vs management credentials (live 401 fix)

Upgrade

npx opendweb@0.4.2 server          # or: npm i -g opendweb@0.4.2
npm i @jixo/opendweb-client-sdk@0.3.2   # Node SDK

Docker

docker run -d -p 8787:8787 -p 3340:3340 ghcr.io/jixoai/opendweb:0.4.2

ghcr.io/jixoai/opendweb is the image home: v0.4.2 originally shipped from the pre-rename namespace ghcr.io/gaubee/dweb, and every historical tag has since been migrated there (digests unchanged). The old location still resolves, but point pulls at the new one.

Verify a running server

curl http://localhost:8787/healthz         # -> 200
curl http://localhost:8787/services.json   # -> service manifest (relay auto-discovery)

End-to-end regression manual: EXAMPLE.md (中文版).