Skip to content

v0.9.8 - openMINDS v5 types and property validation

Choose a tag to compare

@github-actions github-actions released this 01 Sep 14:29
· 42 commits to main since this release

MATLAB Versions Tested

This release adds the generated classes for openMINDS v5 and tightens property validation across all model versions. Existing code keeps working; note the raised minimum MATLAB release and one removed validator.

Added

  • Generated type classes for openMINDS v5 (#92), with the tutorials and test fixtures brought up to the v5 actor and membership model and the v4 tutorials archived (#90).
  • A preference, AddControlledInstanceToCollection, controlling whether controlled instances become nodes of a collection, and an AbortIfNodeExists option on Collection.add (#79).
  • IsPropertyOf on PropertyValueChangedEventData, so a listener can tell which instance a property change came from, including inside arrays of instances and linked properties (#78).
  • Separate minimum- and maximum-length validators, mustBeMinLength and mustBeMaxLength (#93).

Changed

  • Property validation in the generated types now follows the schema's cardinality rules: optional scalars accept empty, list properties that must not be empty say so, and multiple constraints combine (#94, #97).
  • An instance folder of the controlled instance library without a specified type mapping now warns once instead of raising an error (#82).
  • Controlled instances are no longer pinned to model version 4 (v4.0) (#98).
  • The minimum supported MATLAB release is R2022a (#100).

Removed

  • The mustBeSpecifiedLength validator, replaced by the minimum- and maximum-length pair (#93).

Fixed

  • string() of an empty instance returns an empty string, and a scalar "" is treated as empty in controlled terms (#77).
  • Property change events are raised from the correct instance when a property of an array element or a subset is modified (#78).
  • The versioned controlled-term base class is activated when switching model version, so v2 and v3 controlled terms construct correctly after a switch (#89).
  • Vocabulary name matching and indexing are case-insensitive, and no longer assume a homogeneous types vocabulary (#86).
  • Display labels regenerated for v1, v2, v5 and latest; v5 Organization used fullName where the schema has name (#95).

Internal

  • Metatype tests updated for v5 (#96), pinned action versions updated (#88), and codemeta.json updated for the previous release (#75).
All merged pull requests

What's Changed

Other: Continuous Integration

Full Changelog: v0.9.7...v0.9.8