The Feature Freeze for 2019.2 is available
The last early access for the 2019.2 comes with new features. For this version, you can expect new error messaging customization, VCS history of changes to a specific root, a new way to run typechecking queries, and the important announcement that MPS 2019.2 will run in JDK 11.
Customization of error messages
For some time, there were requests for the possibility to customize some MPS error messages. Thanks to a request from one of our paying clients, we were able to give the highest priority state to this feature. All constraint checker error messages can be customised now.
We are planning to make this reporting customization available for other kinds of errors in for the next releases.
New language aspect named ‘feedback’ was added in this version. This aspect can be used for customising the text of error messages reported by structure validation, property and scoping constraints.
The feedback ‘ShowMessage’ defines the text displayed in the tooltip when you move the mouse cursor over the problem node.
Note that you can define your own custom feedback by extending the given set of feedback languages, for instance, you might describe feedback which highlights the edges or vertices in the diagram editor.
Rules constraints language
Rules constraints language was created in order to replace currently available canBe* constraint from the regular MPS constraints language in the future. We consider Rules constraints language as experimental functionality, so we expect it to evolve significantly in next releases.
For now, we keep precedence of old-style constraints, so old canBe* constraints should be completely removed in order to let rule-base constraints step in. New constraints definition language is more declarative, it forces the language designer to specify a set of isolated constraints instead of the single conditional block and it allows to customise error messages for each constraint separately.
The Git menu comes with a new action to show the history of VCS changes to a specific root. The action is available from the editor’s context menu:
Note, collecting root history, as with almost any other VCS history action, is time-consuming. There’s a progress indicator in status bar that helps you bear with this.
The dialog is similar to Selection History dialog of IntelliJ IDEA:
A list of revisions in the dialog shows revisions of a model file when the respective root has been changed.
Typechecking Facade API
As of this release, the new facade API is the only supported way to run typechecking queries.
New API: See jetbrains.mps.typechecking.TypecheckingFacade and related classes.
Deprecated API (legacy): The hierarchy of the packages jetbrains.mps.typesystem.* is now deprecated. Any direct usage of classes within this hierarchy is discouraged, except for code that is automatically generated from the contents of a “typesystem” aspect.
Java 11 as runtime
MPS will now run under JDK 11. This will affect the mechanism of loading stub models. Most of the project won’t need migration, but be aware that it’s possible that some JDK classes and fields will be moved with the new version.
In Idea plugin, the modules with MPS facet should now have at least JDK 11. Otherwise, it will not generate.
Have a nice day!
Your JetBrains MPS Team
The Drive to Develop
Subscribe to Blog updates
Thanks, we've got you!
MPS Community Meetup 2023 is happening!
The MPS Community Meetup is back! Join us for the MPS Community Meetup 2023 in Munich on May 11 and 12. Like previous years, the event will be a series of talks from the community and the MPS team sharing the product’s status. Register today! The call for speakers is open! We are accepting talks…
Early Access Program for MPS 2022.2
As previously mentioned, we decided to skip MPS 2022.1 as we were too busy fixing issues from the last release and didn’t have enough time to prepare the new functionality. Now we have new features to present to give you a glimpse of what’s to come in MPS 2022.2. DOWNLOAD MPS 2022.2 EAP Annota…
MPS Is Skipping the 2022.1 Release
MPS 2022.1 was supposed to be released this month, but we unfortunately have to announce that this is not going to happen. The previous release, MPS 2021.3, was released late, which gave us a shorter time frame for fixing the bugs of the new features, while also developing functionality for MPS 2022…
The MPS 2021.2 Bug Fix Is Here
This is a special minor release containing primarily fixes that were requested by our support contract clients. In case you haven’t heard about our support program, we provide professional services to our clients to help them use MPS to achieve their goals faster. This business model allows us to ke…