A equipe da Zed Industries disponibilizou oficialmente o Zed 1.26 (consolidado na revisão estável 1.26.2), trazendo um pacote robusto de melhorias voltadas para depuração de baixo nível, suporte ao ecossistema Python moderno e refinamentos de latência na interface do usuário.

Desenvolvido do zero em Rust com renderização acelerada por GPU via GPUI, o editor vem reduzindo rapidamente a distância funcional em relação a IDEs veteranas sem abrir mão do seu orçamento rigoroso de quadros a 120 FPS. Nesta atualização, os destaques recaem sobre três pilares: a nova árvore interativa de variáveis nos hovers do depurador, o suporte a símbolos DWARF para WebAssembly no depurador JavaScript e a integração nativa do Pyrefly, o servidor de linguagem Python de alta performance.


Inspeção de variáveis em árvore diretamente no hover do editor

Até a versão 1.25, inspecionar estruturas de dados complexas durante uma sessão de depuração (debugging) exigia desviar o olhar do código-fonte para o painel lateral de variáveis ou recorrer ao console de avaliação. Com a implementação introduzida no PR #53198, pausar a execução em um breakpoint e posicionar o cursor sobre qualquer identificador abre imediatamente uma árvore de variáveis expansível diretamente sobre o código.

A arquitetura desse novo popover foi desenhada para evitar travamentos perceptíveis durante sessões pesadas:

  • Desacoplamento entre Debugger e LSP: O Zed exibe o estado em tempo de execução da variável imediatamente a partir do adaptador de depuração (DAP), sem bloquear a janela à espera de um Language Server (LSP) lento. Assim que a resposta do LSP chega, a documentação estática e a assinatura de tipos são anexadas logo abaixo da árvore de valores;
  • Carregamento sob demanda (Lazy Evaluation): O primeiro nível do objeto ou struct é renderizado instantaneamente, enquanto propriedades aninhadas mais profundas só são requisitadas ao depurador conforme o desenvolvedor expande cada nó;
  • Navegação multimodal: A árvore suporta interação completa tanto por mouse quanto por teclado, incluindo atalhos nativos para usuários dos modos Vim e Helix, além de um menu contextual rápido para copiar o valor, copiar a expressão ou enviá-la diretamente para a lista de monitoramento (Watch).

Depuração de WebAssembly no nível do código-fonte com DWARF

Outro avanço expressivo para quem trabalha na fronteira entre sistemas e web é a chegada do suporte a depuração DWARF para fontes WebAssembly integrado ao depurador JavaScript (PR #65371).

Aplicações modernas que compilam Rust, C ou C++ para .wasm — utilizando ferramentas como wasm-bindgen e empacotadores como o Trunk — historicamente sofrem com uma experiência de depuração fragmentada quando rodam no navegador. Ao incorporar automaticamente a extensão @vscode/dwarf-debugging junto ao adaptador js-debug, o Zed passa a interpretar as tabelas de símbolos de depuração DWARF embutidas no binário WebAssembly.

Na prática, basta configurar uma tarefa de inicialização apontando para o servidor local para colocar breakpoints diretamente em arquivos .rs, inspecionar variáveis nativas e percorrer a pilha de chamadas (call stack) sem precisar ler instruções WebAssembly descompiladas:

{
  "adapter": "JavaScript",
  "label": "Launch Chrome (Trunk)",
  "type": "chrome",
  "request": "launch",
  "url": "http://127.0.0.1:8080/",
  "webRoot": "$ZED_WORKTREE_ROOT/dist"
}

Caso o desenvolvedor já utilize um caminho customizado para seu próprio adaptador de depuração, o editor ignora o download adicional de 53 MB do pacote DWARF para preservar espaço em disco.


Pyrefly integrado como Language Server nativo para Python

O ecossistema Python ganhou um reforço importante no Zed 1.26 com a inclusão do Pyrefly como opção de language server embutido (PR #44262). Criado em Rust pela equipe de engenharia da Meta para suceder o antigo Pyre, o Pyrefly foca em verificação estática de tipos e navegação de código instantânea em bases de código massivas.

Até então, utilizar o Pyrefly no Zed exigia instalar uma extensão externa e gerenciar manualmente o binário no sistema operacional. Com a mudança:

  1. O adaptador passa a fazer parte do núcleo do editor, bastando declará-lo na lista language_servers das configurações de Python;
  2. O Zed verifica primeiro se já existe um binário pyrefly disponível no $PATH do usuário (por exemplo, instalado via uv tool install pyrefly);
  3. Caso não encontre uma instalação local, o próprio editor provisiona e atualiza automaticamente um ambiente virtual isolado via PyPI em segundo plano, iniciando o servidor com a flag pyrefly lsp de forma transparente.

Além do Pyrefly, a versão 1.26 corrigiu uma limitação antiga na barra de status (PR #65387): agora é possível reiniciar servidores de linguagem que haviam sido interrompidos manualmente pelo botão de controle do LSP sem precisar reabrir o espaço de trabalho.


Engenharia de latência: busca de modelos ACP fora da UI thread

À medida que o suporte ao Agent Client Protocol (ACP) transformou o Zed em um hub para múltiplos agentes de codificação (como o próprio Zed Agent, Claude Code, OpenCode e Codex), o seletor de modelos e opções de configuração passou a lidar com catálogos que frequentemente ultrapassam centenas de provedores e parâmetros.

No PR #64147, a busca dentro dos seletores de modelos e opções de configuração de agentes foi inteiramente reescrita sobre o motor fuzzy_nucleo e transferida para o executor em segundo plano (background thread).

O painel de agentes agora detalha restrições de raciocínio por nível de esforço e processa toda a filtragem de modelos fora da thread principal de interface.

Os números de benchmark em Apple Silicon (Rust 1.98.1, perfil release-fast) demonstram o impacto direto na responsividade da interface:

  • Em um catálogo sintético pesado com 10.000 opções e descrições de 1 KB, o tempo de bloqueio da thread principal de interface no percentil 99 (p99) despencou de 33,10 ms para apenas 1,35 ms;
  • A mediana de instruções executadas na thread de UI caiu de 879,9 milhões para 11,8 milhões, reduzindo de 66 para zero o número de estouros do orçamento de quadros a 120 FPS;
  • A busca agora tolera diferenças de pontuação (encontrando GPT-5.6 ao digitar GPT 5.6) e indexa simultaneamente grupos de provedores, descrições e identificadores sem permitir que textos longos de metadados rebaixem correspondências exatas no nome do modelo.

Na mesma frente de agentes, o Zed 1.26 ajustou os controles de pensamento (thinking controls, PR #62480) para informar claramente via tooltip quando determinado modelo — como o Claude Opus em níveis elevados de esforço — não permite desativar o bloco de raciocínio, além de preservar as configurações individuais de cada sessão ao reabrir conversas antigas (PR #65850).


Refinamentos no File Finder e espaço de cores Display P3

O algoritmo de busca rápida de arquivos (File Finder) também recebeu um ajuste cirúrgico de ranqueamento (PR #59224). Anteriormente, quando um termo de busca aparecia tanto no nome do diretório quanto no nome do arquivo (como buscar x em um projeto contendo x/x.py e y/x.py), o algoritmo podia empatar ou inverter a ordem esperada. A nova heurística adiciona um bônus de tempo constante proporcional à proximidade da correspondência em relação ao final do caminho, garantindo prioridade imediata para caminhos repetidos sem penalizar a performance do nucleo.

Ajuste de pontuação no File Finder: caminhos como x/x.py agora superam y/x.py de forma consistente em tempo constante.

Por fim, para usuários de macOS em telas wide gamut, o renderizador Metal do framework GPUI ganhou suporte oficial ao espaço de cores Display P3 (PR #64394). Inspirada na implementação do terminal Ghostty (window-colorspace = display-p3), a novidade pode ser ativada diretamente na interface de configurações ou adicionando "use_display_p3": true ao arquivo settings.json, entregando maior fidelidade cromática em temas de sintaxe vibrantes.

Nova opção Display P3 nas configurações de aparência do Zed 1.26, habilitando espaço de cores expandido no renderizador Metal.

Como atualizar e testar

O Zed 1.26.2 já está disponível para download gratuito em Linux, macOS e Windows por meio do atualizador interno do aplicativo ou diretamente na página oficial: