MPS 2022.3.1 Has Been Released

For MPS users that are using last year’s version (2022.3), we’re releasing an update with numerous fixes. Many of them have been back-ported from the new MPS 2023.2, so you may have heard of some of them already.


See a full list of issues fixed in 2022.3.1 here.

Back-ported from 2023.2

Visualize the current values for cells that violate constraints

When an invalid value is inserted into a cell, the inserted invalid value is marked in red. While the original valid value is preserved in the model, the cell does not show it. The editor can now be configured to remove an invalid value in an editable cell and replace it with the valid value preserved in the model as soon as the cursor leaves the cell.

Back-ported from 2023.2 and also available in 2021.3.3

Inference rules can override rules from extended languages

MPS 2021.3.3 adopts one improvement that enhances the functionality of the overrides flag in the type system inference rules. Traditionally, the flag indicated that a particular rule overrode the rules defined for the super-concepts.
More recently, the flag’s functionality has been enhanced to allow the rules defined in extending languages to override the rules defined for the same concept in the extended language.
This gives you an additional way to alter the behavior of the languages you are extending.

Disable Make On Startup flag is now available

A second backported feature is the new Disable Make On Startup option, available in Settings -> Project Settings -> Make. When this feature is enabled, MPS will not perform a make of all the project’s modules when starting up. This can speed up MPS startup in situations when the initial make takes too long and/or is likely to fail because manual configuration is necessary before the project can be successfully made.

Back-ported from 2023.2 and also available in 2021.3.4

Parallel model checker

The model checker can now effectively utilize parallel hardware, speeding up the model checking process. Depending on the settings in Settings | Tools | Model Checker, it can spawn multiple threads when starting this process.

Improved File-per-root persistence performance

The FilePerRootDataSource.getStreamByName() method has been optimized to improve model data loading performance. If you use File-per-root persistence to store large models, this change will be noticeable.

Improved support for Find text in project

The existing Find text in project action has been improved, and it now also searches for references to named nodes, bringing up additional relevant results.
A preview panel has been added that allows you to see the results directly in the search dialog. Text containing HTML content is now rendered as plain text in the results, and not as HTML like in previous versions.

Skip dependency migration in Ant tasks

While migrating a project using Ant tasks provided by MPS, dependencies may not get properly migrated. We added a flag to continue the migration of a project even in such cases. Stopping the migration process as soon as a non-migrated dependency is discovered remains the default behavior.
To use this flag, add haltOnDependencyError=”false” to your <migrate> Ant task.


Your JetBrains MPS team

image description