Registo de alterações

Cada versão, o que mudou nela, e ao que a mudança veio.

0.0.10Atual

3 de outubro de 2026

  • O mapa de tamanhos da Visão geral mostra por defeito o que pode ser removido, colorido como seguro ou para rever, com um interruptor para incluir os dados protegidos. Cada item tem nome: no próprio bloco quando cabe, e numa pequena lista numerada por baixo do mapa quando não cabe. O mapa de idade usa uma só cor, mais escura com a idade, e o verde volta a querer dizer só seguro.
  • O inspetor de Limpar diz o que é cada item, onde está, o que a limpeza lhe faz e como volta. Os factos, a medição e a evidência por trás da recomendação ficam em Porquê?. Em Projetos, tudo o que bloqueia uma limpeza continua à vista, e o que tranquiliza passa para Porquê?.
  • Projetos, Duplicados e as janelas de limpeza dizem o mesmo com cerca de metade das palavras.
  • O Histórico mostra as limpezas ao lado do detalhe da que escolheres, com os totais por resultado por baixo da lista. As Definições ficam em duas colunas equilibradas com metade do texto, e a secção de privacidade continua a listar todos os pedidos que o DevSweep faz.
  • Os nomes e as idades dos projetos já não aparecem cortados na lista de Projetos, e na janela mais estreita o detalhe passa para baixo da lista. Duplicados conta os locais ignorados e os ficheiros idênticos com o singular e o plural certos.
  • O alemão, o português e o francês usam sempre a mesma forma de tratamento formal.
  • No site, o demo mostra estes ecrãs como a app, incluindo as worktrees de um projeto, a pesquisa do Histórico e a secção de privacidade.

0.0.9

2 de outubro de 2026

  • Os tamanhos e as contagens são escritos no mesmo tipo de letra do texto à volta, com todos os algarismos da mesma largura. Na letra monoespaçada o separador decimal ocupava um carácter inteiro, e os números grandes liam-se "467 , 1".
  • Projetos conta os mesmos projetos que Limpar: os que estão sem atividade há um mês. O título usava três meses e dizia 467 MB onde Limpar mostrava 9,3 GB.
  • O verde fica para o que é seguro remover. Um projeto com a limpeza bloqueada, o total da barra de menus e uma seleção com itens para rever deixam de aparecer a verde, e a barra do disco na barra lateral mostra o que é seguro e o que é para rever nas suas próprias cores.
  • Nas Definições, os nomes protegidos como Keychains e o nome do idioma da interface aparecem por inteiro.
  • O mapa de tamanhos dá nome a blocos mais estreitos em vez de os deixar em branco.
  • A linha de comandos alinha cada caminho de um item por baixo do primeiro, e um ensaio diz o que iria para o Lixo em vez de dizer que foi.

0.0.8

2 de outubro de 2026

  • O DevSweep abre na Visão geral, que substitui Armazenamento e Dados de programação. Começa pelo que pode sair já e por um botão que limpa exatamente isso, mostra ao lado quanto merece ser revisto e lista o que pode sair do maior para o mais pequeno, com cada item marcado como Seguro ou Rever. Os itens protegidos também aparecem e nunca podem ser selecionados.
  • A Visão geral diz o que acontece antes de carregares em Limpar: as pastas seguras são apagadas de vez, as pastas para rever vão para o Lixo e o comando de uma ferramenta decide o que remove.
  • Uma análise parcial passa a ser um aviso de uma linha em todos os ecrãs, com os locais que não puderam ser medidos a um clique. Antes era um cartão por cima de tudo o que a análise tinha encontrado.
  • Os botões e as etiquetas Seguro e Rever estão mais escuros no modo claro, para o texto se ler melhor.
  • No site, o demo também abre na Visão geral, e o resumo da limpeza já não diz que todos os itens iriam para o Lixo: os seguros são apagados de vez.

0.0.7

2 de outubro de 2026

  • O comando para repor uma pasta de dependências vem do lockfile mais próximo dela: pnpm install, bun install, yarn install, uv sync, poetry install ou bundle install. Antes dizia npm install num workspace do pnpm, e pip install ao lado de um uv.lock.
  • Para repor um projeto, o primeiro passo é reinstalar as dependências, com cada gestor de pacotes que ele usa, em vez de nomear só a pasta maior.
  • As Transferências do Homebrew medem só o que o brew cleanup remove. O índice do próprio Homebrew e a cache a partir da qual ele corre contavam como espaço que a limpeza libertava, e não libertava. Quando há um comando entre os itens a limpar, a confirmação já não diz que nada mais é tocado: é a ferramenta que decide o que remove.
  • O Rust, o Python e o Go são reconhecidos pelas suas ferramentas e não só pelas caches, por isso limpar uma cache já não faz as Definições dizerem que a ferramenta não está instalada.
  • Os comandos mostrados para copiar vêm com as aspas de que a shell precisa, por isso uma mensagem de commit com espaços é colada como uma só mensagem.
  • O tempo desde a última alteração de um projeto aparece como uma duração em todas as línguas, e as contagens leem-se bem no singular: um commit, uma worktree.
  • O Histórico está todo traduzido, incluindo o título, o filtro por resultado e a forma como cada item foi removido. Em português, a app usa sempre a mesma forma de tratamento, e várias frases em português e em alemão foram corrigidas.

0.0.6

28 de setembro de 2026

  • O DerivedData e o registo do Cargo passam a ser limpos, como a análise os propõe. Os dois eram ignorados por segurança por terem um .git ou um .env lá dentro: as cópias dos pacotes Swift que o Xcode clona, e uma crate publicada com um .env. Isso pertence ao pacote, não a ti, e um .git ou um .env em qualquer sítio dos teus projetos continua a impedir a remoção.
  • Quando outro processo do uv está a usar a cache do uv, como um uv run que ainda está a correr, a limpeza di-lo logo e diz o que parar. Antes esperava três minutos e só dizia que o comando não tinha terminado a tempo.
  • A cache do pip é removida como a pasta que a análise mediu, por isso fica limpa seja qual for o pip que a encheu. O pip mais antigo das ferramentas de programação da Apple não vê a cache que as versões mais recentes escrevem, e dizia que não havia nada para remover.
  • Quando uma ferramenta falha, a razão mostrada é o erro que ela deu, e não o primeiro aviso que escreveu. O Homebrew escreve um aviso por cada fórmula desatualizada antes do erro que o parou.
  • O resumo da limpeza conta o que uma ferramenta removeu de facto. Um comando que para a meio fica registado com o que chegou a remover, e um que não liberta nada deixa de ficar registado com a estimativa da análise.

0.0.5

28 de setembro de 2026

  • O ecrã de compra mostra a oferta de lançamento enquanto durar: o preço reduzido, o preço cheio riscado e quantas licenças restam a esse preço. Pergunta ao devsweep.app quando o ecrã abre e mostra o preço cheio se não houver resposta.
  • Os preços aparecem como o teu Mac escreve dinheiro, com o separador decimal da tua região.
  • As Definições dizem exatamente quando o DevSweep contacta o devsweep.app: a verificação de atualizações, ativar ou libertar uma licença, e abrir o ecrã de compra. Antes diziam que a verificação de atualizações era o único pedido, o que não era verdade.
  • O ecrã de compra deixa de dizer que uma licença pode ser ativada offline. Ativar precisa da internet uma vez; depois disso o DevSweep funciona offline.

0.0.4

28 de setembro de 2026

  • A 0.0.2 e a 0.0.3 foram construídas com o código de 14 de setembro. Um passo do empacotamento ia buscar a aplicação a uma pasta onde o compilador já não escrevia, por isso as duas puseram números de versão novos em código antigo, e a maior parte do que anunciam não chegou a ninguém. Chega tudo com esta versão, e o empacotamento passa a recusar publicar uma aplicação que não acabou de construir.
  • Como a 0.0.3 anunciou, analisar continua grátis e remover precisa de licença: os 5 GB de limpeza gratuita acabam com esta versão. Nada do que já limpaste é afetado.
  • A análise mostra quanto já fez: um anel que se enche à medida que cada ferramenta termina, com as ferramentas por baixo, assinaladas quando acabam, ao centro da janela.
  • As partes da aplicação que ainda apareciam em inglês nas outras línguas estão traduzidas: o resumo da análise, os resultados da limpeza e os motivos para um item ter sido ignorado, o ecrã de compra e os títulos das janelas.
  • As Definições têm uma secção de Idioma, para o DevSweep poder usar uma língua diferente da do resto do Mac.
  • Na barra de menus, Rever o que sairia abre a janela, e Analisar de novo mostra que há uma análise a decorrer em vez do total anterior.
  • Os cartões da coluna da direita das Definições têm todos a mesma largura.

0.0.3

26 de setembro de 2026

  • Analisar é grátis para sempre, e a licença é para remover. Os 5 GB de limpeza gratuita acabaram. Nada do que já limpaste é afetado, e o analisador continua a mostrar todas as localizações, todas as classificações e todos os caminhos sem pagar.
  • Uma compra pode cobrir vários Macs. Comprar mais do que um baixa o preço de cada um, e um lugar pode ser libertado nas Definições, em Plano, para o passar a outra máquina.
  • O cartão das permissões passa a dizer a verdade sobre o Acesso Total ao Disco. No macOS 27 dizia que o acesso estava desligado por mais vezes que o concedesses, porque verificava uma pasta que essa versão do macOS já não cria. Agora pergunta a vários sítios, e basta um responder.
  • As Definições oferecem-se para reabrir o DevSweep depois de concederes esse acesso. O macOS só entrega esta permissão a uma aplicação quando ela arranca, por isso concedê-la a um DevSweep em execução não muda nada até ele reabrir.

0.0.2

25 de setembro de 2026

  • Abre ao primeiro duplo clique. Uma cópia descarregada no browser era antes retida pelo macOS antes sequer de arrancar: o ícone saltava na Dock, não era escrito nada no registo, e a única saída estava enterrada nas Definições do Sistema. Deixou de acontecer, e a janela de instalação já não tem de avisar disso.
  • Oferece-se para guardar uma cópia de um projeto que só existe neste Mac — criando um repositório privado, ou enviando o que já está em commits. Pergunta primeiro, e nunca decide o que entra num commit.
  • Diz o que custaria remover a pasta inteira de um projeto. Uma pasta só conta como recuperável quando todos os commits já estão noutro sítio e nada ficou por committar, por seguir ou guardado num stash. Tudo o resto é recusado, com o que se perderia listado item a item. O DevSweep não remove pastas de projetos.
  • Lista os outros checkouts de um repositório e o que cada um está a segurar, para que remover uma pasta não deixe outra órfã sem dar por isso.
  • Diz porque é que cada item está na lista. Todo o resultado removível traz a razão por que foi oferecido: o limite que ultrapassou, a ferramenta que o deu como não usado, ou o que o torna reproduzível.
  • Encontra sobras de ferramentas de programação com IA, incluindo o Claude Code e o Codeium: caches de trabalho, a cache do mercado de plugins, e binários de browser descarregados. As transcrições de sessões e o histórico de ficheiros são medidos e nunca oferecidos para remoção.
  • Liga pastas de projetos que contêm versões do mesmo trabalho, com a razão à vista. Nada se torna removível por se parecer com outra coisa.