v0.9.3 — Usability Enhancements, Documentation & Bug Fixes
v0.9.3 — Usability Enhancements, Documentation & Bug Fixes
Overview
28 issues resolved across a comprehensive CLI audit and full integration test pass. All 31 CLI commands verified end-to-end. Test suite: 3291 passed, 0 failed.
Bug Fixes (21 CLI issues, #21–#44)
| Area | Fix |
|---|---|
| Encryption | pyo3_runtime.PanicException not caught in AEAD backends; lazy imports now wrapped in except BaseException |
| CLI dispatch | merkle / wire / delta / verify silently printed root help — missing handler=callable in 13 set_defaults calls |
| stream | File paths passed to merge_stream() instead of loaded records; ProgressBar("label") positional arg bug |
| json merge-lines | File paths passed to merge_json_lines() instead of loaded lists |
| dedup | Tuple return from dedup_records() not unpacked; invalid key= kwarg |
| merkle diff/compare | MerkleDiff is not iterable — was treated as list |
| clock create | VectorClock(node_id=...) invalid; increment() is immutable |
| encrypt/decrypt | EncryptedValue.encrypt() does not exist; wrong backend names; short key crash |
| migrate | cli_migrate() called with kwargs instead of argv list |
| rbac | Role.has_permission() incorrect flag membership check |
| gossip sync | anti_entropy() received GossipState objects instead of digest dicts |
| verify crdt | Wrong module crdt_merge.crdts → crdt_merge.core; wrong API |
| query | engine.execute(ast) instead of engine.execute(query_string); wrong EPILOG examples |
| wire serialize | crdt_merge.crdts → crdt_merge.core for typed CRDT serialization |
| hub push/pull | hub.push() / hub.pull() do not exist — replaced with HfApi direct calls |
| hub merge | Wrong kwargs, invalid progress_callback, progress.close() → progress.finish() |
Test Infrastructure (4 issues, #45–#48)
- AEAD skip detection: functional probe replaces
pytest.importorskip— 44 tests skip cleanly vs erroring - test_cli_migrate: case-sensitive
"Usage:"and wrong stream for error assertions - benchmarks: conftest excludes non-pytest benchmark helpers from collection
Stats
Tests: 3,291 passed | 74 skipped (AEAD env) | 0 failed
CLI: 31/31 commands fully functional
Issues: 28 filed and resolved (#21-#48)
Commits: 7 (encryption, CLI, hub, wire, query, tests, release)