Skip to content

Latest commit

 

History

History
80 lines (57 loc) · 3.68 KB

File metadata and controls

80 lines (57 loc) · 3.68 KB

Changelog

All notable changes to this project are documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Repeatable --exclude support for mps-check-missing-modules and mps-fix-missing-modules, allowing expected missing module targets to be ignored in selected .mps/modules.xml files.
  • mps-check-module-naming flags --allow-nested-runtime and --allow-nested-sandbox, allowing the corresponding nested runtime/sandbox directory layout under a language module directory when it contains a .mpl descriptor.

0.4.0 - 2026-07-09

Changed

  • mps-check-language-versions now also reports a model that uses a language with a version differing from the version the owning module records for that language in its descriptor's <languageVersions>, matching the load-time consistency check MPS logs. The hook therefore also runs on module files (*.msd / *.mpl / *.devkit / *.mpst): a changed descriptor is expanded to the models it owns, so a version bump is checked against its models even when no model file changed.

0.3.0 - 2026-07-09

Added

  • mps-check-banned-model-names — reports model files (*.mps / .model) whose qualified name is one forbidden with --ban, matched exactly. Catches, for example, a generator model left with MPS' default unqualified name main@generator while allowing a namespaced foo.bar.main@generator.
  • mps-check-model-naming — reports model files (*.mps / .model) named inconsistently with the model's qualified name. A model in a solution's or language's own model root must be stored under a file name matching its name (full, or with the whole module name truncated, dot- or directory-separated); a model in an embedded generator must be namespaced under its language, catching leftovers from another language and non-unique names like main@generator.

0.2.0 - 2026-07-07

Added

  • mps-check-language-versions — reports model files (*.mps / .model) whose <languages> header uses a language with version="-1".
  • mps-check-no-test-info — reports model files (*.mps / *.mpsr) whose registry instantiates the jetbrains.mps.lang.test TestInfo concept, matched by language and concept id.
  • mps-check-well-formed-xml — reports MPS XML files that do not parse as well-formed XML, catching empty, truncated, and conflict-marked files. It is a zero-configuration wrapper over the check-xml hook from pre-commit/pre-commit-hooks, which is now a dependency.

Changed

  • Every XML-parsing hook now skips a file it cannot parse instead of failing the whole run; reporting malformed XML is mps-check-well-formed-xml's job.

Removed

  • mps-check-zero-sized-xmls, superseded by mps-check-well-formed-xml. Configurations referencing the old id must switch to the new one.

0.1.0 - 2026-06-29

Initial release.

Added

  • mps-check-orphan-modules
  • mps-check-unbuilt-modules
  • mps-check-missing-modules / mps-fix-missing-modules
  • mps-check-orphan-models
  • mps-check-orphan-mpsr-files
  • mps-check-zero-sized-xmls
  • mps-check-module-naming
  • mps-check-path-variables / mps-fix-path-variables