Skip to content

Migration: v0.26.0 → v0.26.1

v0.26.1 is a patch on the Protégé Desktop behavioral test-port release: OWL Inspector write-back matching, annotation/range/XML mutate safety, reasoner/SWRL/DL Query honesty, plugin + ROBOT path-jail hardening, and LSP/editor/catalog fixes. See CHANGELOG and the v0.26 overview in migration/v0.26.md.

What changed

OWL remove / match semantics (#408)

  • XML/Horned Remove* ops take full AnnotatedComponents (including axiom annotations) so annotated removals no longer silently no-op (#382)
  • SameIndividual / DifferentIndividuals / InverseObjectProperties / HasKey / DisjointUnion (and related property lists) match as sets / both orders for Inspector pairwise cards (#331, #334, #351)
  • AddHasKey uses DataProperty when the property is declared as one (#332)
  • Turtle Disjoint*Properties write-back emits full pairwise closure instead of adjacent windows(2) (#394)

Annotation / range / XML write-back (#409)

  • RemoveRange matches faceted/Manchester DataRanges; AddRange errors on parse failure instead of inventing a datatype (#333)
  • Known DeclareDatatype / DatatypeDefinition IRIs treated as data fillers; facet parse errors surface (#335)
  • XML write-back sets applied only when serialize output changes (#337)
  • XML mutate rejects unsafe IRIs like Turtle (#338)
  • Entity/ontology annotation remove matches IRI-valued annotations (#339)
  • Axiom annotation errors whenever multiple axioms match (#340)
  • Turtle RemoveAxiomAnnotation matches annotation values exactly (#349)
  • OWL/XML load/write-back/remap refuse incomplete parses like RDF/XML (#383)

Reasoner / SWRL / DL Query honesty (#410, #411)

  • SWRL inject skips and consistency/realization signals report more honestly when rules or engines cannot fully apply
  • DL Query equivalents use asserted/equivalents_of + taxonomy clusters; exclude equivalents from Sub/Super; asserted instances under equivalence; realize errors → warnings; CLI --workspace clap layout fix

Plugin host + ROBOT / path jail (#412, #415)

  • ui_view requires workspace.write; jail violations become diagnostics with success: false; truncated stdio in errors; exec entry-path TOCTOU hardening
  • ROBOT subprocess kill deadline; jailed path args rewritten to absolute workspace paths; createOntology / export fallback refuse leaf-symlink and post-create_dir_all TOCTOU escapes

Catalog / OBO remap / LSP editor (#413, #414)

  • XML catalog nextCatalog cycle stack + depth; workspace jail + size-capped reads; OBO inverse_of / domain / range remap; CRLF preserved on rewrite
  • .owx in document selectors/watchers; IRI tokens allow .; annotation/axiom predicate usages; semantic tokens UTF-16 columns

Breaking changes

None.

Upgrade

  1. Bump to OntoCore / OntoCode 0.26.1 (cargo install ontocore-cli --locked --version 0.26.1, or Marketplace / VSIX).
  2. No CI assertion changes required beyond taking the new pin.
  3. Plugin authors: ensure ui_view plugins declare workspace.write when they write files.
  4. ROBOT callers: relative path operands are rewritten to absolute jailed paths; hanging ROBOT processes time out (default 300s).