As notas de versão agora aparecem no seu idioma quando um app as publica em vários. Alguns apps distribuem as notas traduzidas junto com cada versão; o DuoUpdater pegava a tradução que o app listasse primeiro ou por último, então as notas de um app apareciam em alemão para todo mundo e as de outro mudavam de idioma de uma versão para a outra.
Os apps que ganharam uma versão para Mac não aparecem mais como “não compatível com este Mac”. Um app de iPhone ou iPad que você usa no Apple silicon era marcado por engano no momento em que o desenvolvedor lançava um build de verdade para Mac — justamente a mudança que torna a atualização mais disponível, e não menos.
Um app da App Store que você também testa em beta não é mais confundido com um build do TestFlight. Quando um desenvolvedor promovia um beta sem alterações, os dois tinham o mesmo número de build e a sua cópia comprada era entregue ao TestFlight — então a App Store nunca conseguia oferecer uma atualização para ela.
Uma atualização da App Store que exige um macOS mais novo que o seu agora avisa isso. Antes, a linha oferecia instalá-la mesmo assim e a App Store recusava no último passo, sem nada na tela explicando por quê.
A janela Requisições agora mostra até quando o registro realmente vai, e marca os intervalos de datas que não consegue cobrir por inteiro. Antes, escolher “Últimos 30 dias” em um registro que só cobria algumas horas parecia exatamente igual a escolher “Últimas 24 horas”, sem nada na tela explicando por quê.
Você escolhe o quanto o DuoUpdater faz com os betas do TestFlight, em Ajustes → Geral. Quando eu recarregar lê o que o TestFlight já sabe e pede a ele uma resposta atualizada quando você clica em Recarregar; Mantenha tudo em dia também deixa o DuoUpdater perguntar por conta própria, então um beta que o TestFlight instalou em segundo plano não fica mais como um ponto de interrogação até você recarregar, e um build esperando por você não passa mais despercebido atrás de um “atualizado”; Desativado não lê nada e diz isso nessas linhas, em vez de chutar. Os Macs que já tinham Acesso Total ao Disco começam em Quando eu recarregar; todos os outros, em Desativado.
Abrir o TestFlight por conta própria agora basta para o DuoUpdater perceber o que ele instalou. Um beta que você instalou pelo TestFlight ficava como um ponto de interrogação até a próxima recarga — e no macOS 27, onde o aviso “Ready to Test” do TestFlight não chega mais para apps que você já tem, isso podia levar horas.
O Cline agora recebe atualizações, tanto dos builds finais quanto dos beta, e mostra suas notas de versão. Até agora ele ficava com um ponto de interrogação em vez de uma versão — não tem nenhum feed de atualização do tipo que o DuoUpdater consegue ler, e não existe pacote do Homebrew para ele. O DuoUpdater agora consulta o mesmo endereço que o atualizador do próprio Cline consulta, então a atualização oferecida é a mesma que o Cline teria instalado sozinho, e o build beta continua na linha beta.
As notas de versão que agrupam as mudanças sob títulos como Adicionado e Corrigido agora mantêm esses títulos. Antes, todos os grupos eram mesclados em uma única lista, e não dava para saber quais mudanças eram recursos novos e quais eram correções de bugs.
O Mac Mouse Fix agora oferece as versões beta se você ativou “Get Beta Versions” nos ajustes gerais dele. Antes, o DuoUpdater só via as versões normais do Mac Mouse Fix, então um build beta passava despercebido até a próxima versão normal sair.
Os apps cujo número de build é um simples contador não escondem mais as próprias versões de correção. Para um app que informava uma versão como 12.10 com o build 282987, uma versão 12.10.1 aparecia como “já atualizado”.
Um novo build de um app que mantém o mesmo nome de versão volta a ser anunciado. Depois que um build era anunciado, todos os builds seguintes com esse nome chegavam em silêncio — a linha se acendia, o contador o incluía, mas nenhum aviso aparecia.
“Atualizar Tudo” agora conta apenas os apps que foram de fato atualizados. Um app que abre o Instalador da Apple para você terminar era contado como concluído enquanto a janela dele ainda estava aberta, então “2 apps foram atualizados” podia significar que nada tinha mudado ainda.
Uma atualização que foi aplicada mas deixou um resto para trás agora aparece como instalada, e não como “conceder Gerenciamento de Apps”. A nova versão já estava em execução enquanto a linha mandava você para os Ajustes do Sistema.
Interromper “Atualizar Tudo” agora interrompe o download em andamento. Antes, uma transferência de vários gigabytes continuava até o fim, com até cinco novas tentativas, e só então percebia que tinha sido cancelada.
As notas de versão não se misturam mais entre dois apps que compartilham uma página de histórico de alterações, e continuam atualizadas depois de uma atualização nos apps cujas notas ficam em páginas separadas por versão. O Antigravity e o Antigravity IDE podiam mostrar as notas um do outro por quinze minutos; o Thunderbird, o WeChat, o Opera e alguns outros continuavam mostrando as notas da versão anterior por um tempo depois de atualizar.
A busca na lista de apps ignora acentos, como a busca dos Ajustes já fazia. Digitar “cafe” agora encontra “Café”.
A página Diagnóstico lista uma linha de estado para cada canal de lançamento. Uma regra de beta ou de preview com problema ficava escondida atrás da regra estável irmã, que estava funcionando.
Uma resposta “forbidden” do GitHub não é mais informada como limite de requisições. Um repositório que virou privado ou um token sem um escopo levava você a adicionar um token que não teria ajudado.
Reabrir não é mais oferecido para um app que se atualiza sozinho quando o build que está esperando é mais antigo que o que está em execução.
Nos bastidores. Instalações, backups e verificações de pacotes não ocupam mais os threads em que o resto do app roda, então o menu continua respondendo enquanto uma delas está em andamento; o menu também continua fluido durante um download grande; o Registro de Versões conta todas as versões que um fornecedor lança sob um mesmo nome de versão; um backup de reversão é recusado, em vez de guardado, quando estiver faltando o executável do próprio app; a primeira abertura em um Mac novo não registra mais erros falsos de banco de dados; o duo verify e o duo reconcile agora informam um histórico de alterações cujo número de entradas despencou e um endereço de instalador que vem falhando há dias; um comando duo travado desiste da varredura depois de vinte segundos, em vez de ficar parado.