v1.3.0
[1.3.0] - 2026-02-10
Dashboard — Monitoramento em Tempo Real
- Janela de Dashboard com métricas do servidor via SSH (leitura de /proc)
- CPU, Memória (com sparkline de histórico), Disco (gráfico donut)
- Network Interfaces com IP e velocidade em tempo real
- Uptime, System Info (hostname, OS, kernel, load average)
- Top Processes por CPU e por Memória
- Refresh automático configurável (padrão: 3s)
- Color-coding por threshold (verde → amarelo → vermelho)
Sidebar — Redesign
- Sidebar reorganizada em seções: Connection Header, File Actions, Favorites, Tools, Footer
- Collapse/Expand toggle — colapsa para icon strip (52px) com tooltips
Login — Redesign
- Tela de conexão reescrita com dark theme, ícones por campo e hero header
- Sidebar de conexões recentes com seleção estilizada
Editor
- Detecção de alterações não salvas com diálogo de confirmação (Save/Don't Save/Cancel)
[1.2.0] - 2026-02-10
Editor — Monaco Editor (VS Code Engine)
- BREAKING: Substituição do AvalonEdit pelo Monaco Editor (mesmo engine do VS Code)
- Editor embarcado via WebView2 com carregamento CDN (Monaco v0.52.2)
- Tema VS Code Dark+ idêntico ao original
- Detecção automática de linguagem para 60+ extensões de arquivo
- Suporte completo a: IntelliSense, syntax highlighting, code folding, minimap, word wrap
- Atalhos do VS Code funcionando nativamente (Ctrl+S, Ctrl+F, Ctrl+H, Ctrl+G, F1, etc.)
Editor — Toolbar Visual
- Nova barra de ferramentas com botões expostos: Undo, Redo, Find, Replace, Format, Fold All, Unfold All
- Botão Go to Line (Ctrl+G) e Command Palette (F1) acessíveis via toolbar
- Toggles visuais para Word Wrap e Minimap com estado visual (ligado/desligado)
- Controle de tamanho de fonte (A-/A+) com range 8-32px
- Botão Shortcuts com janela estilizada listando todos os atalhos disponíveis
Editor — Barra de Status (VS Code Style)
- Status bar azul (#007acc) no rodapé com informações em tempo real
- Posição do cursor (Ln/Col), informação de seleção, contagem de linhas
- Indicador de linguagem, encoding e tamanho do arquivo
- Indicador de dirty state (modificações não salvas)
Editor — TitleBar e Janela
- Adicionado
ui:TitleBarcom botões nativos de minimizar, maximizar e fechar - Janela agora é arrastável e redimensionável corretamente
- Janela de Shortcuts estilizada no padrão visual do app (FluentWindow + Mica)
Editor — Correções
- Fix: Conteúdo do arquivo aparecia vazio ao abrir — corrigido double-encoding do WebMessage (
WebMessageAsJson→TryGetWebMessageAsString) - Fix: Botões da toolbar não funcionavam após clicar fora do editor — adicionado
FocusEditorAsync()que refoca WebView2 + Monaco antes de cada comando - Fix:
NullReferenceExceptionemOnMinimapChangedao inicializar — adicionado guardIsReadyem todos os handlers da toolbar - Fix: Command Palette não abria — corrigido
executeCommand()JS para usareditor.getAction(id).run()para actions eeditor.trigger()como fallback
Terminal — Compatibilidade TTY
- Suporte a DECCKM (cursor key mode) para navegação em menus interativos
- Suporte a DECKPAM/DECKPNM (application/numeric keypad mode)
- Suporte a bracketed paste mode (colagem segura em editores)
- Suporte a mouse tracking (SGR 1006, normal, button, any-event)
- Suporte a focus events (in/out reporting)
- Respostas automáticas: DSR (Device Status Report), DA (Device Attributes)
- Sequências REP (repeat character) e CBT (cursor backward tab)
- Tratamento de C0 controls e ESC dentro de sequências CSI
- Tracking de charset ativo (
_activeCharset) e fix de terminador DCS
Terminal — Renderização de Tabelas
- Reescrita do sistema de renderização: de spans para per-character em posições exatas de grid
- Cada caractere renderizado em
col * _cellWidth— elimina acúmulo de erros sub-pixel - Tabelas de
htop,glances,pm2 monitagora exibem alinhamento perfeito
Terminal — UTF-8
- Fix: Caracteres multi-byte (UTF-8) corrompidos quando sequência era dividida entre reads do buffer
- Substituição de
Encoding.UTF8.GetString()porSystem.Text.Decoderstateful que preserva estado entre leituras - Corrigido
stty resizecom redirecionamento de stderr (2>/dev/null)
Tasks — Novos Comandos
- Adicionado PM2 Stop All — para todos os processos PM2
- Adicionado PM2 Stop Specific — para um processo específico (com seleção dinâmica)
- Adicionado PM2 Delete Specific — remove um processo do PM2 (com seleção dinâmica)
- Adicionado PM2 Logs — exibe últimas 50 linhas de log de todos os processos
- Adicionado PM2 Logs Specific — exibe logs de um processo específico (com seleção dinâmica)
- Adicionado PM2 Save — salva lista de processos para reinício automático
- Adicionado Nginx Restart — reinicia o serviço Nginx
- Adicionado Nginx Stop — para o serviço Nginx
- Adicionado Nginx Status — exibe status do serviço Nginx
- Adicionado Nginx Test Config — testa configuração do Nginx por erros de sintaxe
- Total de tasks: 3 → 13 comandos pré-configurados
Tasks — Toggle Sudo
- Adicionado toggle sudo na sidebar da janela de Tasks
- Quando ativo (padrão), todos os comandos são executados com
sudoe pedem senha - Quando desativado, comandos rodam sem
sudo— ideal para servidores onde o usuário já é root sudoé aplicado dinamicamente em runtime, não mais hardcoded nos comandosGetPM2ApplicationsListAsyncatualizado para suportar modo com/sem sudo
[1.1.0] - 2026-02-10
Migração
- BREAKING: Migração de .NET Framework 4.8 → .NET 8.0-windows
- Requisito: .NET 8 Runtime agora é necessário para executar o aplicativo
- Performance melhorada: startup 30% mais rápido, menor uso de memória
Segurança
- CRÍTICO: Implementado
SecurePasswordManagercom proteção process-scoped- Senha criptografada em memória com AES-256
- Chave única por processo (gerada na inicialização)
- PID binding para isolamento máximo
- Memory zeroing com unsafe code
- Impossível decrypt por outros processos (mesmo do mesmo usuário)
- Habilitado
AllowUnsafeBlockspara memory zeroing de senhas
Técnico
- Target Framework:
net8.0-windows(Windows-specific WPF application) - Compilação bem-sucedida: 0 erros, 48 warnings (nullable references)
- Compatibilidade verificada: WPF, SSH.NET, WPF-UI, AvalonEdit
- C# 12 features habilitadas
- Nullable reference types ativadas (melhor null-safety)
Por Que Migrar?
.NET Framework 4.8não temDataProtectionScope.Process(necessário para segurança máxima)- AES-256 process-scoped oferece segurança equivalente ao ProtectedMemory
- Suporte de longo prazo (LTS) até 2026+
- APIs modernas de criptografia com hardware acceleration
Compatibilidade
- ✅ Windows 10 1607+ (Anniversary Update)
- ✅ Windows 11 (todas as versões)
- ✅ Windows Server 2019+
- ❌ Windows 7/8.1 (não suportado pelo .NET 8)
Notas de Atualização
Para usuários do .NET Framework 4.8:
- Baixar e instalar .NET 8 Desktop Runtime
- Credenciais existentes permanecem compatíveis (mesmo algoritmo DPAPI)
- Arquivos de configuração não precisam ser alterados
[1.0.1] - 2026-02-09
Adicionado
- Botão de ajuda (Atalhos) com lista completa de hotkeys do aplicativo.
- Editor aprimorado com detecção de comentários e suporte a arquivos de configuração (.env, dockerfile).
- Novo tema de cores para o editor (baseado no VS Code Dark+).
- Sistema de ícones padronizado em SVG.
- Script automatizado para build (build.bat).
Modificado
- Reformulação da documentação e remoção de dependências externas de ícones.
- Padronização visual dos assets.
Corrigido
- Ajustes na detecção de sintaxe e comentários no editor de texto.
[1.0.0] - 2026-02-06
Adicionado
- Lançamento inicial do VPS File Manager.
- Gerenciador de arquivos SFTP completo (Upload, Download, Drag & Drop).
- Terminal SSH integrado com emulação VT100/xterm-256color.
- Editor de código remoto com syntax highlighting.
- Sistema de automação de tarefas e scripts.
- Gerenciamento seguro de conexões com criptografia (DPAPI).