A equipe de desenvolvimento do Miracle WM anunciou a publicação da versão v0.10.0, disponibilizada em 21 de junho às 20:03 (UTC). O lançamento celebra o décimo‑segundo verão do projeto, já com dez lançamentos e o objetivo de alcançar a versão 1.0.0 até o final do ano.
Principais novidades (Features)
- Shaders por janela – Plugins agora podem definir um pipeline de shader exclusivo para cada janela, possibilitando a criação do plugin focus blur.
- Shader de saída – Plugins podem aplicar um pipeline de shader ao output inteiro, permitindo o funcionamento do plugin nightlight.
- Novas extensões ativadas
ext_data_control_manager_v1,ext_image_copy_capture_manager_v1,ext_output_image_capture_source_manager_v1,ext_foreign_toplevel_list_v1ezwp_input_method_v1.
Estas extensões garantem que ferramentas como wl-copy, xdg-desktop-portal-wlr e grimshot operem imediatamente sem configuração adicional. - Cliente visual GTK4 para erros de configuração – Informa ao usuário quando há problemas no arquivo de configuração.
- Cliente de depuração GTK4 – Exibe informações detalhadas sobre posicionamento, regiões de entrada e outros atributos das janelas. Ativa‑se via
miraclemsg debug overlay. - Comunicação de erros e debug via socket IPC – Mensagens são transmitidas pelo socket interno do Miracle WM (consulte a wiki para detalhes).
- Carregamento automático de plugins .wasm – Todos os arquivos são lidos de
~/.config/miracle-wm/plugins. - API de plugins avançada – Versão da API incrementada para 0.1.0.
Correções de bugs (Bugs Fixed)
- Resolução de bug antigo que deixava regiões de entrada “mortas” em janelas (
#923). - Snap agora inicia a sessão systemd gráfica corretamente.
- Em caso de crash, o gerenciador encerra a sessão systemd de forma segura (
#883). - Conflito entre LLVM do WasmEdge e llvmpipe eliminado, evitando telas em branco (
#907).
Alterações técnicas e misc
- Snap foi migrado para core26 e está publicado como stable.
- Wiki transferida para o repositório principal: de
miracle-wm-wikipara a raiz do projeto. - Monitores conectados são ativados imediatamente, mesmo que não estejam listados na configuração (
#878). - Testes de ponta‑a‑ponta (e2e) habilitados no CI, incluindo screenshots.
- Diversas refatorações internas, como unificação de
PluginWindowemWindowInfoe renomeação paraWindowno cratemiracle-plugin-rs.
Principais commits (resumo)
| Tipo | Descrição | Autor |
|---|---|---|
| feature | Implementação de testes e2e com screenshots | @mattkae |
| bugfix | Correção de uso inseguro de wlr_output_management |
@mattkae |
| feature | Registro de shaders via plugins | @mattkae |
| bugfix | Correção de bordas que alteravam cor da janela | @mattkae |
| feature | Cliente visual para relatório de erros de configuração | @mattkae |
| feature | Depurador visual GTK4 para Miracle WM | @mattkae |
| bugfix | Manutenção da sessão systemd no snap | @mattkae |
| ... | ... | ... |
(Lista completa disponível no changelog oficial.)
Impacto para os usuários
- Desenvolvedores de plugins ganham maior flexibilidade ao aplicar efeitos gráficos personalizados por janela ou por saída.
- Usuários avançados podem identificar rapidamente problemas de configuração e analisar o comportamento das janelas através da nova interface de depuração.
- Distribuições que utilizam snaps beneficiam‑se de um pacote estável baseado em core26, com integração correta ao systemd.
Como atualizar
- Via Snap:
snap refresh miracle-wm --channel=stable - Via Git: Baixe o tarball da tag
v0.10.0ou clone o repositório e compile seguindo as instruções da wiki. - Plugins: Copie ou crie arquivos .wasm em
~/.config/miracle-wm/pluginspara carregamento automático.
Contribuições recentes
Novos colaboradores entraram no projeto:
- @RAOF – contribuiu com correções de use‑after‑free.
- @markstos – ajustou link quebrado da wiki.
Para mais detalhes, consulte o Full Changelog entre v0.9.1 e v0.10.0.