Dev48
Language
  • About
  • Services
  • Industries
  • Technologies
  • Articles
  • Contacts
Book a call
    Home/Articles/Mps 20262 has been released
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · All rights reserved.

MPS 2026.2 Has Been Released!

Source: The JetBrains Blog•November 10, 2026 at 06:59 AM

MPS 2026.2 Has Been Released!

MPS now runs on Linux ARM64, and coding agents can do much more for much less. The UI allows grouping nodes by virtual package, several dialogs have their UIs reworked, editor tests allow for node-matching functions to be customized, and much more. DOWNLOAD MPS 2026.2 What’s new Here are the…

Language workbench to create Domain-Specific Languages

Releases

MPS now runs on Linux ARM64, and coding agents can do much more for much less. The UI allows grouping nodes by virtual package, several dialogs have their UIs reworked, editor tests allow for node-matching functions to be customized, and much more.

What’s new

Here are the most noteworthy new features:

Build and distribution

Linux ARM64 support

MPS is now available for Linux on ARM64 (AArch64), bundled with a matching JetBrains Java runtime.

You can also build standalone MPS-based applications (RCPs) for Linux ARM64. The Build Script wizard now includes a Linux ARM64 distribution in its generated build scripts alongside the existing platform distributions.

TAR imports in Build Language

Build Language now supports importing archive contents directly into distribution layouts using the new import files from tar and files from tar entries.

You can import files from plain TAR archives or archives compressed with gzip or bzip2. The source can be an archive file or another TAR layout defined in the build script.

When importing into a TAR layout, symbolic links and file permissions are preserved. This is particularly useful when packaging platform-specific plugins and native libraries, as symbolic links remain links instead of becoming duplicate copies of their targets.

Archive packaging changes

MPS 2026.2 preserves symbolic links and file permissions when packaging platform-specific plugins. Previously, symbolic links were sometimes replaced with copies of their targets, causing large native libraries to be included more than once, particularly on macOS.

macOS archive distributions now use .tar.gz instead of .zip to preserve symbolic links. The Build Script wizard generates the same archive format for standalone macOS applications.

Startup configuration aligned with the IntelliJ Platform

MPS 2026.2 updates the way startup scripts and product metadata are assembled. The MPS build tooling now keeps the platform-provided boot classpath separate from the MPS-specific extension classpath. It also exposes additional JVM arguments as part of the MPS startup script configuration.

This separation allows MPS distributions to consume the boot classpath and JVM options defined by the matching IntelliJ Platform build, while adding only the libraries and settings specific to MPS. Platform updates can therefore be integrated with less manual maintenance and a lower risk of stale launcher configuration.

The generated launchers also apply platform access options more precisely. Shared --add-opens options come from the platform metadata, while operating-system-specific packages are added only to the launcher for the corresponding operating system. This keeps the launch configuration consistent across macOS, Linux, and Windows and helps prevent startup problems caused by outdated or unnecessarily broad JVM arguments.

Together, these changes make the MPS launcher more resilient as the underlying platform evolves and provide a cleaner extension point for teams building custom MPS-based distributions.

Projectional Agent Toolkit enhancements

The Projectional Agent Toolkit has received a major boost in performance and capabilities.

Performance

Your AI agents can now cut down on token usage for common tasks like DSL modeling or implementing language definitions. In our measurements using Claude Code with Opus 5 and 5.5, the savings exceeded 50%.

This improvement is the result of a substantial rework of the MPS MCP API that implemented the following improvements:

  • Consistent parameter naming, null and default-value handling, and error reporting.
  • More precise skills and more detailed tool descriptions.
  • Bulk operations where they provide the greatest benefit, with compact summaries instead of huge payloads.
  • Short read results included directly in responses, with large dumps written to files only when needed.
  • One-shot model validation to check full models without round-trip overhead.
  • Fast concept discovery using lightweight, structure-only metadata views instead of full AST dumps.
  • Fail-fast checks that reject invalid search scopes and mutation inputs instead of returning incomplete results.
  • Helper scripts included with skills, so agents spend less time reinventing common MPS tasks.
  • Clearer project targeting when several MPS or IDE projects are open.

Type system MCP tool

The type system MCP tool enables agents to:

  • Understand node types and type system messages.
  • Compare types and determine the expected type for a role.
  • Trace type calculations and debug type system rules.
  • Identify the type system rule responsible for a reported type system error.

Other new MCP tools

In addition to the type system MCP tool, we’ve added several more MCP tools to cover other core aspects of MPS development. The new tools enable agents to:

  • Invoke intention actions and quick-fixes.
  • Automatically keep their skill databases up to date with the MPS instance they connect to.
  • Read and filter the content of MPS logs.
  • Open, close, and create MPS projects.
  • Automatically correct SModel expressions in parsed Java statements, helping agents author concept functions and behavior methods.

UI enhancements

Virtual packages in Find Usages results

The Find Usages results tree now supports grouping by virtual package. When it’s enabled, usage results are nested under folder nodes corresponding to the virtual package of each root node, mirroring the structure shown in the Project pane. This makes it easier to locate root nodes in large models with many virtual folders.

Dotted virtual package names (e.g. com.example.ui) expand into one tree level per segment, so the nesting in Find Usages matches the nested virtual folders in the Project view.

The new Group by virtual package toggle appears on the Find Usages toolbar, alongside the existing grouping options (module, model, root node, etc.). It is enabled by default for Find Usages. Other tool windows that display usage results – Model Checker, TODO, Dependencies Viewer, and Refactoring View – retain their usual default grouping options.

A more natural way to select lists of nodes

Selecting a larger piece of a model in the MPS editor is now easier with Select Up (Ctrl+Up). When the caret is inside a list of nodes – for example, a sequence of statements in a behavior method or a constraint – Select Up now recognizes the list as a meaningful unit for selection.

Instead of jumping directly from one node to its parent, the action first selects all sibling nodes in the list. The parent is selected in the following step. This gives the selection process an intuitive intermediate level and makes common operations, such as copying and pasting a complete group of statements, faster and more reliable.

This also works correctly when the current selection is already a range of nodes, so repeated Select Up actions provide a consistent path from an individual node, through its containing list, to the surrounding structure.

Reworked Import dialog: Select models and languages to import

The Import dialog has undergone a major overhaul to fix functional issues and bring its appearance in line with the rest of the platform.

  • When pasting code between models, only the models and languages you actually select in the dialog are imported. Previously, the dialog ignored your selection.
  • If the dialog offers only one suggestion, you can now deselect it. Previously, the single suggestion could not be deselected.
  • Both the model and language lists now have checkboxes for individual entries and a header checkbox to select or deselect all entries. The header checkbox shows an indeterminate state when only some entries are selected.

Diff dialog and tab improvements

We’ve made quite a few minor changes to bring the diff dialog’s look and feel in line with the rest of the platform.

  • Change markers on the scrollbar now remain in the right position when the dialog or editor is resized. Previously, a marker would sometimes jump to an unrelated location. The fix was made in the shared editor gutter, so regular editor error and warning markers are covered, too.
  • We fixed regressions caused by the post-merge child-ordering improvements that were introduced earlier. Applying resolved conflicts now succeeds even when children require reordering.

Testing

Editor tests: Flexible result matching

When an editor test does not need to match the expected result exactly – for example, when the order of child nodes or the value of an attribute is irrelevant – you can now tell MPS which differences to ignore.

There are two ways to customize result matching:

  • Node-matching rules: Declare custom matching rules. You can specify which containment roles should be compared, ignored, or excluded, and which properties or references should not be compared.
  • Per-node markers: When an exception applies to just one node, add a marker directly to that node in the result fixture using the intention actions menu.

Either way, the parts you don’t care about stop causing false failures – and when a test does fail, the message now points straight at the node and cell responsible, so there’s no more sleuthing through raw assertions.

This improvement is the result of a direct customer request. It ensures fewer brittle editor tests and less fixture babysitting.

More informative test failure messages

Editor test failure messages – such as for a wrong selection, a mismatched editor cell ID, or a wrong selection range – now describe exactly which node and cell are responsible instead of reporting a bare assertion failure. Every node mentioned in a failure message is rendered along with its presentation, concept name, and node ID, making it much easier to locate the problematic node in the result fixture without reproducing the failure in the debugger.

Check out all the new functionality on the What’s New page.

The full list of fixed issues can be found here.

Try the new features and let us know what you think.

The JetBrains MPS team

Discover more

← All articles

What this article says

More in Software Development

All →
How Credem improved application testing with generative AI
Sopra Steria

How Credem improved application testing with generative AI

Interpals expands its commercial reach and manages more than 600 sites with SiteMinder
Siteminder

Interpals expands its commercial reach and manages more than 600 sites with SiteMinder

CURE International completes electronic medical records rollout across its eight children's hospitals with Thoughtworks
Thoughtworks

CURE International completes electronic medical records rollout across its eight children's hospitals with Thoughtworks

Give your Vercel AI SDK agents memory with Redis Agent Memory
Redis

Give your Vercel AI SDK agents memory with Redis Agent Memory

How to migrate JMeter tests to Postman
Postman

How to migrate JMeter tests to Postman

My Favorite Color Extensions from the .NET MAUI Community Toolkit
Telerik

My Favorite Color Extensions from the .NET MAUI Community Toolkit

More from JetBrains

GoLand’s Profiler Now Works With AI Agents
JetBrains

GoLand’s Profiler Now Works With AI Agents

IntelliJ Scala Plugin 2026.3 Is Out!
JetBrains

IntelliJ Scala Plugin 2026.3 Is Out!

Java Annotated Monthly – November 2026
JetBrains

Java Annotated Monthly – November 2026

The Kotlin Multiplatform Contest Is Open: Win a Trip to KotlinConf
JetBrains

The Kotlin Multiplatform Contest Is Open: Win a Trip to KotlinConf

RustRover 2026.3 Is Out: JetBrains Air, Clearer Debugger Views, and Agents That Debug With You
JetBrains

RustRover 2026.3 Is Out: JetBrains Air, Clearer Debugger Views, and Agents That Debug With You

What’s New in PhpStorm 2026.3
JetBrains

What’s New in PhpStorm 2026.3