Skip to content

sysmlv2 v0.10.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 23:54
· 3 commits to main since this release
v0.10.0
af10d06

Added

  • Checked property access and strict full-form JSON export in Rust, Python and WebAssembly: specification properties read through a generated semantic catalog, with typed refusals instead of placeholder values where the semantics are incomplete.
  • Generated property and operation declaration catalogs for SDK generators; supported operations can be invoked by declaration identity.
  • Checked reports for type features, inputs and memberships, specialization, featuring, variability, end constancy, model-level evaluability and collection cardinality.
  • Opt-in CanonicalV3 graphs (Rust) with an explicit migration API; format-aware sessions, prepared libraries, snapshots, resolvers and deltas preserve the selected graph contract.
  • Editor: member completion after indexed values, invocations, qualified and global receivers and quoted names; unit completion on [ ranked by the declared quantity; signature help for calculation, function and constraint invocations; position-aware completion that follows the statement being typed; recovery of usable declarations from incomplete sources.
  • Prepared standard-library snapshot in the npm package (stdlib/sysml-library.prepared.gz), streamed loading, and warm-start sessions that reuse the outcomes a previous session settled on; LspServer.withPreparedLibrary builds the language server on a prepared library.
  • Text reports mark each finding's span with carets and show a bounded excerpt of long lines.

Fixed

  • View-directed diagrams no longer draw inherited exposed members as standalone nodes; views inherit their rendering from their definition.
  • Parameters, ends and results inherit the members of the feature their position pairs them with; invocations bind inherited parameters in heritage order; a calculation without a result evaluates the nearest inherited one.
  • Imported and inherited members keep their membership identities, order, visibility and alias provenance; redefinitions resolve in the declaring type's generals in written order.
  • Library resolution replay re-resolves every library reference a workspace's root names can change.
  • A ; where an expression belongs, or after a body's result expression, is reported at the ; and no longer parsed as an empty expression.
  • Editor automatic imports name the conventional re-exporting package and are omitted when an existing import already provides the name.
  • Corrected copyright and third-party license notices; the npm package ships the bundled standard library's license and notices. Shipped WebAssembly and WASI modules no longer embed build-machine paths.

Performance

  • Faster session builds on a prepared standard library (shared lookup graph across passes, incremental ownership-path hashing, cheaper name tables, settled-outcome rebuilds); check no longer grows quadratically with expression nesting.

Removed

  • The render command, the view template renderer and WebAssembly renderView.
  • The ambient Web, Template, Svelte, WebApp and SvelteKit libraries; TransformMeta remains ambient.
  • Rust ResolvedModel::calc_params (use calc_parameter_bindings).

Upgrade notes

  • The default ID scheme changes from 1 to 2; freshly derived IDs for affected features and their descendants change, persisted explicit IDs are preserved. Scheme 1 ID-elided snapshots and deltas are no longer accepted.
  • Evaluation no longer takes every feature to be single-valued; declare [1] where a single value is intended.
  • The syntax tree's ExprKind::BodyTerminator variant is removed.
  • Tools that read findings should use --format json rather than parse the text report.

See CHANGELOG.md for the complete list.

Full Changelog: v0.9.1...v0.10.0