O MPS agora utiliza a IntelliJ Platform 2026.1, o JDK 25 e o Kotlin 2.3. A Build Language ganha dependências transitivas, as migrações tornam-se mais reproduzíveis e os stubs Java receberam uma atualização substancial em termos de qualidade. O plug-in Projectional Agent Toolkit, incluído no pacote, permite que os agentes de programação por IA leiam e escrevam modelos de MPS, abrindo assim uma série de conceitos de desenvolvimento de ponta para desenvolvedores MPS e autores de linguagens.
Explore a lista completa de mudanças abaixo.
O MPS é fornecido com o Projectional Agent Toolkit, um plug-in que expõe a projeção, o modelo e o ambiente de trabalho de linguagem do MPS a agentes de programação por IA por meio do Model Context Protocol. Agentes como o Claude Code, o OpenAI Codex, o JetBrains Junie e qualquer outro cliente compatível com MCP podem se conectar a uma instância do MPS em execução e operá-la da mesma forma que um desenvolvedor faria – navegando por módulos e modelos, lendo e editando nós por meio do editor projecional, resolvendo referências, inspecionando hierarquias de conceitos, gerando código e executando configurações. Eles não precisam mais tratar arquivos .mps como XML opaco.
O Projectional Agent Toolkit oferece uma série de toolsets que abrangem todas as etapas de um projeto MPS:
Para garantir que os agentes se tornem produtivos o mais rápido possível, o kit de ferramentas também inclui um conjunto de skills – guias práticos específicos e alinhados aos modelos que acompanham as ferramentas. Eles ensinam ao agente como as linguagens MPS são organizadas, como implementar conceitos de estrutura, como trabalhar com o editor, como escrever a BaseLanguage como uma AST JSON e como registrar memórias específicas da DSL para sessões futuras. As competências podem ser consultadas pelo mesmo canal MCP; assim, um agente recém-conectado pode perguntar ao MPS o que precisa saber antes de começar a editar.
A experiência de trabalhar com diversos assistentes de IA em IDEs baseadas no IntelliJ agora se estende naturalmente ao desenvolvimento de linguagens e DSLs: um agente pode implementar um novo conceito, configurar seu editor e suas restrições, adicionar métodos de comportamento, criar código DSL, regerá-lo, além de testar e executar o resultado — tudo isso sem sair do modelo semântico do MPS. Para os criadores de linguagens de programação, isso transforma a assistência da IA de uma simples funcionalidade de complementação de código em um colaborador capaz de compreender a projeção.
O Projectional Agent Toolkit é um recurso experimental e pode estar sujeito a alterações na API no futuro. Ele vem incluído e está ativado por padrão. Basta iniciar o servidor MCP embarcado e configurar seu agente compatível com MCP para a instância do MPS; os conjuntos de ferramentas e as habilidades serão exibidos automaticamente.
Leia a documentação do Projectional Agent Toolkit para conhecer todos os detalhes.
A versão MPS 2026.1 conclui a transição para a geração atual da Plataforma IntelliJ. O runtime é o JDK 25, e a versão incorporada do Kotlin é a 2.3.0. Além disso, o MPS agora compila e distribui seus próprios artefatos kotlinx-metadata-klib / kotlin-metadata-jvm a partir do repositório Kotlin com a etiqueta 2.3.0 correspondente, restaurando o suporte a stubs Kotlin baseados em KLib que a última versão pública kotlinx-metadata-klib:0.0.6 já não conseguia oferecer.
ICheckedNamePolicy em relação a linguagens naturais específicas
O MPS agora utiliza o suporte a linguagem natural da plataforma IntelliJ, fornecido pela Grazie. Isso significa que é possível verificar se os valores de strings em instâncias de ICheckedNamePolicy, tais como intenções, ações ou ferramentas, apresentam o uso correto de maiúsculas e minúsculas de acordo com as regras de uma língua natural específica.
Agora é possível instalar o suporte a linguagem natural para suas linguagens preferidas no MPS, e o IDE detectará a linguagem utilizada nas strings e verificará se as palavras individuais estão escritas com maiúscula corretamente. Você também pode ignorar o mecanismo de detecção de linguagem e especificar explicitamente a linguagem desejada.
Além das regras padrão de uso de maiúsculas Title-case (letras maiúsculas no início das palavras), o MPS oferece outras três opções:
ICheckedNamePolicy
No editor, agora é possível dividir linhas longas com operações binárias. Uma ação de intenção específica permite alternar entre os layouts de uma linha e de várias linhas para uma determinada BinaryOperation.
read-only-inspector O novo estilo read-only-inspector aplica a propriedade somente leitura a todas as células do editor no inspetor. Quando esse estilo é aplicado a uma célula no editor principal, o inspetor passa a ser somente leitura para o nó inspecionado quando a célula com esse estilo é selecionada. O novo estilo possui as seguintes propriedades:
read-only. read-only definido por este mecanismo pode ser substituído em qualquer célula localizada mais abaixo na árvore de células do editor do inspetor. A Build Language já não é necessária para que todos os scripts de build acessíveis transitivamente sejam listados em dependencies. Isso significa que um script de build, BuildA, que depende de BuildB, agora pode acessar BuildC por meio de BuildB (desde que BuildB dependa de BuildC) sem precisar listar BuildC explicitamente. O gerador emite propriedades Ant ${artifacts.BuildC} para esses casos, e essas propriedades podem ser fornecidas pela ferramenta de build externa (Gradle, Maven, etc.).
Isso permite dividir builds grandes em builds menores, sem obrigar todos os usuários a atualizar as listas de dependências. Por exemplo, um único script de build platform pode englobar um conjunto cada vez maior de bibliotecas externas utilizadas em vários subprojetos.
O código de migração decidia anteriormente quais migrações aplicar com base nas dependências reais dos módulos e nas linguagens utilizadas, coletadas no momento da migração, mas lia as versões a partir do snapshot de dependências registrado no descritor do módulo. Essa incompatibilidade pode fazer com que as migrações utilizem uma visão do mundo diferente daquela em que o módulo foi modificado pela última vez.
Na versão 2026.1, o mecanismo de migração utiliza sistematicamente as dependências e as linguagens utilizadas registradas no descritor do módulo no momento da última modificação, e não o estado observável atualmente. O verificador de migração foi reformulado em conformidade. Agora, ele reutiliza as informações já coletadas para o processo de migração, em vez de recalculá-las sempre que necessário.
Um conjunto de bugs de longa data relacionados aos stubs Java foi corrigido, melhorando visivelmente a precisão dos stubs de BaseLanguage gerados para arquivos .jar importados e raízes do modelo Java Sources:
InnerClasses agora são transformadas corretamente em stubs de BaseLanguage. As informações sobre as classes internas da assinatura e os tipos parametrizados dos proprietários são preservados; assim, os campos e métodos das classes internas de classes externas genéricas agora exibem o tipo correto, em vez de serem reduzidos ao tipo da classe externa. java.lang.Object no lugar da variável de tipo real. Como MPSProject passou de um ProjectComponent legado do IntelliJ IDEA para um serviço de projeto, os recursos compatíveis com MPS precisam de uma maneira confiável de ser notificados sobre a disponibilidade e a retirada de MPSProject.
Esta versão introduz um mecanismo específico para gerenciar as atividades de inicialização e desligamento de MPSProject, permitindo ao MPS controlar a sequência, o agrupamento, a ordenação e a execução em threads dessas atividades. Isso era algo que os componentes ProjectActivity e MPSProjectActivity da plataforma não podiam oferecer.
Como funciona: os desenvolvedores se registram no ponto de extensão jetbrains.mps.project.lifecycleListener (declarado em MPSCore.xml) por meio de um ProjectLifecycleListener.Bean com um listenerClass e um priority inteiro opcional. O arquivo LifecycleEventDispatch.java dentro de MPSProject pode disparar:
projectReady (sem bloqueio) projectDiscarded (com bloqueio) asyncProjectClosed (sem bloqueio) O MPS agora oferece o Wayland como protocolo de exibição padrão nos sistemas Linux compatíveis. Ao ser executado em um ambiente compatível com Wayland, o MPS muda automaticamente para um backend Wayland nativo, em vez de depender de camadas de compatibilidade com o X11, alinhando-se assim aos padrões modernos de desktop Linux.
Essa transição melhora a integração geral com o sistema, proporcionando maior estabilidade nos compositores Wayland, suporte adequado a métodos de entrada e ao recurso de arrastar e soltar, além de uma renderização mais consistente — especialmente em configurações HiDPI e de escalabilidade fracionária. Embora a experiência do usuário permaneça em grande parte familiar, algumas diferenças (como o posicionamento das janelas ou os elementos decorativos) podem ser perceptíveis devido à arquitetura do Wayland.
O MPS 2026.1 inclui uma ampla gama de correções de bugs. A lista completa de problemas resolvidos pode ser encontrada em aqui.
Com o JetBrains MPS 2026.1, continuamos a priorizar o máximo conforto e uma interface de usuário ergonômica, garantindo que seu espaço de trabalho seja tão acessível e personalizável quanto seu código.
A tão esperada funcionalidade de sincronizar o tema do IDE com o sistema operacional já está disponível para usuários do Linux, estabelecendo paridade com o macOS e o Windows. Habilite-a em Settings | Appearance & Behavior | Appearance.
Os usuários do Windows que utilizam o teclado agora podem selecionar o menu principal do IDE pressionando a tecla Alt. Essa alteração melhora a acessibilidade para usuários de leitores de tela.
Continuamos a implementar pequenas melhorias de grande impacto que reduzem os obstáculos e facilitam o seu fluxo de trabalho diário.
Agora você pode alterar qualquer commit recente diretamente da janela de ferramentas Commit – sem mais complicações envolvendo rebase interativo. Basta selecionar o commit de destino e as alterações necessárias e, em seguida, confirmá-las – o IDE cuidará do resto.
Além das árvores de trabalho do Git, aprimoramos os workflows de branches com a introdução da ação Checkout & Update, que faz um pull de todas as alterações remotas.
Além disso, agora é possível automatizar a recuperação de alterações – sem necessidade de um plug-in separado. Habilite Fetch remote changes automatically em Settings | Git.
Pare de memorizar comandos. Comece a descobri-los. A complementação no terminal ajuda você a explorar os subcomandos e parâmetros disponíveis, à medida que você digita. Quer você esteja trabalhando com ferramentas complexas de linha de comando, como Git, Docker ou kubectl, ou usando os seus próprios scripts personalizados, este recurso sugere opções válidas de forma inteligente e em tempo real.
Introduzida anteriormente para shells Bash e Zsh, agora também disponível para o PowerShell.
Para cada lançamento principal, preparamos instruções sobre como migrar de versões mais antigas do MPS para garantir que tudo corra bem. Veja-os em detalhes no guia de migração atualizado.