Skip to content

v0.9.4 — Ironclad Release

Choose a tag to compare

@mgillr mgillr released this 06 Apr 19:28
· 229 commits to main since this release

What's New in v0.9.4

Phase 1 — 7 Code Fixes

  • encryption.py: Fixed circular import via TYPE_CHECKING guard + lazy runtime import inside merge_encrypted()
  • duckdb_udf.py: Implemented real DuckDB UDF registration — crdt_merge_json, crdt_diff_json, crdt_strategy scalar UDFs with full unregister() support
  • model/gpu.py: Added explicit torch.cuda.synchronize() barrier before detach().cpu() to prevent data corruption on async GPU ops
  • mergeql.py: Replaced regex-only WHERE evaluator with recursive descent supporting IS NULL/NOT NULL, LIKE, IN (...), parenthesised sub-expressions, <> alias
  • schema_evolution.py: Added list[T] type widening rules, ColumnRename dataclass, rename_column() method on SchemaEvolutionResult, register_widening() runtime API
  • compliance.py: Added register_compliance_rule() extensibility hook — per-framework custom rule registry called during validate()
  • model/pipeline.py: Implemented PipelineCheckpoint class with persist/load/clear; MergePipeline.execute() skips checkpointed stages on restart

Phase 2 — 38 New Test Files (+820 tests)

4185 tests passing, 14 skipped (AES-GCM-SIV requires cryptography≥42)

  • 14 CLI command tests (merge, json, query, verify, merkle, wire, delta, clock, gossip, model, hub, enterprise, observe, config)
  • 2 CLI infrastructure tests (OutputFormatter, shell completions)
  • 6 accelerator tests (dbt_macro, duckdb_udf, polars_plugin, sqlite_ext, flight, streamlit)
  • 9 model sub-module tests (federated, GPU with mocked torch, LoRA, safety, heatmap, formats, continual, model_card, datasets)
  • 6 property-based tests with Hypothesis (model_strategies, encryption roundtrip, gossip/merkle convergence, RBAC/audit security, schema_evolution, wire_all_types)
  • test_concurrent_safety.py — MetricsCollector, RBACController, AuditLog, ORSet under 8-thread concurrent load

Phase 3 — Documentation

  • docs/api-reference/mergeql-bnf.md — Full BNF grammar reference for MergeQL (all operators, clauses, examples)
  • docs/guides/model-crdt-matrix.md — 30-strategy CRDT property matrix (commutativity × associativity × idempotency × N-way safety)
  • docs/api-reference/cli/commands.md — Complete CLI command reference
  • docs/guides/security-hardening.md — Production hardening guide (key rotation, RBAC design, AES-GCM-SIV vs AES-GCM, GDPR/SOX/HIPAA checklist)

Upgrade

pip install crdt-merge==0.9.4