A release of the APT package management tool 3.2.0 (Advanced Package Tool) has been formed, incorporating changes accumulated in the experimental branch 3.1. The new release will soon be integrated into the Unstable and Debian Testing branches, and will also be added to the Ubuntu package repository. APT 3.2 will be utilized in the release of Debian 14. Ubuntu 26.04 currently uses APT 3.1.16, which is identical to release 3.2.0, except for fixes in the translations of built-in hints and man pages.
Notable changes include:
- New commands 'apt why' and 'apt why-not' have been added. The 'apt why' command tracks the reason for the automatic installation of the specified package among dependencies (showing the chain of dependencies that led to the installation). The 'apt not-why' command demonstrates the reasons for the inability to install a package due to conflicts or missing dependent packages. Unlike similar commands offered in the aptitude utility, the newly added apt commands provide not the potentially most likely, but the actual reason calculated by the dependency resolver.
- The '.sources' files have been enhanced with 'Include' and 'Exclude' options, allowing for the loading of only specified packages from the repository (whitelist) or the exclusion of certain packages in the repository (blacklist).
- The dependency resolution engine Solver3 has been refactored and its capabilities extended. The use of Solver3 is enabled by default in command-line utilities. Solver3 is notable for incorporating a backtracking search algorithm to resolve conflicts between dependencies, improved version selection, support for multi-stage updates, significant performance enhancements (apt-test runs twice as fast), an option for installing experimental versions, protection against the manual removal of installed packages, and more aggressive automatic removal of unused dependencies.
- Support for CPU microarchitecture variants (amd64v1, amd64v2, amd64v3, amd64v4) has been implemented, which can be specified in the 'Architecture:' field or included via the APT::Architecture-Variants setting. For example, specifying 'APT::Architecture-Variants { "amd64v3"; "amd64v2" }' will use separate package variants with executables compiled with optimizations for the x86-64-v2 and x86-64-v3 architectures (foo_1_amd64v3.deb and foo_1_amd64v3.deb).
- Commands added: "history-list" for parsing and displaying information from the transaction history log with packages; "history-info" for showing details on individual transactions; "history-undo", "history-redo", and "history-rollback" for canceling, repeating, and rolling back transactions with packages.
- Support for HTTPS has been added to the dselect utility.
- Added protection against entering sleep mode during dpkg execution.
- It is now possible to bind the execution of apt-daily to the event of connecting a laptop to AC power.
- Implemented the ability to keep a log with performance counters in JSONL format.
Source: opennet.ru
