A versão 3.3 do APT — ferramenta central de gerenciamento de pacotes do Debian — foi incorporada ao repositório Unstable (sid), etapa inicial do ciclo de desenvolvimento da distribuição. O lançamento marca um marco importante: o fim do aviso histórico sobre a instabilidade da interface de linha de comando (CLI) do apt.
Por anos, usuários viam mensagens como "Warning: The apt CLI is not stable yet..." ao executar certos comandos interativamente. O Debian recomendava o uso de apt-get e apt-cache em scripts, reservando apt exclusivamente para uso interativo por sua simplicidade e saída formatada. Agora, esse aviso foi removido oficialmente.
Por que o aviso desapareceu?
A mudança é possível graças à introdução da flag --cli-version, que permite ao APT declarar e manter compatibilidade com versões específicas da interface de linha de comando. Com isso, novas funcionalidades podem ser adicionadas sem quebrar scripts legados — e versões antigas da CLI podem ser descontinuadas de forma controlada, sem necessidade de um alerta genérico.
Essa evolução consolida o apt como uma ferramenta pronta para ambientes mistos: tanto para uso humano quanto para automação robusta.
Correções críticas em atualizações graduais
O mecanismo de Phased-Update-Percentage, responsável por liberar atualizações de forma progressiva (em vez de atingir todos os usuários de uma vez), recebeu uma correção importante. Uma falha de probabilidade que poderia distorcer a distribuição real dos pacotes entre os usuários foi corrigida. Isso aumenta a confiabilidade do sistema de rollout gradual — essencial para mitigar impactos de atualizações problemáticas.
Melhorias no núcleo de aquisição de pacotes
O código de aquisição de pacotes (pkgAcquire) foi aprimorado em dois pontos-chave:
- Tratamento mais seguro de transações quando
pkgAcquire::Runé cancelado; - Reordenação na gravação de metadados
InRelease, agora realizada após outros itens da transação — garantindo consistência e integridade no cache local.
Usabilidade e correções de relacionamento entre pacotes
Na camada de experiência do usuário:
- A lista de histórico (
apt history) agora se adapta dinamicamente à largura do terminal; - A otimização de atalhos de comandos foi refinada para maior eficiência;
- Um erro de análise de dependências foi corrigido, especialmente em relações
Pre-Depends, que são críticas para a ordem correta de instalação de pacotes essenciais.
Modernização do código-fonte
O projeto adotou construções mais recentes do padrão C++17/C++20 em diversos módulos, incluindo:
std::span
for (auto& item : container) // loops baseados em intervalo
container.emplace(...)
std::make_unique<...>()
Além disso, foram sanadas várias fugas de memória no código de manipulação de métodos (como http, ftp, file), contribuindo para maior estabilidade e eficiência em operações de rede e disco.
Próximos passos no ciclo do Debian
A versão 3.3 está atualmente disponível apenas no repositório Unstable. Ela seguirá para Testing após cumprir critérios de estabilidade e tempo mínimo de permanência — processo típico antes de eventual inclusão no próximo Stable.
Para detalhes completos, consulte o changelog oficial.