v1.10.0
🚀 Docker Native Manager - v1.10.0
Esta versão traz melhorias significativas na visibilidade de Stacks Swarm, otimização de performance para ambientes clusterizados e uma experiência de atualização mais rica com notas de versão integradas.
🛠 O que há de novo:
- 📊 Visibilidade Cluster-wide de Swarm: Reimplementação completa da detecção de stacks Swarm utilizando inspeção em lote (bulk inspect). Agora, o DNM identifica corretamente stacks criadas em qualquer nó do cluster, não apenas no nó local.
- ⏳ Feedback de Processamento: Ao realizar ações como "Stop", "Start" ou "Restart" em uma stack, a interface agora exibe um estado visual de "Processing..." pulsante, garantindo que você saiba exatamente quando o comando foi enviado e está sendo executado pelo Docker.
- 📂 Ordenação de Stacks: A lista de stacks agora é organizada automaticamente por Data de Criação, colocando as stacks mais recentes (Compose ou Swarm) no topo para facilitar o acesso.
- 📦 Imagens e Repositórios: Melhoria na detecção de metadados de imagens. Agora, o DNM utiliza
repo_digestscomo fallback inteligente quando as tags não estão disponíveis, garantindo que o repositório correto seja exibido mesmo para imagens utilizadas em serviços Swarm.
🎨 Melhorias de UI/UX:
- 📝 Notas de Versão Integradas: O popup de nova versão agora exibe as notas de release completas diretamente no app, com suporte total a links e formatação Markdown.
- 🛡️ Atualização Inteligente: O aviso de nova versão agora só é disparado se houver binários/assets prontos para download no GitHub, evitando prompts de atualização vazios.
- ⚡ Performance no Swarm: Redução drástica no número de chamadas ao sistema (CLI) ao carregar stacks Swarm, eliminando o problema de "N+1" e tornando a interface instantânea mesmo em clusters grandes.
🐛 Correções:
- Resolvido o problema onde stacks Swarm apareciam incorretamente como "Stopped" ou desapareciam devido a incompatibilidades na formatação do comando
docker service ls. - Corrigida a falha na identificação de saúde do serviço quando o Docker não populava o campo
ServiceStatus, utilizando agora a especificação de replicas como fallback. - Ajustada a lógica de sincronização para garantir que o estado real do cluster seja refletido após o término do processamento de uma ação.