[1.0.2] - 2026-08-19
ADR-0004「挪动收敛为单一安全 move 内核」首批随版(源自 issue #181 两份 E2E
复盘)。CLI 侧:schMoveKernel 五步管线(快照→删证回读→snap 移动→快照重连→
电气对账,失败自动恢复、目标页失效 fail-closed),group-move/zone move/
zone-arrange/relayout/**destagger(解禁)**五命令收敛为内核调用方,
group-move --groups 多子组一次整体移动;--zone/--group 统一命名空间
(一张注册表+来源标签,报错列全量可用名);dry-run 纯计算机械保证(派发层
拒 Mutates)。连接器侧两条见下。
Fixed
pcb.component.modify解锁假成功(#174):平台modify()的真实锁字段是
primitiveLock,而我们的读侧(pcb list)一直报locked,调用方自然传
{"locked":false}—— 平台静默忽略未知键仍返回成功(真机 22/22 报 ok、
reload 后 22/22 仍锁定)。现在:(1) patch 归一化,locked/lock别名映射到
官方键primitiveLock,契约外的未知键硬报错(不再允许静默 no-op);
(2) 每次写后新鲜回读逐字段核对(modify 返回对象会回显输入,不可信),结果
带verified+applied/notApplied/unverified;(3) 回读发现锁写被丢时
自动改走setState_PrimitiveLock+done()写路径(pcb.track.lock验证过
的模式)重试并再核对(lockFallback:true);(4) 按 #151 部分应用约定:画布
已变(部分字段落地)返回 ok + 结构化notApplied,零字段落地才报 ERROR。
Added
-
schematic.component.delete级联清理(ADR-0004 Decision 5):删件后自动
找出只挂在被删件 pin 上的桩线树(union-find 共点归树 + 点到线段锚定,与
bridge-check 同一套判定)以及挂在这些树上的 netflag/netport/netlabel,一并
删除并回读证实。树若还触及任何存活器件的 pin 即视为共享,绝不删;被删件
自身残留(删除撒谎)时其树也整体跳过。结果新增
cascaded: {wires:[ids], flags:[ids]}(只列回读证明已删的 id);级联删除
撒谎的存活 id 按 #151 部分应用约定计入notApplied(ok 保持 true + warning)。
根治「删件残留桩线/旗被后放件静默继承网名」的幽灵连接(v1.0.1 的 orphan-tree
判据只能事后抓,现在事前防)。CLI 渲染点(prim-delete / block-apply 回滚)
带一行「级联清理 N 桩线 M 旗」。 -
schematic.component.delete新 payload 字段cascade:false(退路):保持
旧行为(只删组件本体,不碰桩线/旗)——自己管整树删除的调用方(如 ADR-0004
的 move 内核)必须传它,避免级联与内核的整树管理相互踩踏。默认cascade:true。 -
pcb.component.lock— 批量组件锁定/解锁(#174):输入primitiveIds[]+
locked,走专用setState_PrimitiveLock+done()写路径,写后新鲜回读逐件
核对;结果applied/alreadyInState/notApplied/missing+verified。
幂等(已在目标状态的只计数不重写);全部未落地时报 ERROR 而非假成功。CLI:
easyeda pcb lock --ids id1,id2 [--unlock]/easyeda pcb lock --all --unlock
(整板批量释放,--all 由 CLI 读活板 component 列表展开)。
Already installed? Upgrade in place:
easyeda update # CLI binary (sha256-verified) + skill dirs
easyeda update --check # report only
First install:
curl -fsSL https://raw.githubusercontent.com/zhoushoujianwork/easyeda-agent/main/install.sh | sh
Installs/updates:
- easyeda CLI/daemon
- easyeda-agent skill for Codex (
/.codex/skills) and/or Claude Code (/.claude/skills) when detected - prints EasyEDA connector .eext import URL
The connector .eext is never auto-updated for sideloads — easyeda update reports a stale one and prints the re-import URL.
Skill targets: set EASYEDA_INSTALL_SKILLS=codex,claude to force targets, none to skip, or EASYEDA_SKILL_PRESERVE=1 to keep local edits.
checksums.txt lists sha256 for every asset above.