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.