Skip to content

Migration: v0.18.2 → v0.19.0

Summary

v0.19 introduces a semantic transaction layer (ontocore-edit) as the apply path for Turtle and OBO patch write-back. Existing patch JSON wire formats are unchanged.

What changed

Semantic transactions

  • New crate: crates/ontocore-edit
  • Transaction wraps ordered SemanticChange values (Turtle PatchOp / OBO OboPatchOp)
  • LSP ontocore/applyAxiomPatch and CLI ontocore patch route through Transaction::apply_to_text
  • Legacy patch JSON arrays remain accepted
  • Optional forward envelope: { "transaction": { "changes": [...] } }

Parity program baseline

  • Frozen parity scope (docs/protege-parity/PARITY_SCOPE.md)
  • Machine-readable manifest: parity/protege-desktop-parity.yaml
  • CI validator: scripts/validate-parity-manifest.py
  • GitHub epics EPIC-001…011 linked from manifest and docs/protege-parity/07_BACKLOG/EPIC_INDEX.md

What did not change

  • Patch operation names and fields (see Patch reference)
  • RDF/XML and OWL/XML write-back (still read-only; planned v0.21)
  • Extension UI undo (VS Code text undo; transaction invert() is available for programmatic undo)

Upgrade steps

  1. Bump OntoCode extension and ontocore CLI to 0.19.0
  2. No migration of saved patch payloads required
  3. Library consumers: prefer ontocore_edit::Transaction over calling apply_patches_to_text directly for new code