Skip to content

Release v0.1.0 - #2

Merged
blackfoxsoftware merged 4 commits into
mainfrom
dev
Sep 1, 2026
Merged

Release v0.1.0#2
blackfoxsoftware merged 4 commits into
mainfrom
dev

Conversation

@blackfoxsoftware

Copy link
Copy Markdown
Owner

Merge da dev na main. Ao entrar, o workflow Release vai:

  1. validar o patchnotes.json e ler 0.1.0 do package.json;
  2. rodar o CI inteiro no estado que vira tag;
  3. criar a tag anotada v0.1.0;
  4. publicar a release com as notas abaixo.

Nada além disso: não há instalador — a wslcsdk.dll da Microsoft não é redistribuída aqui.

Este merge também ativa os documentos de comunidade e os templates de issue, que o GitHub só lê a partir da branch padrão.


Notas que vão sair na release

Primeira versão pública: a superfície do wslc 2.9.4 inteira, nos dois motores.

Adicionado

  • UI desktop para o WSL container (wslc) em Electron + Vite + React 19, com contrato IPC tipado com Zod nas duas direções.
  • Dois motores intercambiáveis em tempo de execução: a CLI wslc.exe e o SDK nativo (Microsoft.WSL.Containers via koffi/FFI).
  • Containers: executar (portas, volumes, env, labels, limites, healthcheck, hostname/domínio, workdir e entrypoint), start/stop/restart/kill/remover, detalhes, logs, exec, stats e prune.
  • Imagens: pull e push com progresso por camada e cancelamento, tag, load/import/export, catálogo de imagens base e login/logout em registry.
  • Volumes em VHDX com tamanho, tipo e dono, mais inspeção do volume.
  • Redes: criar, conectar e desconectar containers, e prune.
  • Sessões do wslc: listagem, tuning da sessão nativa (CPU, memória, disco e GPU) e troca de motor persistida entre execuções.
  • Terminal embutido (xterm) nos dois motores, em modo linha — o SDK em preview não expõe PTY.
  • Crash dumps do motor nativo e instalação guiada para máquinas sem o WSL/wslc.
  • Painel de logs ao vivo com filtro, e configuração do app persistida em disco.
  • Design system próprio sobre HeroUI v3 e Tailwind v4.
  • Motor de demonstração (WSLC_UI_MOCK) com injeção de falha por canal, que sustenta a suíte E2E nos dois motores sem tocar no WSL.
  • CI com typecheck, lint, formatação, testes de unidade e E2E, e release por tag gerado a partir deste arquivo.

Dois workflows. O CI roda em toda PR e em todo push na dev, em windows-latest
— o alvo é Windows: os testes lidam com caminhos do Windows e o E2E sobe o
Electron de verdade. Ele faz typecheck, lint, formatação, os testes de unidade
e a suíte Playwright, e tem um job que cobra a regra das branches: PR para a
main só pode vir da dev.

O release sai do merge da dev na main. A versão vem do package.json e as notas
vêm do patchnotes.json, novo aqui: escritas à mão, em português, e validadas
com rigor (semver, ordem, datas reais, categorias conhecidas, itens de uma
linha) porque um erro ali só apareceria na hora de publicar. Se a tag v<versao>
já existe, o run não faz nada — um push na main que não bumpou a versão não
republica nem sobrescreve release alguma. Publicar uma versão é subir o version
do package.json e escrever as notas dela na mesma PR.
Os três rulesets que passam a aplicar o fluxo do lado do GitHub: a main só
por PR com o CI verde e merge commit (para guardar o histórico da dev), a dev
sem force-push e sem remoção, e as tags de versão imutáveis.

Nenhum deles tem exceção de bypass, nem para o dono do repositório, e nenhum
atrapalha o release: o workflow cria a tag, e criar não é mover nem apagar.
O CONTRIBUTING traz o fluxo, o ambiente — inclusive como mexer no app inteiro
sem WSL instalado, pelo modo de demonstração — e as convenções que a revisão
cobra: comentário explica o porquê, contrato IPC é a fronteira, seletor de
teste sai de papel e nome acessível.

O SECURITY descreve o modelo de confiança do app (desktop local, renderer sem
Node, todo canal validado com Zod nas duas direções) e lista o que conta e o
que não conta como vulnerabilidade, para não gastar o tempo de quem reporta:
bug do wslc ou do SDK é da Microsoft, e o app executar o comando que o usuário
digitou é a função dele.

Código de Conduta: Contributor Covenant 2.1, tradução oficial em pt-BR.

Templates de issue em formulário. O de bug pergunta o motor, a versão do WSL e
se o caso reproduz no modo de demonstração — essa última já separa problema de
UI de problema de container. O de ideia pede o incômodo antes da solução e se o
wslc suporta aquilo, porque a UI não inventa o que a CLI e o SDK não expõem.
@blackfoxsoftware
blackfoxsoftware merged commit 54aa8a3 into main Sep 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant