Child pages
  • What's New in 2021.1

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 model.roots() / model.rootsIncludingImported() / model.nodesIncludingImported() now support #expression to specify concepts, much like mode model.nodes() did for quite a while. https://youtrack.jetbrains.com/issue/MPS-32743

...

For Generators, there's an option to check whether nodes template produce fit into proper role of a parent node. The option if available in Generator Preferences in IDE as well as through build project settings. Generator may issue a warning, which usually indicates there's some inconsistency in templates, e.g. improperly placed Template Fragment or COPY-SRC annotation. Compiled templates, however, didn't perform the check, rendering the option useless. With 2021.1, compiled templated go an extra mile to check proper child placement into a parent if the option is active.

 

New methods in SNode OpenAPI 

SNode.setReference(SReferenceLink, SNodeReference) to avoid going through SReference.create() factory method

 

Notion of project 'baseline' for migration

Now, when MPS creates a new project, we write indicator of actual version into project descriptor so that Migration Assistant doesn't try to apply older project migration than the one indicated with baseline. Project Migration implementation indicate which minimum baseline version they need to run.

https://youtrack.jetbrains.com/issue/MPS-32954