-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpatchnotes.json
More file actions
103 lines (103 loc) · 9.46 KB
/
Copy pathpatchnotes.json
File metadata and controls
103 lines (103 loc) · 9.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
{
"versoes": [
{
"versao": "0.3.1",
"data": "2026-09-02",
"titulo": "Acerto com a CLI 2.9.9 — o que ela mudou, e o que ela ganhou.",
"mudancas": {
"corrigido": [
"A view Redes voltou a abrir. A wslc 2.9.9 passou a devolver um objeto JSON por linha em vez de uma lista, e o app quebrava com “Unexpected non-whitespace character after JSON” ao carregar a tela.",
"As colunas de CPU e memória voltaram a aparecer no motor CLI: além do formato novo, o `stats` da 2.9.9 deixou de aceitar a opção que o app usava como alternativa, então a lista chegava sempre vazia, sem erro nenhum.",
"A coluna Portas volta a mostrar o endereço publicado (127.0.0.1:8080->80/tcp), e o status do container volta a dizer há quanto tempo ele está parado ou rodando.",
"As três limpezas — remover containers parados, imagens sem uso e volumes sem uso — voltaram a funcionar no motor CLI. A 2.9.9 não aceita mais a opção que o app passava, então o comando era recusado antes de começar; e a de imagens e volumes agora limpa tudo o que está sem uso, e não só o que estava pendente ou anônimo.",
"As redes bridge, host e none não oferecem mais a ação de remover. A CLI 2.9.9 passou a listá-las junto com as suas, e elas são predefinidas — tentar remover só dava erro."
],
"adicionado": [
"Copiar arquivos entre o Windows e um container, nos dois sentidos: novo item “Copiar arquivos…” no menu do container. É um comando que a wslc ganhou na versão 2.9.8 e que o app ainda não tinha.",
"Logs com recorte: o botão de logs agora abre nas últimas 500 linhas em vez de despejar o log inteiro desde o começo, e o item “Logs com opções…” escolhe quantas linhas, se mostra a hora de cada uma e a partir de (ou até) quando.",
"Remover container em execução ou imagem em uso deixou de ser um beco sem saída: quando a CLI recusa, o próprio aviso traz o botão “Remover mesmo assim”.",
"O diálogo de build ganhou uma aba Avançado: argumentos de build, ignorar o cache, atualizar a imagem base, estágio alvo, segredos, destino da saída, arquivo do ID e formato do progresso.",
"Conectar um container a uma rede agora aceita apelidos, IP fixo, links, IPs link-local e opções do driver — as cinco opções que a CLI 2.9.8 acrescentou.",
"Criar rede ganhou a faixa de IPs automáticos, para deixar parte da sub-rede livre para endereços fixos.",
"“Criar sem iniciar” no diálogo de executar: prepara o container com toda a configuração e deixa parado, para iniciar quando quiser.",
"Executar container ganhou IP fixo na rede, montagens detalhadas (com opções que o campo simples não tem, como somente leitura) e a política de busca da imagem no registry.",
"O comando rápido dos detalhes ganhou opções: diretório de trabalho, usuário, variáveis, arquivo de variáveis e rodar em segundo plano.",
"Parar container passou a aceitar sinal e tempo de espera, nos dois motores.",
"Volumes criados pelo motor CLI aceitam rótulos (pares chave=valor), que aparecem na inspeção.",
"Volumes VHDX também no motor CLI: o diálogo de criar volume ganhou a escolha do driver (guest ou vhd), com tamanho, tipo e dono — recurso que a CLI 2.9.9 trouxe e antes só existia no motor nativo."
],
"alterado": [
"Imagens, volumes, redes e a versão da CLI passaram a ser lidos em JSON em vez da tabela de texto, que vem traduzida e muda de cabeçalho conforme o idioma do Windows. A tabela continua como plano B para CLIs mais antigas.",
"Erros do motor nativo agora dizem o que aconteceu. Antes a tela mostrava só o código (“0x80040610”) quando o SDK não mandava mensagem; os 16 códigos do WSL passaram a ter texto em português.",
"Remover todos os containers, imagens ou volumes de uma vez ficou mais confiável: a remoção em massa não falha mais quando um item já saiu da lista no meio do caminho.",
"Quando o motor nativo está ativo, as ações que só existem na CLI (copiar arquivos, build, exportar, recortar logs, rótulos de volume, usuário do comando rápido) somem da tela em vez de falharem depois de clicadas."
]
}
},
{
"versao": "0.3.0",
"data": "2026-09-02",
"titulo": "O app passa a se atualizar sozinho a partir das releases.",
"mudancas": {
"adicionado": [
"Atualização automática pelas releases deste repositório: o app instalado checa ao abrir e a cada 6 horas, baixa em segundo plano e aplica a versão nova quando você fecha o app.",
"Seção \"Atualizações\" na aba Sistema: versão instalada, última checagem, progresso do download, as notas da versão nova e os botões de procurar e de instalar na hora.",
"A versão portátil também avisa quando sai versão nova — e leva para a release, já que trocar o .exe é de quem usa.",
"Categoria \"Atualização\" no painel de logs: tudo o que o updater faz fica registrado, inclusive quando falha."
],
"alterado": [
"O encerramento do app virou um caminho único e compartilhado: fechar a janela e instalar uma atualização passam pelo mesmo desligamento ordenado, que solta a sessão nativa antes de sair.",
"Só versões estáveis contam como atualização. Pré-lançamentos (0.4.0-rc.1) continuam publicados, para quem quiser baixar à mão."
],
"corrigido": [
"O empacotamento passou a gerar e publicar o latest.yml, sem o qual uma release fica visível para quem baixa à mão e invisível para quem já tem o app instalado. O job de empacotamento agora falha se o arquivo não existir."
]
}
},
{
"versao": "0.2.0",
"data": "2026-09-01",
"titulo": "O app agora tem instalador, e leva o SDK do WSL consigo.",
"mudancas": {
"adicionado": [
"Instalador (NSIS) e versão portátil para Windows x64, publicados como assets da release. Não são assinados: o SmartScreen avisa 'editor desconhecido'.",
"A wslcsdk.dll vai empacotada com o app — duas versões, 2.9.3 e 2.9.9, com a escolha feita em tempo de execução pela versão do WSL instalado.",
"Seletor de wslcsdk.dll na aba Sistema, para apontar uma DLL própria. O arquivo é sondado antes de ser aceito: versão, ABI e SHA-256 são lidos na hora, e o que não serve é recusado ali.",
"A aba Sistema passa a mostrar a origem da DLL em uso (empacotada, escolhida, do WSL ou de variável de ambiente), a ABI detectada e o tamanho do binário.",
"Ícone próprio do app."
],
"alterado": [
"Containers nativos SOBREVIVEM ao fechamento do app quando o SDK é 2.9.9+: eles param e são reabertos por nome na execução seguinte, em vez de serem apagados na saída.",
"O campo que a aba Sistema chamava de 'SDK' virou 'WSL (pelo SDK)': medindo, WslcGetVersion devolve a versão do WSL instalado, não a da DLL — binários diferentes respondem o mesmo número.",
"O app ficou ~100 MB menor: tudo o que só o renderer usa saiu de dependencies, onde viajava duas vezes (embutido no bundle e de novo em node_modules)."
],
"corrigido": [
"Login em registry e instalação guiada não corrompem mais a chamada quando a DLL é 2.9.9: as duas funções mudaram de assinatura sem mudar o header de forma detectável, e o app agora identifica a ABI e se adapta.",
"O teste de fumaça do app empacotado passou a separar o que é falha de empacotamento do que é ausência de WSL na máquina — antes ele exigia um motor nativo funcionando, que nenhum runner de CI tem."
]
}
},
{
"versao": "0.1.0",
"data": "2026-09-01",
"titulo": "Primeira versão pública: a superfície do wslc 2.9.4 inteira, nos dois motores.",
"mudancas": {
"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."
]
}
}
]
}