apt (3.1.6ubuntu2) questing; urgency=medium

  * test-history: Adjust for as-installed testing.
    When testing as installed, we inadvertently do not replace
    the command-line with dummy in the "apt history-list"
    command.

 -- Julian Andres Klode <juliank@ubuntu.com>  Tue, 30 Sep 2025 16:02:35 +0200

apt (3.1.6ubuntu1) questing; urgency=medium

  * Merge from Debian; remaining changes:
    - Implement support for architecture variants
  * Easter egg (LP: #2125788)

 -- Julian Andres Klode <juliank@ubuntu.com>  Mon, 29 Sep 2025 13:07:23 +0200

apt (3.1.6) unstable; urgency=medium

  [ David Kalnischkies ]
  * Show command in test failure messages if default is overridden
  * Support kernel images with + in uname in kernel autoremove test

  [ Simon Johnsson ]
  * History Command and Parsing

 -- Julian Andres Klode <jak@debian.org>  Fri, 26 Sep 2025 18:38:54 +0200

apt (3.1.5ubuntu2) questing; urgency=medium

  * ubuntu: 3.0 solver: Allow removing manually installed packages.
    Dealing with the questions raised so far becomes a bit too
    challenging particularly given that we did not have time
    to work on the messaging to explain these errors in nicer
    ways, so disable the safety mechanism for now so users
    end up in the situation less often.

 -- Julian Andres Klode <juliank@ubuntu.com>  Fri, 12 Sep 2025 18:15:04 +0200

apt (3.1.5ubuntu1) questing; urgency=medium

  * Merge from Debian; remaining changes:
    - Implement support for architecture variants

 -- Julian Andres Klode <juliank@ubuntu.com>  Tue, 26 Aug 2025 21:05:50 +0200

apt (3.1.5) unstable; urgency=medium

  [ Christopher Bock ]
  * completion: apt why/why-not

  [ Julian Andres Klode ]
  * doc: Remove <filename> inside <arg>
  * solver3: Sort dependency targets against current alternative
  * solver3: Allow any downloadable version to mark a package as not obsolete
  * debListParser: Cache `essential` and `myArch` more
  * edsp: Clear architecture cache
  * edsp: Do not skip lines (fixes Architecture reading)

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #1111124)

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #1111875)

  [ Tianyu Chen ]
  * Update Simplified Chinese translation

  [ Biswapriyo Nath ]
  * Fix indentation compiler warning with clang

 -- Julian Andres Klode <jak@debian.org>  Tue, 26 Aug 2025 21:02:54 +0200

apt (3.1.4) unstable; urgency=medium

  * Upload to unstable 

 -- Julian Andres Klode <juliank@ubuntu.com>  Mon, 11 Aug 2025 17:27:45 +0200

apt (3.1.3) experimental; urgency=medium

  [ Biswapriyo Nath ]
  * Include standard headers to fix clang compiler error

  [ Julian Andres Klode ]
  * Fix stuck acquire queues on partial server errors (LP: #2003851)
  * tls: Do not trigger assertion after closing connection (Closes: #1107827)
  * German translation update (Closes: #1106116)

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #1103640)

  [ bubub ]
  * French manpages translation update (Closes: #1103760)

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1104312)
  * Dutch manpages translation update (Closes: #1104313)

  [ Miroslav Kure ]
  * Czech program translation update (Closes: #1106155)

 -- Julian Andres Klode <juliank@ubuntu.com>  Mon, 11 Aug 2025 17:27:43 +0200

apt (3.1.2) experimental; urgency=medium

  * solver3: Avoid FTBFS with g++ 14.2 on arm{el,hf}

 -- Julian Andres Klode <jak@debian.org>  Tue, 10 Jun 2025 21:16:14 +0200

apt (3.1.1) experimental; urgency=medium

  * Bump CMAKE_CXX_STANDARD to 23 and fix code
  * solver3: Assume manual packages. This orders all the manually
    installed packages by preference (as we do for providers),
    and ensures that we will not remove manual packages if we
    do not need to.
  * solver3: Merge intersecting dependencies (LP: #2111792)
    When seeing dependencies on the same package, such as
        Depends: a (>= 1), a (<< 2)
    merge them into a single depends so that both of them
    are satisfied by the same package, rather than say
        Package: a-0, Provides: a (= 0) - satisfies a (<< 2)
        Package: a-2, Provides: a (= 1) - satisfies a (>= 1)
  * solver3: Ignore Architecture: all for obsoleted-by.
    This avoids a problem in unstable/proposed setups where binaries
    are not published together for all architectures, and foo:native
    could be considered obsolete because of a newer bar:all.
  * solver3: Filter installed Recommends
    A currently satisfied Recommends is filtered to the same packages
    it is currently satisfied by, ensuring that say, removing a will
    not install a `b` to keep a Recommends: a | b satisfied.
  * solver3: Minor refactorings
    - Remove Work::choice
    - solver3: Allow CompareProviders3 with empty package
  * solver3: Minor bug fixes
    - Handle failed assumption in Pop()
    - If no choice was made nothing to invert
      (avoid trying to "undo" the root assignment)
    - Initialize startTime if not set in Pop()
    - solver3: Explicitly declare and define ~Solver
  * Avoid cast alignment warning in cache string view

 -- Julian Andres Klode <jak@debian.org>  Tue, 10 Jun 2025 17:39:38 +0200

apt (3.1.0) experimental; urgency=medium

  [ Julian Andres Klode ]
  * debian/NEWS: Document new requirements on trusted.gpg.d (Closes: #1104320)
  * test: Fix test-skipped regression in 3.0.1
  * test: Do not use host's sequoia config
  * Pass --check to msgfmt and fix broken format strings
  * Add 'Include'/'Exclude' options to limit packages used from a repository
    'Include' allows limiting a repository to a allowlist of packages,
    'Exclude' allows removing packages from a repository.
  * Introduce apt why, apt why-not
  * Update translation templates and merge translations
  * Ubuntu: Enable 3.0 solver by default in apt CLI tools

  [ Herman Semenov ]
  * apt-pkg: fixed type comparison in 64bit systems using memsize cast

  [ Walter Lozano ]
  * Fix error handling with getline

  [ Guillem Jover ]
  * dselect: Add https support
  * dselect: Pass available file from stdin to dpkg --update-avail
  * dselect: Refactor bold printing into its own function
  * dselect: Use strict and warnings pragmas
  * dselect: Use Term::ANSIColor instead of forking setterm
  * dselect: Use qw() instead of lists of quoted strings
  * dselect: Replaces obsolete file comment header with copyright and SPDX marker

  [ Simon McVittie ]
  * apt_preferences(5): Specify the order in which files are parsed
  * sources.list(5): Explicitly say what the precedence order is

  [ Max Coplan ]
  * 💬 Recommend use of `apt update` over `apt-get update`

  [ David Kalnischkies ]
  * Include everything in our pkg-config autopkgtest

  [ Demi M. Obenour ]
  * Fail on stdio errors

 -- Julian Andres Klode <jak@debian.org>  Mon, 19 May 2025 19:13:54 +0200

apt (3.0.1) unstable; urgency=medium

  [ Laurent Bigonville ]
  * Remove boggus option in French manpage translation

  [ Julian Andres Klode ]
  * Update Sequoia crypto policy.
    Move our cut-offs to February to align with Sequoia, and cut-off more:
    - 2024-02: DSA keys retroactively (align with GnuPG config)
    - 2026-02: SHA224 hashes
    - 2028-02: Brainpool keys (align closer with GnuPG backend)
    - 2030-02: RSA2048 keys
    These algorithms will not be valid starting on those cut-off dates.
  * sqv: Refactor execution of sqv into separate method
  * sqv: Warn about signatures that will be rejected by policy within a year

 -- Julian Andres Klode <jak@debian.org>  Fri, 25 Apr 2025 23:08:27 +0200

apt (3.0.0) unstable; urgency=medium

  [ Julian Andres Klode ]
  * And so it begins: Bump the version to 3.0 to mark the start
    of a stable series, dedicated to Steve Langasek.
  * symbols: Update to 2.9.35
  * solver3: Consider more upgrades more costly when not upgrading
    (LP: #2105395)

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #1100801)
  * Dutch program translation update (Closes: #1100807)

  [ Rafael Fontenelle ]
  * Brazilian Portuguese program translation update (Closes: #1100964)

  [ Remus-Gabriel Chelu ]
  * Romanian program translation update (Closes: #1101535)

  [ Carles Pina i Estany ]
  * Catalan program translation update

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #1100550)

  [ bubub ]
  * French program translation update (Closes: #1100708)

 -- Julian Andres Klode <jak@debian.org>  Fri, 04 Apr 2025 22:32:19 +0200

apt (2.9.35) unstable; urgency=medium

  * Respect custom LESS/MORE/LV variables (LP: #2103921)
  * solver3: Correctly deb822-escape error message in evaluation report
    (LP: #2104276)
  * pager: Also set SMK in LESS, fix LV=C to be LV=-c (LP: #2104280)

 -- Julian Andres Klode <jak@debian.org>  Thu, 27 Mar 2025 22:52:21 +0100

apt (2.9.34) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Fix uploads to errors.ubuntu.com with whoopsie:
    - zstd: The compressor level should be -6, not -19
    - edsp: Add functionality to only write relevant packages
    - solver evaluation: write minimized solver dumps
    - edsp: Dump minimized Dir::Log::Solver logs
    - solver3: Use zstd-compressed, base64-encoded dumps
    - solver3: Avoid empty ErrorMessage field in evaluation crash report
  * solver3: Only hide ver->pkg clauses, not pkg->ver version selection ones
    - previously we hid version information vital to the understanding
    - thanks to Helmut Grohne for the report
  * solver3: Record manual flag before discovering packages (LP: #2102720)
  * solver3: Handle previously satisfied Suggests last and do not install
    new packages for Suggests (LP: #2103556)

  [ Johannes Schauer Marin Rodrigues ]
  * apt-pkg/solver3.h: avoid static_assert(false)
  * cmdline/apt-get.cc: emit Signed-By field and support $(SIGNED_BY) in
    apt-get indextargets --format

  [ Christopher Bock ]
  * doc/sources.list.5.xml: snapshot infos

 -- Julian Andres Klode <jak@debian.org>  Thu, 20 Mar 2025 22:45:30 +0100

apt (2.9.33) unstable; urgency=medium

  * 3.0 solver updates:
    - Fix detection of satisfied recommends for pkg variables
    - Print correct reason when registering dependency
    - Correctly determine 'same' or groups (a|c was same as a|b...)
    - Fix Recommends/Suggests vs Enhances confusion (LP: #2101800)
    - Fix test-resolve-by-keep-new-recommend
  * edsp: Set Forbid-New-Install/Forbid-Remove: no if other is set such
    that `apt upgrade` dumps are different from `apt-get upgrade` ones
    and can be correctly reproduced (as the one in the LP bug above).
  * test: Fix some weird editing artefact introduced in 2.9.32 causing
    a test to effectively be skipped.

 -- Julian Andres Klode <jak@debian.org>  Wed, 12 Mar 2025 19:22:59 +0100

apt (2.9.32) unstable; urgency=medium

  * Rewordings and documentation updates:
    - Add doc/design/install.md: Installation design
    - Replace "GPG error" with "OpenPGP signature verification failed"
  * Bug fix: Correctly detect obsolete packages in EDSP
    - refactor obsolete checks to use VerFileIterator::Downloadable()
    - Consider 0-size debs not downloadable, set a size in EDSP
    - edsp: Write 'Size' to the EDSP files
  * UX: Produce more human-readable dependency errors in 3.0 solver.
    - test: Grep continuation lines in error messages
    - solver3: Simplify Var pointer tagging
    - solver3: cleanup operators for Var
    - solver3: Support pretty printing clauses
    - solver3: Verbose error messages
    The output now has multiple lines, prints the underlying concrete
    dependency (foo Depends bar), and prints paths not taken.
  * Bug fixes:
    - solver3: bestReason: Only find actual assignments [i.e. when the
      path to a decision is determined for printing, we sometimes picked
      assignments with the wrong polarity, e.g. when determining "why not foo"
      in "foo Conflicts mail-transport-agent" we might have picked a
      decision "not exim4" rather than a choice "postfix"].
    - solver3: Do not prefer new installs over manually installed obsoletes.
      (LP: #2100247) - We still try dependencies with obsolete packages
      last, even if manual, so a "Depends: new" is processed before
      "Depends: new | obsolete" either way.
  * Feature: Introduce transaction support and upgrade count for pkgDepCache.
    - Introduce pkgDepCache::Transaction for transactional depcache updates
    - depcache: Add a new UpgradeCount() member
  * Feature: Fall back to the 3.0 solver if internal failed, or apport is
    installed.
    - Evaluate and fall back to the 3.0 solver
    - Print --solver 3.0 explanation if both internal and it failed
  * Both features have been shipped for several weeks in Ubuntu already and
    received minor bug fixes and additional test cases.

 -- Julian Andres Klode <jak@debian.org>  Sun, 09 Mar 2025 18:19:14 +0100

apt (2.9.31) unstable; urgency=medium

  [ Julian Andres Klode ]
  * edsp: Use buffered writes for EDSP dumps
  * strutl: Add missing #include <cstdint> [gcc 15] (Closes: #1096322)
  * refactor: Deduplicate and Move SectionInSubTree to Configuration
  * solver3: Fix test-apt-move-and-forget-manual-sections
  * solver3: Fix error stack handling
  * test: Improve output cleaning for solver progress
  * Fix crash in VersionExtra using --with-source etc (Closes: #1098702)
  * test-apt-ftparchive-cachedb: Avoid race condition in test case

  [ Miroslav Kure ]
  * Czech program translation update (Closes: #1095976)

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #1098456)
  * German manpage translation update (Closes: #1099118)

  [ David Kalnischkies ]
  * apt-ftparchive: Do not output locale dependent dsc file size

  [ Алексей Шилин ]
  * Russian translation update (Closes: #1098937)

 -- Julian Andres Klode <jak@debian.org>  Fri, 28 Feb 2025 17:49:31 +0100

apt (2.9.30) unstable; urgency=medium

  * Upload libapt-pkg 7.0 ABI transition to unstable:
    - Use smart pointers in a whole bunch of places (probably only an API break)
    - Add a version script to hide any standard library symbols
    - Remove the functions marked as deprecated, such as PrintStatus and _strtabexpand
    - Introduce SourceVersion objects in the cache
    - Migrate from APT::StringView to std::string view and change a bunch of
      functions from std::string to std::string_view.
      Thanks to наб for the merge requests, very appreciated, that was a lot
      of busywork.
    Several other changes were already queued in the previous releases in
    #ifdef, please have a look at them.

 -- Julian Andres Klode <jak@debian.org>  Sun, 16 Feb 2025 17:58:07 +0100

apt (2.9.29) unstable; urgency=medium

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #1052411)
  * German program translation update (Closes: #1095681)

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1095409)
  * Dutch manpages translation update (Closes: #1095411)

  [ Jean-Pierre Giraud ]
  * French manpage translation update (Closes: #1088326, #1050876)

  [ Arnaud Rebillout ]
  * test: Fix skipping test cases

  [ Peter Krefting ]
  * Swedish program translation update (Closes: #1070029)

  [ Julian Andres Klode ]
  * Add DepIterator::IsSatisfied(PkgIterator)
  * test: Support comments in --skip/--only files
  * Major 3.0 solver update, improving version selection, unit propagation,
    and as a result significantly performance (2x for apt-tests). Also new:
    - Phased updates are now supported
    - The number of broken test cases is down from 31 to 9
    - dist-upgrade now installs Essential packages
    - The order of alternatives in or groups is now better preserved
    - Recommends for upgrades of installed dependencies are now upgraded
      to Depends if they are new or previously satisfied; to avoid breaking
      Recommends or introducing unsatisfied Recommends in an upgrade.
    - A time out of 10s has been added that is checked whenever the solver
      backtracks to prevent practically infinite runtime.

 -- Julian Andres Klode <jak@debian.org>  Fri, 14 Feb 2025 19:42:43 +0100

apt (2.9.28) unstable; urgency=medium

  [ Julian Andres Klode ]
  * modernize-sources: Avoid opening /dev/stdout for simulate
  * dpkg: Pass --admindir if a different one is specified; fixes issue
    where foreign architectures from the host were used when Dir is set.
  * Various updates to the '3.0' solver: Particularly it now has a clause
    database for reals rather than rediscovering clauses when backtracking.
    - refactor: Drop unused code, annotate [[nodiscard]] and const, simplify,
      extract functions, and particularly introduce the Clause class.
    - algorithm: Simplify work ordering. This may cause some changes in
      how dependencies are resolved.
    - algorithm: Replace PropagateInstall() with Discover() and then
      propagate based on the stored clauses. Clauses are discovered
      from package dependencies and persistent, i.e. they have no
      decision level associated. Discovery is incremental so far.
    - algorithm: Support comparing packages and versions, such that
      we can store both package and version variables in a clause.
    - algorithm: Use a package clause for optional roots. This allows
      deciding to keep an automatically installed package installed,
      without having to decide the version (and hence enqueue common
      dependencies first).
    - performance: Cache calls to policy.
    - performance: Cache all configuration calls
    - performance: Point to stored clauses, do not copy them
    - performance: Avoid std::vector for statically sized arrays. Due
      to adding libstdc++ assertions, vector range checks accounted
      for up to 20% of solver runtime.

  [ Christopher Bock ]
  * completion: Add modernize-sources (Closes: #1094904)
  * edit-sources: don't force .list

 -- Julian Andres Klode <jak@debian.org>  Fri, 07 Feb 2025 21:00:48 +0100

apt (2.9.27) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Symbols: Update for 2.9.23/2.9.25
  * Updates for the '3.0' solver:
    - Soft unit propagation for optional items
    - Do not accidentally solve new Recommends before hard dependencies
    - Use a propagation queue instead of recursively propagating facts
  * Correctly calculate kernel size in /boot (Closes: #1085184)
  * Measure BootSize as integer

  [ Boyuan Yang ]
  * po/zh_CN.po: Refresh Simplified Chinese translation for apt

  [ Rafael Fontenelle ]
  * Brazilian Portuguese program translation update (Closes: #1092563)

  [ David Kalnischkies ]
  * Cleanups and fixes for cache counters/size fields:
    - Do not overflow ver/desc<->file relation counters
    - Drop unused description size info from binary cache
    - Drop unused version stanza size info from binary cache
    - Do not create descriptions structs for each architecture
    - Record all available sources for descriptions
    - Include Extra in the size counted for Version struct

  [ Samuel Thibault ]
  * Also support debian-ports modernization

 -- Julian Andres Klode <jak@debian.org>  Mon, 03 Feb 2025 13:44:58 +0100

apt (2.9.26) unstable; urgency=medium

  [ Sam Hartman ]
  * Fix regression that prevented sending intermediate client certificates

  [ Andreas Rönnquist ]
  * apt-secure manual page is in manual section 8

  [ Julian Andres Klode ]
  * apt: Introduce the modernize-sources command
  * Make notices about .list sources without signed-by less obnoxious
    You get a single line telling you about modernize-sources now, unless
    you run --audit (or have deb822 files without Signed-By).
  * Documentation updates:
    - Deprecate legacy one-line-style format harder. Removal not before 2029.
    - Set signed-by/Signed-By in sources.list(5) short examples for Debian, Ubuntu
    - Update Debian, Ubuntu example default sources to best practices:
      We now ship debian.sources/ubuntu.sources instead of sources.list
    - Update codenames for trixie, plucky as stable

 -- Julian Andres Klode <jak@debian.org>  Tue, 28 Jan 2025 19:49:53 +0100

apt (2.9.25) unstable; urgency=medium

  * sqv, gpgv: Do not fail if Dir::Etc::Trusted is set and trusted.gpg.d is missing

 -- Julian Andres Klode <jak@debian.org>  Wed, 22 Jan 2025 11:07:01 +0100

apt (2.9.24) unstable; urgency=medium

  * gitlab-ci: Use platform: linux/i386 instead of i386/debian image
  * Warn about missing Signed-By in .list format, this deprecates
    /etc/apt/trusted.gpg.d.
  * Remove superseded warning about trusted.gpg fallback
  * Unset Dir::Etc::trusted, this removes /etc/apt/trusted.gpg from
    the trusted path.

 -- Julian Andres Klode <jak@debian.org>  Tue, 21 Jan 2025 12:17:24 +0100

apt (2.9.23) unstable; urgency=high

  [ David Kalnischkies ]
  * Write Pre-Depends with a dash again in EDSP (Closes: #1093254)
  * Grep for more evil in test as a signature can contain evil

  [ Julian Andres Klode ]
  * Workaround gcc 14.2.0-9 regression in no-tree-slp-vectorize on Graviton;
    this prevented https connections from working.

 -- Julian Andres Klode <jak@debian.org>  Fri, 17 Jan 2025 20:37:48 +0100

apt (2.9.22) unstable; urgency=medium

  [ Balint Reczey ]
  * apt-pkg/deb/debsystem.cc: Fall back to "dpkg" when Dir::Bin::dpkg is not found

  [ Julian Andres Klode ]
  * debian/changelog: v3 signature packet, not v3 subkey
  * Ensure we can build with APT_PKG_ABI > 601
  * ssl: Set an error when we receive SSL_ERROR_SYSCALL
  * ssl: Explictly return -1 (error) or 0 (server closed connection)
  * abicheck: Add some workarounds to avoid errors
  * t/i/test-method-gpgv-legacy-keyring: Switch to http, extend
  * proxy: Avoids triggering bounds check in std::string_view
  * methods/connect: Avoid unused argument warning

  [ David Kalnischkies ]
  * Resolve autopkgtest failures caused by dpkg >= 1.22.12 (Closes: #1092090)
  * Try stomping a little less on global macro namespace
  * Add pkgCache::{Priority,DepType}_NoL10n to avoid duplication
  * Replaces macros with C++ attributes: APT_OVERRIDE, APT_ARRAY_SIZE, APT_NORETURN,
    APT_DEPRECATED, APT_UNUSED, APT_MUSTCHECK, APT_IGNORE_DEPRECATED
  * Drop SourceListWarnings::NonFreeFirmware messages
  * Remove leftovers of the apt-key removal
  * Move apt-extractexamples desc line from apt-utils to apt (Closes: #1091344)
  * Remove leftovers from ftp and rsh/ssh methods removal
  * Change multi sources.list entry example from FTP to HTTPS

  [ Sergio Durigan Junior ]
  * d/t/control: Don't depend on gdb-minimal.

 -- Julian Andres Klode <jak@debian.org>  Tue, 14 Jan 2025 18:33:08 +0100

apt (2.9.21) unstable; urgency=medium

  [ Simon McVittie ]
  * sources.list(5): Suggest VENDOR.sources for new systems

  [ Guillem Jover ]
  * Remove non-US leftovers in code and documentation
  * Remove obsolete references to ftp://ftp.debian.org
  * Use deb.debian.org instead of ftp.debian.org URLs

  [ Julian Andres Klode ]
  * Extend v3 signature packet expiry to 2026, owing to OBS use
  * sqv: Avoid propagating errors between files (Closes: #1091679)
  * http: seccomp: Allow reading directories (Closes: #1091351)
  * test: Check "${METHODSDIR}/sqv" not "/usr/bin/sqv"
  * Unfuzzy documentation translations
  * Run update-po4a

 -- Julian Andres Klode <jak@debian.org>  Wed, 01 Jan 2025 22:48:55 +0100

apt (2.9.20) unstable; urgency=medium

  * symbols: Merge 2.9.19 and fix version for InsertErrno
  * Re-include std:: symbols in the symbols file as optional again

 -- Julian Andres Klode <jak@debian.org>  Sat, 28 Dec 2024 22:59:50 +0100

apt (2.9.19) unstable; urgency=medium

  * Replace GnuTLS and gcrypt with OpenSSL
  * Replace GnuPG with Sequoia on supported Debian platforms
    - methods: Add new sqv method
    - debian: Add default policy to allow SHA-1 self-signatures until 2026
    - debian: Plug sqv into the package build
  * Smaller bits:
    - apt-helper: Add a hash-file helper to debug file hashing
    - Use sq in the test suite, remove apt-key
    - abicheck: Add symbol-merge.py helper
    - Symbols: Merge stable, noble, testing, unstable

 -- Julian Andres Klode <jak@debian.org>  Mon, 23 Dec 2024 12:16:19 +0100

apt (2.9.18) unstable; urgency=medium

  * Fix out-of-bounds read in `apt show :` (Closes: #1090068)
  * Introduce git-like automatic pager for apt(8), emulating git behavior.
    It is enabled for the show, list, search, policy, showsrc commands.
    The pager can be set using APT_PAGER or PAGER and defaults to `pager`
  * Add initial pinning information to apt show --full.
    The fields `APT-Pin`, `APT-Candidate`, and `APT-Release` provide
    pinning information. It is not yet possible to see multiple sources,
    and the per-source pinning is not shown.
  * gpgv: Extract VerifyDetachedSignatureFile()

 -- Julian Andres Klode <jak@debian.org>  Thu, 19 Dec 2024 18:38:04 +0100

apt (2.9.17) unstable; urgency=medium

  * solver3:
    - Fix intransitivity of version comparison on upgrade, this
      means no-strict-pinning gets the correct order now.
    - Add a missing debug level check
    - Reject all non-candidates outright for strict pinning
  * gpgv: Merge all keyrings into a single one again. This fixes
    issues with arbitrary gpgv restrictions, such as strange
    filenames or more than 40 keys
  * Stop installing apt-key, make it a test suite helper
    - gpgv: Drop references to apt-key
    - Remove the apt-key manual page and add documentation to apt-secure

 -- Julian Andres Klode <jak@debian.org>  Sat, 07 Dec 2024 17:12:51 +0100

apt (2.9.16) unstable; urgency=medium

  * Avoid extension check for .gpg in Signed-By keyrings (Closes: #1088656)
    A warning for extensions other than .pgp and .gpg will be introduced at
    a later point, but not now as we try to be bug compatible.

 -- Julian Andres Klode <jak@debian.org>  Fri, 29 Nov 2024 09:45:11 +0100

apt (2.9.15) unstable; urgency=medium

  [ David Kalnischkies ]
  * Collect unprinted Ign errors for display in Err output

  [ Julian Andres Klode ]
  * Stop using apt-key for signature verification
    - test-apt-cdrom: Hande assert-pubkey-algo like other gpgv messages
    - Fix accidental ABI break in debListParser::ParseDepends
    - tagfile: Avoid uninitialized variable warnings
    - gpgv: Generalize apt_error to apt_msg(), add apt_warning()
    - Do not implode key file name vector for calling gpgv
    - apt-key: Only cat supported keyrings into the merged one
    - apt-key: Temporarily accept 'pub' as an extension for binary gpg keys
    - gpgv: Explictly pass all the keyrings to gpgv from apt
    - gpgv: Use std::string instead of const char *
    - strutl: Add Base64Decode
    - gpgv: Verify keyrings and dearmor outside apt-key
    - Directly call gpgv instead of apt-key
    - gpgv: Add direct support for --assert-pubkey-algo
    - fileutl: Use execvp() in Popen() instead of execv()
    - Detect working gpgv using gpgv --dump-options

 -- Julian Andres Klode <jak@debian.org>  Thu, 28 Nov 2024 19:33:03 +0100

apt (2.9.14) unstable; urgency=medium

  [ Julian Andres Klode ]
  * test: Do not fail if valgrind is not available
  * test: Handle gpgv-sq differeces and test with it
  * apt-key: Prefer gpgv-sq if installed

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1087458)
  * Dutch manpages translation update (Closes: #1087461)

  [ Алексей Шилин ]
  * Russian program translation update (Closes: #1087804)

  [ Luca Vercelli ]
  * Italian program translation update (Closes: #1081992)

  [ David Kalnischkies ]
  * Fixes for several compile-time warnings:
    - Acknowledge non-erase usage of remove_if for volatile sources
    - Fix expired std::string usage in APT::StringView testcase
    - Add a virtual destructor to private CacheSet Matcher
    - Avoid unnormalized paths for CMake install destinations
    - Tag hidden acquire classes as final for devirtualization
  * Support uncompressed indexes from partial file:/ mirrors, and
    other fixes for the acquire system:
    - Show hashes calculated by main thread in error messages
    - Alternatively calculate alternative file hashes in file method
    - Rewrite hidden config option checker for more patterns
    - Allow AutoDetectProxy to work with more than just http(s)
    - Do not assume mirror-URIs end in a filename causing a hang
    - Do not change UsedMirror on local copy of InRelease
    - Clear previous ignored errors before processing acquire item again
    - Never consider file/copy/cdrom sources bad sites due to errors
    - Allow HashSum mismatches to fallback to other mirrors
    - Look at non by-hash paths in copy and file methods

 -- Julian Andres Klode <jak@debian.org>  Fri, 22 Nov 2024 17:13:23 +0100

apt (2.9.13) unstable; urgency=medium

  * Add a --comment option to record Comment: in history
  * Hardening: Add -Wp,-D_GLIBCXX_ASSERTIONS to CXXFLAGS to enable bounds
    checking for all STL containers.
  * patterns: Avoid out-of-bounds std::string_view read.
    We only pass NUL-terminated strings to the function, and the code expects
    that but we pass through an interface which doesn't guarantee that, so
    we trigger an index < size() assertion when accessing the terminating
    NUL byte when compiled with -Wp,-D_GLIBCXX_ASSERTIONS.
  * ftparchive: Remove fixed size buffers on trusted inputs (LP: #2087848)
    - ftparchive: override: Remove fixed-size line buffers in override files
    - ftparchive: cachedb: Remove 600-byte key (and hence file path) limit
    - ftparchive: writer: Remove line length limit on file lists
  * tests: Temporarily disable valgrind-if-available on armhf and ppc64el
    to avoid having to wait for a new valgrind without those architectures

 -- Julian Andres Klode <jak@debian.org>  Wed, 20 Nov 2024 15:59:46 +0100

apt (2.9.12) unstable; urgency=medium

  [ наб ]
  * More refactorings for string_view
  * Provide a DEFER() macro for cleanup of local variables

  [ Julian Andres Klode ]
  * string_view: Include missing headers, fixes rust-rust-apt failure
  * Handle Retry-After by default

  [ Felix Moessbauer ]
  * http: use Retry-After HTTP header to optimize retries
  * http: add test for Retry-After handling

 -- Julian Andres Klode <jak@debian.org>  Mon, 18 Nov 2024 15:03:10 +0100

apt (2.9.11) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Various refactorings to the 3.0 solver
  * Remove ftp, rsh, ssh methods (disabled since 1.8)
  * Apply messaging fixes from Robert Krátký
  * Fix keeping back removals of obsolete packages (LP: #2078720)
  * Return an error if ResolveByKeep() is unsuccessful (LP: #2078720)
  * Move apt-extracttemplates to /usr/lib/apt in 'apt' package
  * json: Add "options" array to JSON hooks; adjust test cases accordingly

  [ наб ]
  * Refactor buffers into std::array and bump sizes, improving performance:
    - Bump various buffer sizes to the default APT_BUFFER_SIZE
    - Turn char[APT_BUFFER_SIZE] buffers into std::array<char, APT_BUFFER_SIZE>
    - Turn std::unique_ptr<char[]/std::array<char>>(APT_BUFFER_SIZE) buffers into std::array<char, APT_BUFFER_SIZE>
    - dpkgpm: use sysconf(_SC_GETPW_R_SIZE_MAX)-sized + growing buffer for getpwuid_r() instead of 255
    - dpkgpm: use std::array<unsigned char, APT_BUFFER_SIZE> for I/O copy buffers
  * File reading changes, fixing static line size limitations:
    - dpkgpm: lift out CopyIndented() and make_unique_*() for FILEs; use getline() for reading lines instead of 1k buffer
    - dpkgpm: use getline() for Apport var/crash lines
    - dpkgpm: fdopen() failing doesn't close the fd
  * Only run valgrind in tests if valgrind available on host
  * ReportMirrorFailureToCentral: fix use-after-free
  * Non-functional changes:
    - Replace constant-size never-reallicated getservbyport_r() std::vector buffer with std::array
    - FileFd::Open: don't needlessly copy filename in three-arg constructor
    - Replace std::bind with lambdas
    - Turn unique_ptr<decltype(fclose and free)> into real deleter types (warnings now, UB in C++20)
    - dpkgpm: append ":$printarchitecture" instead of ':'+${#printarchitecture} to package name
    - Prepare for APT::StringView -> std::string_view

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #1086336)

  [ Miroslav Kure ]
  * Czech program translation update (Closes: #1087220)

 -- Julian Andres Klode <jak@debian.org>  Thu, 14 Nov 2024 18:29:35 +0100

apt (2.9.10) unstable; urgency=medium

  [ Rafael Marian ]
  * Fixed missing spaces in apt-mark(8) (Closes: #959854)
  * Update manual link in apt-secure(8) (Closes: #1050616)
  * Fix misspeling in italian apt --help (Closes: #967973)

  [ David Kalnischkies ]
  * Ignore pending input before confirmation prompts (Closes: #1082956)
  * Show prompt reply if input is from non-terminal

  [ Julian Andres Klode ]
  * extracttar: Move large buffer to heap for valgrind

  [ Christopher Bock ]
  * apt-patterns(7): document recommends

  [ Raziel Anarki ]
  * Support --target-release in `apt list`

 -- Julian Andres Klode <jak@debian.org>  Tue, 22 Oct 2024 18:47:04 +0200

apt (2.9.9) unstable; urgency=medium

  [ Chongyun Lee ]
  * Fix compilation error with clang/libc++ 18

  [ Julian Andres Klode ]
  * Implement 'Pin: source-version <foo>'
  * Fix buffer overflow, stack overflow, exponential complexity in
    apt-ftparchive Contents generation (LP: #2083697)
    - ftparchive: Mystrdup: Add safety check and bump buffer size
    - ftparchive: contents: Avoid exponential complexity and overflows
    - test framework: Improve valgrind support
    - test: Check that apt-ftparchive handles deep paths

  [ Remus-Gabriel Chelu ]
  * Romanian program translation update (Closes: #1080210)

 -- Julian Andres Klode <jak@debian.org>  Thu, 17 Oct 2024 09:41:18 +0200

apt (2.9.8) unstable; urgency=medium

  [ Aristo Chen ]
  * Do not return error if `Signed-By` value in source list is empty

  [ Carles Pina i Estany ]
  * Update Catalan translation

  [ Julian Andres Klode ]
  * Fix obsoleted-by handling for experimental in 3.0 solver

 -- Julian Andres Klode <jak@debian.org>  Mon, 12 Aug 2024 16:12:43 +0200

apt (2.9.7) unstable; urgency=medium

  [ sid ]
  * Show installed version (not candidate version) while removing a package

  [ David Kalnischkies ]
  * Parse snapshot option for apt show/list (Closes: #1075819)

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1075874)
  * Dutch manpages translation update (Closes: #1075875)

  [ Michał Kułach ]
  * Polish program translation update (Closes: #1075975)

  [ Julian Andres Klode ]
  * worker: Add an audit level to log audit messages
  * gpgv: Add a LaterWorthless level, a SoonWorthless but at 'audit' level
  * gpgv: Add IsAssertedPubKeyAlgo() function
  * Only revoke weak RSA keys for now, add 'next' and 'future' levels
    (LP: #2073126)
  * solver3: Refactor Reason.Pkg()/Reason.Ver() use with iterator
  * Add note that redundant 'CLI interface' is intentional

 -- Julian Andres Klode <jak@debian.org>  Tue, 30 Jul 2024 13:19:24 +0900

apt (2.9.6) unstable; urgency=medium

  * solver3: Do not accidentally promote Replaces and Enhances to
    dependencies; this fixes a regression in 2.9.5 when we added
    code to promote currently satisfied Suggests to Depends.
  * solver3: Unmark packages before setting any in ToDepCache
  * solver3: Refactor (rewrite) FromDepCache() (Closes: #1071519)
    This was intended to not have any behavioural changes, but verifying
    the things that changed actually showed that they fixed subtle bugs.
  * solver3: Consider packages as obsolete and not versions; this makes things
    a bit easier to reason about.
  * solver3: Only demote obsolete packages in choices for upgrades; this
    fixes packages being needlessly replaced in apt install.

 -- Julian Andres Klode <jak@debian.org>  Tue, 02 Jul 2024 22:20:36 +0200

apt (2.9.5) unstable; urgency=medium

  [ Julian Andres Klode ]
  * CI: Set /bin/sh shell for travis user, so flock -c works
  * Fix test cases for non-amd64 architectures
  * edsp: Parse source version from the Source-Version field
  * Check gpgv --dump-options for --assert-pubkey-algo support.
    Thanks to Justus Winter for the idea
  * Make the failure mode for non-executable tests stronger
  * solver3: Do not dump sizes that are clearly pointers
  * solver3: Group work items
  * solver3: Remove no longer necessary comparisons
  * solver3: Order obsolete choices last

  [ Noah Meyerhans ]
  * Fix spelling of @SNAPSHOTID@ in apt.conf.5.xml (Closes: #1072189)

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1072493)
  * Dutch manpages translation update (Closes: #1072494)

 -- Julian Andres Klode <jak@debian.org>  Thu, 13 Jun 2024 21:04:40 +0200

apt (2.9.4) unstable; urgency=medium

  [ David Kalnischkies ]
  * Fix accidental silencing of output differences in tests
  * Do not mark new if we have already installed providers
  * Do not save new if we have already installed providers (Closes: #839546)
  * Deal better with spurious spaces in arch restrictions (Closes: #1071219)

  [ Julian Andres Klode ]
  * pkgcachegen: Do not try to chmod or write to /dev/null (LP: #2067138)
  * test: Show statistics for parallel tests too
  * test: Run working tests against the 3.0 solver, and adjust as many as possible
    (more bug fixes in a further release)
    - test: Temporarily ignore autoremovable lists for solver3
    - test: Support the 3.0 solver in most existing test cases
  * Various improvements to the 3.0 solver:
    - edsp: solver3: Show some progress
    - solver3: Implement APT::Solver::RemoveManual to allow removing manual packages
    - solver3: Promote satisfied Suggests to Recommends
    - solver3: Solve optional dependencies before optional packages
    - solver3: Try candidate before installed version on upgrade
    - solver3: Use stable sort
    - solver3: Actually restore unsolved items rather than solved ones
    - solver3: Fix translations of removals for marked install

 -- Julian Andres Klode <jak@debian.org>  Sat, 25 May 2024 10:58:49 +0200

apt (2.9.3) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Initial implementation ("alpha") of the 3.0 solver:
    This new solver is available using the --solver 3.0 option.
    Highlights:
    - Fully backtracking solver, think DPLL without pure literal elimination
    - Manually installed packages are not offered up for removal
    - New --no-strict-pinning option allows APT to fallback to non-candidate
      versions, e.g. apt install --no-strict-pinning foo/experimental installs
      foo from experimental and will switch dependencies where needed.
    - Autoremove is more aggressive and only keeps the strongest automatically
      installed package. For example, gcc-<version> will now be offered for
      removal and no longer kept around due libtool Depends: gcc | c-compiler
      and gcc-<version> Provides: c-compiler, as `gcc` is already satisfied.
    Caveats right now:
    - Test suite is not yet passing
    - The list of automatically removable packages is not displayed
      when automatically installed packages are not removed
    - Error information gets lost on backtracking (see Debug::APT::Solver=2)
    - Error information is just rendered as A -> B implication graphs,
      with some nodes perhaps containing a "not".
    - The logic for replacing obsolete manually installed packages with
      new replacement packages (think Conflits/Replaces/Provides) is not
      yet implemented.
    - Conflict-driven clause learning is not implemented, so backtracking
      is technically pretty inefficient.
  * Solver3 integration fixes:
    - test: Ignore progress output in comparing output..
    - test-allow-scores-for-all-dependency-types: Adjust for solver3
    - EDSP: Add "solver3" alias for apt-internal-solver
  * UI work:
    - Highlight essential removals with action::remove color
    - The text of notices and audits shall not be bold
    - Separate columns by 2 spaces in lists (Closes: #1070064)
  * Support src:name shortcuts in showsrc, source, build-dep commands

  [ David Kalnischkies ]
  * Do not ignore if a cmake execute_process fails
  * Avoid figuring which kept pkgs are phased if we don't display it
  * Match version constraints before saving garbage packages
  * Do not upgrade rev-deps ear-marked for removal
  * Drop sudo-related envvars in testing framework
  * Add test for dealing with unsat Suggests promoted to Recommends
  * Allow parsing an empty Provides line (Closes: #1069874)

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1070142)
  * Dutch manpages translation update (Closes: #1070143)

 -- Julian Andres Klode <jak@debian.org>  Tue, 14 May 2024 13:01:31 +0200

apt (2.9.2) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Output customization and color refactoring:
    - Also respect an APT_NO_COLOR variable
    - Add a --color, --no-color option
    - Add APT::Configuration::color helper to colorize things
    - Use APT::Configuration::color to apply color to output
    - Configure individual action colors using APT::Color::Action
    - apt.conf(5): Document the APT::Color scope
  * Introduce the new --audit error level
    - Add an "audit" error level, and change the default to notice
    - Add an --audit option to switch on audit logging
    - Add an audit message for missing InRelease files
  * Change the rendering for notices, warnings, errors:
    - i18n: Use Error:/Warning:/Notice: instead of E:/W:/N:
    - Render notices without (yellow) color, just in bold
    - Keep the entire error/warning/notice message bold
  * Other UI changes:
    - apt update: Show upgradable package count in bold
    - show: Highlight field names and colorize package name
    - Remove spurious newline inside `apt autoremove` message
    - Insert blank line following simulation note
    - Show "Upgrading:" before other sections
    - Only erase OpProgress lines in output version 3.0
  * Test fixes:
    - test: configuration: color: reset _config after tests
    - build: test: Silence warnings in GTest code

  [ Miroslav Kure ]
  * Czech program translation update (Closes: #1068943)

  [ Boyuan Yang ]
  * Simplified Chinese program translation update (Closes: #1069118)

  [ David Kalnischkies ]
  * Allow no spaces for the last dependency in ParseDepends, too (LP: #2061834)

 -- Julian Andres Klode <jak@debian.org>  Mon, 22 Apr 2024 19:36:30 +0200

apt (2.9.1) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Further UX improvements for apt(8)
    - Estimate free space and issue warnings if exceeded, incl. /boot
      + Rename "Installed size:" to "Space needed:"
      + Space needed: Show space available in /usr
      + Show space estimate for /boot, if separate; or estimate initrd for /usr
      + Add warnings if space estimate exceeds free space
    - Show downgrades as yellow
    - Use "Continue anyway?" if a warning is queued, and default to N
    - Use unicode install progress bar on UTF-8 locales
  * Hide some of the output formatting and details from translatable strings,
    do expect some more translation churn in upcoming uploads.

  [ Rafael ]
  * Remove duplicate sentence "Changing held packages:"

 -- Julian Andres Klode <jak@debian.org>  Sun, 14 Apr 2024 18:45:28 +0200

apt (2.9.0) unstable; urgency=medium

  * Welcome to the APT 3.0 development series. It has a new UI for
    apt(8). It has colors, columnar display, some more padding, and
    shows removals last (Closes: #755088), making the output more
    easy to quickly scan.

  [ David Kalnischkies ]
  * Avoid subshell hiding failure report from testfilestats
  * Ignore umask of leftover diff_Index in failed pdiff test
  * Fix and unfuzzy previous VCG/Graphviz URI change

  [ Julian Andres Klode ]
  * Revert "Temporarily downgrade key assertions to "soon worthless""
    We temporarily downgraded the errors to warnings to give the
    launchpad PPAs time to be fixed, but warnings are not safe:
    Untrusted keys could be hiding on your system, but just not
    used at the moment. Hence revert this so we get the errors we
    want.
    This reverts commit 66998ed3d299bede651ad40368bdb270f5f5b0f9. (LP: #2060721)
  * columnar: Fix floating point exception (list is empty if -V)
  * OpProgress: Erase lines when done
  * apt: Introduce the new terse apt output format 3.0
  * Show Recommends/Suggests for upgrades too, move them down
  * Only show Recommends/Suggests for new installs, not upgrades
  * Use the same words for the summary

  [ Christian Blichmann ]
  * Columnar output for package lists similar to 'ls'

 -- Julian Andres Klode <jak@debian.org>  Fri, 12 Apr 2024 20:17:34 +0200

apt (2.7.14) unstable; urgency=medium

  [ Steve Langasek ]
  * Support building without gnutls
  * Add an artificial Conflicts: against libnettle8
    to force upgrades in launchpad buildd chroots

  [ David Kalnischkies ]
  * Handle EINTR in the static FileFd::Write overload
  * Remove non-existent Debug::BuildDeps from apt.conf(5)
  * Parse unsupported != relation in dependencies

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1065513)
  * Dutch manpages translation update (Closes: #1065517)

  [ Wesley Schwengle ]
  * Update documentation for apt-get upgrade with pkg arg (Closes: #1065831)
  * Update documentation for apt upgrade with pkg arg (Closes: #1065831)
  * Include Dutch translation for apt/apt-get upgrade documenation update
  * Update Graphviz URL to https://graphviz.org/
  * Update VCG tool URI to new location
  * s#http://bugs.debian.org/src/#https://bugs.debian.org/src#

  [ Julian Andres Klode ]
  * pkgTagFile::Jump: Use lookback buffer to rejump to current position
    (Closes: #1067440)
  * debrecords: Do not reparse if given same location (Closes: #1067440)
  * Revert "debrecords: Do not reparse if given same location"

 -- Julian Andres Klode <jak@debian.org>  Fri, 22 Mar 2024 11:11:44 +0100

apt (2.7.13) unstable; urgency=medium

  * Acknowledge NMU; thank you, Steve!

  [ Wesley Schwengle ]
  * Show correct location of configure-index in man page

  [ Yuan Tao ]
  * Fix spelling mistake in zh_CN.po

  [ Julian Andres Klode ]
  * gpgv: Surface [GNUPG:] ERROR and [GNUPG:] WARNING status messages
  * gpgv: Add a reason to worthless signers
  * Implement gpgv --assert-pubkey-algo=>=rsa2048,ed25519,ed448 (LP: #2055193)
  * Rename 'weak digest algorithm' to 'weak algorithm'
  * Temporarily downgrade key assertions to "soon worthless"
  * Do not require versioned dpkg-dev on CI
  * prepare-release: Adjust for t64 suffix

 -- Julian Andres Klode <jak@debian.org>  Wed, 28 Feb 2024 19:48:27 +0100

apt (2.7.12+nmu1) unstable; urgency=medium

  * Non-maintainer upload.
  * Rename libraries for 64-bit time_t transition.  Closes: #1061896

 -- Steve Langasek <vorlon@debian.org>  Wed, 28 Feb 2024 01:20:31 +0000

apt (2.7.12) unstable; urgency=medium

  [ Kenyon Ralph ]
  * apt-key: remove carriage returns from armored keyrings before dearmoring

  [ наб ]
  * apt.8: summarise remaining verbs (Closes: #827785)

  [ Adam Saponara ]
  * Prevent infinite loop in `ReadConfigFile`

  [ Gábor Németh ]
  * Typos in integration tests
  * Document 'dist-clean'

  [ Wesley Schwengle ]
  * Configure the amount of kernels to keep
  * Fix bug where ./git-clang-format.sh errors incorrectly
  * Add documentation of autoremove to apt.conf (5)

  [ Julian Andres Klode ]
  * Bump Ubuntu apt-key deprecation notice to 24.04
  * Modernize standard library includes
  * Automatically enable snapshots where supported
  * test-snapshot: Fix a test case
  * Move systemd units to /usr/lib (Closes: #1054137)

 -- Julian Andres Klode <jak@debian.org>  Tue, 20 Feb 2024 19:38:02 +0100

apt (2.7.11) unstable; urgency=medium

  [ David Kalnischkies ]
  * Remove erroneous -a flag from apt-get synopsis in manpage
  * Support -a for setting host architecture in apt-get source -b

  [ Julian Andres Klode ]
  * For phasing, check if current version is a security update, not just previous ones
    (LP: #2051181)
  * Add public phased update API
  * Add a new ?phasing pattern
  * Add the ?security pattern
  * Show a separate list of upgrades deferred due to phasing (LP: #1988819)

 -- Julian Andres Klode <jak@debian.org>  Tue, 13 Feb 2024 16:31:00 +0100

apt (2.7.10) unstable; urgency=medium

  * pkgcachegen: Use placement new to construct header to make
    valgrind happy when we hash/write out padding bytes
  * Add Conflicts: apt-verify.
    The APT team is very concerned about the encroachement of its
    namespace and the impact on security of its file verification
    process. We have expressed those concerns in the ITP bug, but
    the package was nonetheless uploaded and accepted, so we have
    to take this extraordinary step to protect our users.

 -- Julian Andres Klode <jak@debian.org>  Fri, 19 Jan 2024 09:31:13 +0100

apt (2.7.9) unstable; urgency=medium

  [ David Kalnischkies ]
  * Accept file system disorder in test-ignored-files

  [ Julian Andres Klode ]
  * CI: Pull from testing, unstable broken atm

 -- Julian Andres Klode <jak@debian.org>  Thu, 11 Jan 2024 10:04:52 +0100

apt (2.7.8) unstable; urgency=medium

  [ Gábor Németh ]
  * Add 'dist-clean' command to remove packages and list files (Closes:
    #959093); this is experimental and does not yet have docs or tests.

  [ David Kalnischkies ]
  * Have Grp.FindPreferredPkg return very foreign pkgs as last resort
  * Improve and test distclean implementation
  * Do not store .diff_Index files in update

  [ Tianyu Chen ]
  * apt-pkg/cacheset.cc: set ShowErrors to true when no version matched
    (Closes: #1053887)

  [ Julian Andres Klode ]
  * Do not silently ignore directories for reserved file names
  * test: Disable valgrind on armhf, incompatible with stack clash protector
    (Closes: #1059352)

 -- Julian Andres Klode <jak@debian.org>  Mon, 08 Jan 2024 10:32:31 +0100

apt (2.7.7) unstable; urgency=medium

  [ sid ]
  * Fix incorrect time unit comment for PulseInterval

  [ Patrice Duroux ]
  * Update fr.po (add a missing dot)

  [ Julian Andres Klode ]
  * Stop calculating Description-md5 if missing
  * Revert "Do not fail on systems running in FIPSmode."
  * s/AlreadDownloaded/AlreadyDownloaded/ in doc/progress-reporting.md.
    Thanks to jwilk for suggestion
  * Bump Priority to required to match Debian archive.
    This unbreaks mmdebstrap scenarios if you mirror Debian or use
    a distro where apt did not get overridden to required.
    Reported-By: josch on IRC, following discovery by helmut
  * Restore ?garbage by calling MarkAndSweep before parsing (LP: #1995790)
  * Fix the test suite by adding new "m" flags to debug output

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1055178)

  [ David Kalnischkies ]
  * Raise cmake_minimum_required to 3.13 to avoid warnings
  * Use different variable name in GTest source path detection

 -- Julian Andres Klode <jak@debian.org>  Wed, 22 Nov 2023 16:43:47 +0100

apt (2.7.6) unstable; urgency=medium

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #1051731)

  [ Julian Andres Klode ]
  * Downgrade unmerged-usr from error to two warnings (Closes: #1052058)

 -- Julian Andres Klode <jak@debian.org>  Wed, 20 Sep 2023 10:25:26 +0200

apt (2.7.5) unstable; urgency=medium

  * doc/po/nl.po: Fix spurious translation of docbook tag

 -- Julian Andres Klode <jak@debian.org>  Sat, 16 Sep 2023 13:32:18 +0200

apt (2.7.4) unstable; urgency=medium

  [ Julian Andres Klode ]
  * CI: Do not require UID 1000 for our test user.
  * methods: store: Use APT_BUFFER_SIZE (64k) instead of 4k buffers
  * Only accept installs of usrmerge on unmerged-usr systems.
    As of bookworm, merged-usr is mandatory, and people got caught
    in the crosshairs of the dpkg fsys-unmessusr debacle and inadvertently
    reverted back to an unmerged configuration and continue to remain
    on an unsupported system unknowingly.
  * Drop alternatives to the gpgv dependency (Closes: #1051642)
  * Remove unnecessary explicit st_dev check for merged-usr

  [ Frans Spiesschaert ]
  * Dutch translation update (Closes: #1051720)
  * Dutch documentation translation update (Closes: #1051723)

  [ Helge Kreutzmann ]
  * updated German translation (Closes: #1049427)

 -- Julian Andres Klode <jak@debian.org>  Sat, 16 Sep 2023 13:01:48 +0200

apt (2.7.3) unstable; urgency=medium

  [ Tianon Gravi ]
  * Add "apt-patterns" reference to "apt list" description in apt(8)

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #1033904)
  * Dutch program translation update (Closes: #1033909)

  [ Mert Dirik ]
  * Turkish program translation update

  [ Remus-Gabriel Chelu ]
  * Romanian program translation update (Closes: #1040644)

  [ David Kalnischkies ]
  * Add apt-patterns(7) to apt{,-cache,-get} SEE ALSO sections

  [ Julian Andres Klode ]
  * Compare SHA256 to check if versions are really the same (Closes: #931175)
    (LP: #2029268)

 -- Julian Andres Klode <jak@debian.org>  Wed, 02 Aug 2023 14:30:47 +0200

apt (2.7.2) unstable; urgency=medium

  [ A. Maitland Bottoms ]
  * Do not fail on systems running in FIPSmode.

  [ Julian Andres Klode ]
  * Upload to unstable
  * update: Add notice about missing Signed-By in deb822 sources
  * doc: Bump distro versions for apt-key removal
  * dist-upgrade: Revert phased updates using keeps only (LP: #2025462)
  * Do not mark updates for install that are still phasing
  * Fix snapshot crashes with multiple components inside Ubuntu docker
    image

 -- Julian Andres Klode <jak@debian.org>  Wed, 12 Jul 2023 17:23:26 +0200

apt (2.7.1) experimental; urgency=medium

  * Seed snapshot servers for well-known hosts, including PPAs. Note
    that it is preferable for repositories to declare their snapshot
    server in the Snapshots Release file field than to rely on this
    feature.

 -- Julian Andres Klode <jak@debian.org>  Wed, 24 May 2023 18:56:31 +0200

apt (2.7.0) experimental; urgency=medium

  [ Jacob Kauffmann ]
  * Keep "or group" when installing package to satisfy it

  [ Julian Andres Klode ]
  * Add apt install,upgrade,... -U,--update options. Please note that
    this still releases locks in between and is subject to races.
  * Initial support for snapshot servers, apt --snapshot option. Some
    implementation details may change down the road to 2.8

 -- Julian Andres Klode <jak@debian.org>  Tue, 02 May 2023 16:41:47 +0200

apt (2.6.0) unstable; urgency=medium

  * The "unhappy bookworm" release. Too many changes needed to clarify
    licensing.

  [ Cyril Brulebois ]
  * Teach apt-cdrom's scoring system about non-free-firmware (Closes: #1029751)

  [ David Kalnischkies ]
  * More support for non-free-firmware
    - Have values in Section config trees refer to them in all components
    - Add non-free-firmware component in documentation
    - Suggest using non-free-firmware in update for Debian
  * other bookworm regressions:
    - Bump codenames in docs in preparation for Debian 12
    - Detect trimmed changelogs and pick online instead (Closes: #1024457)
  * Do not store trusted=yes Release file unconditionally

  [ Miroslav Kure ]
  * Czech program translation update (Closes: #1031008)

  [ Bastian Germann ]
  * machine-readable version of COPYING (Closes: #1019273), initial version

  [ Julian Andres Klode ]
  * Update lintian override info format in d/apt.lintian-overrides
  * Further work on machine-readable COPYING file and the source code comments
    to address licensing inadequacies:
    - Address statements of public domain
    - po/nb.po: Relicensing GPL-2.0 -> GPL-2.0+. Thanks Petter for chasing
      down the copyright holders and getting agreement.
    - COPYING: Group by license
    - Address translation licensing concerns
    - COPYING: Address RunScripts()
    - We do not believe rsh was supposed to exclude GPL-3
    This unfortunately creates a bit of churn, but updating the COPYING file
    without addressing the actual licensing issues would not have solved the
    bug.

 -- Julian Andres Klode <jak@debian.org>  Mon, 06 Mar 2023 13:26:39 +0100

apt (2.5.6) unstable; urgency=medium

  [ MichaIng ]
  * Document --allow-insecure-repositories

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #1029280)

  [ David Kalnischkies ]
  * Build with and fix warnings of gcc-13 (Closes: #1030592)

 -- Julian Andres Klode <jak@debian.org>  Wed, 08 Feb 2023 17:07:38 +0100

apt (2.5.5) unstable; urgency=medium

  [ David Kalnischkies ]
  * Do not document path to be repeatable in apt-ftparchive cmds

  [ Julian Andres Klode ]
  * gitlab-ci: Install adduser
  * make ?installed pattern match installed version only when narrowed
  * apt-patterns(7): Grouping with () and or using | are supported

  [ Egon Willighagen ]
  * Typo fix

  [ Camiel Vletter ]
  * improve `--help` text for cmdline `apt autoremove`

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #1023456, #1025843)

  [ Алексей Шилин ]
  * Add 'tasks' section to default APT::Never-MarkAuto-Sections list

 -- Julian Andres Klode <jak@debian.org>  Tue, 17 Jan 2023 16:33:38 +0100

apt (2.5.4) unstable; urgency=medium

  [ David Kalnischkies ]
  * Report failures back from debSystem::AddStatusFiles
  * Avoid dealing with a fake dpkg stanza in the tests
  * Allow apt to run if no dpkg/status file exists

  [ Johannes Schauer Marin Rodrigues ]
  * since base-passwd 3.6.1 the _apt user is in the default /etc/passwd

  [ Boyuan Yang ]
  * po/zh_CN.po: Update translation for apt/2.5.3

  [ quazgar ]
  * Documentation for autopurge command

  [ Julian Andres Klode ]
  * Actually delete temporary apt-key.*.asc helper files (LP: #1995247)

 -- Julian Andres Klode <jak@debian.org>  Mon, 31 Oct 2022 12:11:04 +0100

apt (2.5.3) unstable; urgency=medium

  [ Povilas Kanapickas ]
  * doc: Explain that apt-get download ensures package authenticity

  [ David Kalnischkies ]
  * Keep color disabled if APT::Color was set to false
  * Don't reuse filename for in-tree builds of apt
  * Respect users pkg order on `apt install` for resolving

  [ Hideki Yamane ]
  * Fix typo in Japanese program translation

  [ lancethepants ]
  * porting (musl):
    - apt-pkg/contrib/fileutl.h  Explicitly include sys/stat.h

  [ Khem Raj ]
  * porting (clang15):
    - typecast time_t and suseconds_t from std::chrono
    - interactive-helper: Undefine _FORTIFY_SOURCE

  [ Julian Andres Klode ]
  * edsp: Add support for phased updates (test in LP#1990586)
  * Check state of dependency, not depender in dependency keep back
    (LP: #1990684)
  * full-upgrade: Mark phased upgrades for keep before anything else
    (LP: #1990586)

 -- Julian Andres Klode <jak@debian.org>  Wed, 28 Sep 2022 17:16:41 +0200

apt (2.5.2) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Mark broken reverse depends for upgrade (LP: #1974196)
  * Upgrade all binaries in a source package

  [ Michael Vogt ]
  * apt-pkg: (re)export pkgTagSection::Key to fix FTBFS in python-apt
    (Closes: #1011678)

 -- Julian Andres Klode <jak@debian.org>  Sun, 24 Jul 2022 17:57:24 +0200

apt (2.5.1) unstable; urgency=medium

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #1011315)

  [ Ronan Desplanques ]
  * Fix integer underflow in flExtension

  [ Roberto C. Sánchez ]
  * Some minor tweaks of spelling/grammar for better readability.

  [ Tianon Gravi ]
  * Switch from "security.d.o" to "deb.d.o" (matching bullseye release notes)

  [ Julian Andres Klode ]
  * (Temporarily) Rewrite phased updates using a keep-back approach
    (LP: #1979244)
  * policy: Do not override negative pins with 1 due to phasing (LP: #1978125)

 -- Julian Andres Klode <jak@debian.org>  Thu, 30 Jun 2022 13:27:30 +0200

apt (2.5.0) unstable; urgency=medium

  [ Helmut Grohne ]
  * Avoid use of deprecated std::iterator (twice) (Closes: #1008036)

  [ David Kalnischkies ]
  * Document tagfile-keys.h as internal to apt
  * Drop support for long obsoleted Suggests alias: Optional
  * Do not order long obsoleted fields anymore
  * Stop parsing undocumented unknown EDSP field APT-Hash
  * Avoid .c_str() on strings feed into pkgTagSection::FindS
  * Use pkgTagSection::Key in more places in src:apt
  * Parse Checksum fields via pkgTagSection::Key, too
  * Avoid building all docs in nodoc build profile
  * Add pkg.apt.nodoxygen build profile
  * Use build-dep & satisfy for our CI dependency resolution
  * Mark pkg-config-test autopkgtest as superficial
  * Avoid building inside the source dir in autopkgtest
  * Link interactive helpers against system libapt for autopkgtest
  * Remove unused public zlib include from libapt fileutl.h
  * Run ./prepare-release post-build checks in Gitlab CI
  * Do not build documentation twice in CI
  * Ignore stty failures in testcases
  * Include our config.h in all C++ files to avoid ODR violations
  * Ship our README.md in apt package

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1010029)
  * Dutch manpages translation update (Closes: #1010030)

  [ Troy Varney ]
  * Fix mirror method dequeuing incorrect items

  [ Julian Andres Klode ]
  * Do not accept arguments for apt-cache dotty, xvcg.
    These commands do not actually interpret the same
    arguments as depends, or any own ones for that matter.
  * tests: Add g++ dependency to pkg-config test

  [ Vagrant Cascadian ]
  * Pass -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON via dh_auto_configure override
    (Closes: #1009796)
  * Add support for "nodoc" build profile (Closes: #1009797)

 -- Julian Andres Klode <jak@debian.org>  Tue, 17 May 2022 18:50:45 +0200

apt (2.4.5) unstable; urgency=medium

  * Only protect two kernels, not last installed one (LP: #1968154)
  * Fix segfault in CacheSetHelperAPTGet::tryVirtualPackage()

 -- Julian Andres Klode <jak@debian.org>  Fri, 08 Apr 2022 12:22:23 +0200

apt (2.4.4) unstable; urgency=medium

  [ David Kalnischkies ]
  * Recognize Static-Built-Using and order it below Built-Using
    (Closes: #1008759)

 -- Julian Andres Klode <jak@debian.org>  Fri, 01 Apr 2022 18:47:31 +0200

apt (2.4.3) unstable; urgency=medium

  [ Guillem Jover ]
  * Update .mailmap

  [ David Kalnischkies ]
  * Fix build failure with gcc-12 due to missing include (Closes: #1008036)
  * Avoid using unqualified make_pair potentially triggering ftbfs

 -- Julian Andres Klode <jak@debian.org>  Mon, 21 Mar 2022 09:20:41 +0100

apt (2.4.2) unstable; urgency=medium

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #1005781)

  [ David Kalnischkies ]
  * Revert "bugscript: switch from bash to POSIX shell" (Closes: #1007121)

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #1007128)

 -- Julian Andres Klode <jak@debian.org>  Thu, 17 Mar 2022 09:17:27 +0100

apt (2.4.1) unstable; urgency=medium

  [ Paul Wise ]
  * Document the APT::Periodic interval suffixes and "always" value

  [ Julian Andres Klode ]
  * gpgv: Fix legacy fallback on unavailable keys
  * gpgv: Use Valid instead of Good to determine fallback

 -- Julian Andres Klode <jak@debian.org>  Mon, 07 Mar 2022 14:06:10 +0100

apt (2.4.0) unstable; urgency=medium

  [ Jörn-Thorben Hinz ]
  * Provide the same bash-completions for autopurge as for autoremove
  * Provide bash-completions for reinstall (same as for install)
    (Closes: #930295)
  * Don’t bash-complete package names before the command word

  [ Boyuan Yang ]
  * Simplified Chinese program translation update (Closes: #1004931)

  [ David Kalnischkies ]
  * Allow --solver apt to work on apt satisfy

  [ Julian Andres Klode ]
  * Install an empty /etc/apt/keyrings directory.
    This directory is intended to provide an alternative to
    /usr/share/keyrings for placing keys used with signed-by.
  * Warn if the legacy trusted.gpg keyring is used for verification

  [ Paul Wise ]
  * bugscript: switch to POSIX shell, quoting, other improvements

  [ Croydon ]
  * Readme: Default branch is now main

  [ Johannes Schauer Marin Rodrigues ]
  * doc/apt-key.8.xml: document alternatives to apt-key add (Closes: #1002820)

 -- Julian Andres Klode <jak@debian.org>  Tue, 22 Feb 2022 20:00:46 +0100

apt (2.3.15) unstable; urgency=medium

  [ Arnaud Rebillout ]
  * Fix incorrect type when parsing Size (int to unsigned long long)
    (Closes: #1004064)

  [ Julian Andres Klode ]
  * Add a --full mode to apt show

  [ Ville Skyttä ]
  * Fix "was already not hold" message grammar

  [ Jörn-Thorben Hinz ]
  * Also bash-complete .deb filenames after `apt install` for paths starting with ~
  * Bash-complete either package name or .deb filename for `apt install`
  * Start bash-completing .deb file paths after the first . passed in an argument to `apt install`
  * Provide bash-completion of .dsc filenames for `apt build-dep`
    (Closes: #985899)
  * Don’t fail bash-completion for `apt` when the nounset option is set
  * bash-completion: Don’t misidentify short options as commands to `apt`

 -- Julian Andres Klode <jak@debian.org>  Tue, 01 Feb 2022 18:04:58 +0100

apt (2.3.14) unstable; urgency=medium

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #1000537)

  [ Walter Lozano ]
  * Use short options for cmp

  [ Ville Skyttä ]
  * Spelling fixes

  [ Zhang Boyang ]
  * Fix incorrect SIGWINCH handling (Closes: #852757)

  [ Johannes Schauer Marin Rodrigues ]
  * add pattern to select packages by codename (closes: #1002646)
  * test/integration/test-policy-pinning: test listing multiple package in Package: field
  * doc/apt_preferences.5.xml: document Package field syntax

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #1002476)

  [ Julian Andres Klode ]
  * Introduce and use isalpha_ascii() in debversion rather than isalpha()

 -- Julian Andres Klode <jak@debian.org>  Thu, 06 Jan 2022 20:57:39 +0100

apt (2.3.13) unstable; urgency=medium

  [ Alexander Kanavin ]
  * apt-pkg/contrib/srvrec.h: Explicitly include sys/types.h

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #1000424)

  [ David Kalnischkies ]
  * Support more than exact release matches in 'source' (Closes: #998444)

  [ Cameron Katri ]
  * basehttp: Rename HaveContent's Tristate

 -- Julian Andres Klode <jak@debian.org>  Wed, 24 Nov 2021 16:24:21 +0100

apt (2.3.12) unstable; urgency=medium

  [ Ville Skyttä ]
  * Use `command -v` instead of `which`
  * bash completion: use `grep -E` instead of `egrep`

  [ Victor Westerhuis ]
  * Don't print every inline PGP key in Signed-By

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #998830)

  [ Julian Andres Klode ]
  * Require argument to remove essential packages, do not prompt
  * Do not remove Essential/Protected due to dependencies.
    Thanks to Ariadne Conill for the inspiration

 -- Julian Andres Klode <jak@debian.org>  Wed, 17 Nov 2021 18:26:57 +0100

apt (2.3.11) unstable; urgency=medium

  [ David Kalnischkies ]
  * Allow version selection to match versioned self-provides
  * Allow =version and /release selector on virtual packages

  [ Johannes Schauer Marin Rodrigues ]
  * apt-pkg/deb/dpkgpm.cc: make DPkg::Chroot-Directory work under fakechroot

  [ Julian Andres Klode ]
  * Respect NO_COLOR environment variable
  * Invalidate cached architecture list when building cache.
    Fixes a regression in python-apt where switching the architectures
    in the config between cache invocations regressed.

 -- Julian Andres Klode <jak@debian.org>  Thu, 21 Oct 2021 12:20:24 +0200

apt (2.3.10) unstable; urgency=medium

  [ Julian Andres Klode ]
  * basehttp: Turn HaveContent into a TriState
  * Set haveContent to FALSE on `Content-Length: 0` (Closes: #990281)
  * Add support for embedding PGP keys into Signed-By in deb822 sources

  [ David Kalnischkies ]
  * All pkgCaches are MultiArch caches
  * Do not strip M-A for native build-dep resolution
  * Do not make provides of M-A:allowed implicit M-A:foreign
  * Barbarian M-A:allowed don't satisfy :any deps of other archs
  * Streamline access to barbarian architecture functionality
  * Read and work with canonical file-URIs from sources.lists
  * Use https config on https proxies for http servers (Closes: #990555)
  * Add AllowRange option to disable HTTP Range usage
  * Disable HTTP Range usage if varnish < 6.4 is involved
  * Use exact If-Range match in our test webserver

  [ Johannes Schauer Marin Rodrigues ]
  * add pattern to select packages by priority (closes: #989558)

 -- Julian Andres Klode <jak@debian.org>  Mon, 18 Oct 2021 16:35:21 +0200

apt (2.3.9) unstable; urgency=medium

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #992352)

  [ David Kalnischkies ]
  * Fix infinite recursions in MarkPackage and improve recursions in general
    - Inhibit autoremove calculation in apt-mark and apt show
    - Don't venture too deeply in AutoRemovers MarkPackage
    - Stop autoremover from endlessly exploring cyclic providers (Closes: #992993)
    - Increase recursion limits from 100 to 3000

  [ Julian Andres Klode ]
  * Improve error handling of cycling delayed queues

 -- Julian Andres Klode <jak@debian.org>  Tue, 07 Sep 2021 17:25:44 +0200

apt (2.3.8) unstable; urgency=medium

  * Upload to unstable
  * Bump to C++17

 -- Julian Andres Klode <jak@debian.org>  Sat, 14 Aug 2021 23:51:55 +0200

apt (2.3.7) experimental; urgency=medium

  [ David Kalnischkies ]
  * Use full item description in broken repo error
  * Store size from volatile sources for already installed versions
  * Restore dpkg::chroot-directory functionality

  [ Dillon Brock ]
  * apt.conf(5): indicate # is also used for comments (LP: #1309658)

  [ Julian Andres Klode ]
  * Check sources.list could be parsed before adding volatile files
    (Closes: #990518)
  * pkgAcqIndex::CommonFailed: Set StatIdle before calling Init()
  * Implement exponential backoff between retries
    - acquire: Automatically reduce select() timeout as needed
    - Properly convert PulseInterval to timeval
    - Add support for a maximum delay and testing of delay
    - tests (retry-downloads): Avoid delay in second test

 -- Julian Andres Klode <jak@debian.org>  Thu, 29 Jul 2021 16:59:39 +0200

apt (2.3.6) experimental; urgency=medium

  [ David Kalnischkies ]
  * URI encode Filename field of Packages files (again)
  * Do not use filename of local sources in 'apt download'
  * No URL decode and quoting support for Files in Sources

 -- Julian Andres Klode <jak@debian.org>  Wed, 09 Jun 2021 13:41:20 +0200

apt (2.3.5) experimental; urgency=medium

  * policy: Apply phasing to uninstalled packages too (LP: #1925745)

 -- Julian Andres Klode <jak@debian.org>  Mon, 17 May 2021 11:43:23 +0200

apt (2.3.4) experimental; urgency=medium

  [ Khem Raj ]
  * srvrec: Keep support for older resolver

  [ Julian Andres Klode ]
  * Turn TLS handshake issues into transient errors (LP: #1928100)

 -- Julian Andres Klode <jak@debian.org>  Wed, 12 May 2021 18:04:33 +0200

apt (2.3.3) experimental; urgency=medium

  [ David Kalnischkies ]
  * Allow superfluous commas in build-dependency lines
  * Mark only provides from protected versioned kernel packages
  * Count uninstallable packages in "not upgraded" (Closes: #981535)
  * Reexplore providers of marked packages if some didn't satisfy before
  * Call MarkAndSweep only manually in apt-get for autoremove
  * Store versioned kernel package detectors in d-pointer

  [ Brian Murray ]
  * Fix a typo in json-hooks-protocol.md

  [ Julian Andres Klode ]
  * Temporarily Revert "2.3-only: Warn that the 0.1 protocol is deprecated"

 -- Julian Andres Klode <jak@debian.org>  Thu, 29 Apr 2021 10:43:19 +0200

apt (2.3.2) experimental; urgency=medium

  * Remove inversed comment for AllowUnsizedPackages
  * Automatically retry failed downloads 3 times.
    Enable the Acquire::Retries option by default, set to 3.
    This will help with slightly unreliable networking; future
    work is needed for adding backoff and SRV/IP rotation. (LP: #1876035)
  * Require dpkg >= 1.20.8 and make more use of --auto-deconfigure now that
    no longer needs forcing for essential/protected:
    - Support deconfiguring Essential packages
    - Do not pass --force-remove-protected with --auto-deconfigure
  * JSON hook bug fixes:
    - json: Escape strings using \u escape sequences, add test
    - json: Actually pop states
    - json: Encode NULL strings as null
    - json: Flush standard file descriptors before calling hooks
    - test/json: Make the test hook more reliable
  * JSON hooks 0.2:
    - json: Add origins fields to version
    - upgrade: Add JSON hook support (AptCli::Hooks::Upgrade)
    - json: Add `package-list` and `statistics` install hooks
    - json: Hook protocol 0.2 (added upgrade,downgrade,reinstall modes)
    - 2.3-only: Warn that the 0.1 protocol is deprecated
  * Avoid infinite loop on EOF on media change prompt

 -- Julian Andres Klode <jak@debian.org>  Fri, 23 Apr 2021 18:23:15 +0200

apt (2.3.1) experimental; urgency=medium

  [ David Kalnischkies ]
  * Replace macro and manual management with lambda and RAII:
    - Replace multi-statement macro with lambda
    - Use RAII to clean up tmp dir for dpkg recursive install
    - Handle multi-arch pkgnames for dpkg call via RAII
    - Merge the three RAII vectors managing args lifetime
  * Harden test for no new acquires after transaction abort (Closes: #984966)

  [ Julian Andres Klode ]
  * Check for and discard expected warning from MaybeAddAuth
  * Fix downloads of unsized files that are largest in pipeline (LP: #1921626)
  * Error on packages without a Size field (option Acquire::AllowUnsizedPackages)
  * debian/gbp.conf: HEAD branch is main now

  [ Cameron Katri ]
  * add vendor information for Procursus

 -- Julian Andres Klode <jak@debian.org>  Tue, 13 Apr 2021 17:23:49 +0200

apt (2.3.0) experimental; urgency=medium

  [ David Kalnischkies ]
  * Deal with rred shortcomings around empty patch files (LP: #1918112)
    - Allow merging with empty pdiff patches
    - Rename pdiff merge patches only after they are all downloaded
    - Start pdiff patching from the last possible starting point
    - Ensure all index files sent custom tags to the methods

 -- Julian Andres Klode <jak@debian.org>  Mon, 08 Mar 2021 11:50:31 +0100

apt (2.2.1) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Do not require force-loopbreak on Protected packages (Closes: #983014)
  * Branch of as 2.2.y for bullseye
  * configuration: Add missing #include <array>
  * Remove .travis.yml, we are using GitLab CI these days
  * RunScripts: Do not reset SIGQUIT and SIGINT to SIG_DFL (LP: #1898026)
  * regression fix: do require force-loopbreak for Conflicts

  [ Алексей Шилин ]
  * Russian translation update (Closes: #983348)

 -- Julian Andres Klode <jak@debian.org>  Mon, 01 Mar 2021 22:27:55 +0100

apt (2.2.0) unstable; urgency=medium

  * The "Happy soft freeze" release
  * Do not make DefaultRootSetFunc2 public symbol
  * kernels: Avoid std::regex for escaping '.' and '+'
  * symbols: Remove spurious package line, add kernel autoremoval helper

 -- Julian Andres Klode <jak@debian.org>  Thu, 18 Feb 2021 20:35:09 +0100

apt (2.1.20) unstable; urgency=medium

  * CI: Run test as user on i386
  * Fix test suite regression from StrToNum fixes. The tests started failing
    on 32-bit because the values were actually out of range, but we did not
    test errno before the last version, so it was not treated as an error.

 -- Julian Andres Klode <jak@debian.org>  Wed, 10 Feb 2021 00:03:05 +0100

apt (2.1.19) unstable; urgency=medium

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #979848)

  [ Youfu Zhang ]
  * dpkg: fix passing readonly /dev/null fd as stdout/stderr

  [ Diederik de Haas ]
  * Fix apt-acquire-additional-files entity's location.

  [ Wolfgang Schweer ]
  * vendor: Adjust Debian -security codename

  [ Julian Andres Klode ]
  * Include all translations when building the cache (LP: #1907850)

  [ David Kalnischkies ]
  * Various patches uplifted from unfinished fuzzer branches
    - Use 500 MB memory limit for xz/lzma decoding
    - Guess compressor only if no AR nember with exact name exists
    - Free XXH3 state to avoid leak in cache hashing
    - Fail ConfigDir reading if directory listing failed
    - Retire and deprecate _strtabexpand
    - Fix incorrect base64 encoding due to int promotion
    - Don't parse \x and \0 past the end in DeEscapeString
    - Remove Word size limit from ParseQuote and CWord
    - Forbid negative values in unsigned StrToNum explicitly
    - Avoid overstepping bounds in config file parsing
    - Show 'Done' always for 'Building dependency tree'
    - Avoid undefined pointer arithmetic while growing mmap
    - Use error reporting instead of assert in rred patching
    - Replace PrintStatus with SendMessage usage
    - Ensure HTTP status code text has sensible content
    - Limit on first patch size only for server-merged patches
    - Use size of the old cache as APT::Cache-Start default
    - Remove spurious periods on progress strings in po/de.po

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #981885)
  * Dutch manpages translation update (Closes: #981883)

 -- Julian Andres Klode <jak@debian.org>  Tue, 09 Feb 2021 10:41:53 +0100

apt (2.1.18) unstable; urgency=high

  * pkgcachegen: Avoid write to old cache for Version::Extra (Closes: #980037)
  * Adjust apt-mark test for dpkg 1.20.7

 -- Julian Andres Klode <jak@debian.org>  Wed, 13 Jan 2021 17:37:30 +0100

apt (2.1.17) unstable; urgency=medium

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #979725)

  [ Julian Andres Klode ]
  * kernels: Fix std::out_of_range if no kernels to protect
  * Call ischroot with -t

 -- Julian Andres Klode <jak@debian.org>  Mon, 11 Jan 2021 12:10:32 +0100

apt (2.1.16) unstable; urgency=medium

  [ Faidon Liambotis ]
  * Various fixes to http and connect method
    - basehttp: also consider Access when a Server's URI
    - connect: convert a C-style string to std::string
    - connect: use ServiceNameOrPort, not Port, as the cache key

  [ Julian Andres Klode ]
  * patterns: Add dependency patterns ?depends, ?conflicts, etc.
    Note that the -broken- variants are not implemented yet.
  * Rewrite of the kernel autoremoval code:
    - Determine autoremovable kernels at run-time (LP: #1615381), this fixes the
      issue where apt could consider a running kernel autoremovable
    - Automatically remove unused kernels on apt {full,dist}-upgrade.
      This helps ensuring that we don't run out of /boot space.
    - Only keep up to 3 (not 4) kernels.
      Ubuntu boot partitions were sized for 3 kernels, not 4.
  * Bump codenames to bullseye/hirsute and adjust -security codename for
    bullseye (Closes: #969932)
  * Ignore failures from immediate configuration. This does not change the
    actual installation ordering - we never passed the return code to the
    caller and installation went underway anyway if it could be ordered at a
    later stage, this just removes spurious after-the-fact errors.
    (Closes: #973305, #188161, #211075, #649588) (LP: #1871268)
  * Add support for Phased-Update-Percentage, previously used only by
    update-manager.
  * Implement update --error-on=any so that scripts can reliably check for
    transient failures as well. (Closes: #594813)

  [ Demi M. Obenour ]
  * test/integration/framework: Be compatible with Bash

  [ Vangelis Skarmoutsos ]
  * Greek program translation update

 -- Julian Andres Klode <jak@debian.org>  Fri, 08 Jan 2021 21:49:15 +0100

apt (2.1.15) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Unroll pkgCache::sHash 8 time, break up dependency
  * Do not require libxxhash-dev for including pkgcachegen.h (Closes: #978171)

  [ David Kalnischkies ]
  * Proper URI encoding for config requests to our test webserver
  * Keep URIs encoded in the acquire system
  * Implement encoded URI handling in all methods
  * Don't re-encode encoded URIs in pkgAcqFile

  [ Helge Kreutzmann ]
  * German program translation update (Closes: #977938)

 -- Julian Andres Klode <jak@debian.org>  Sun, 27 Dec 2020 09:53:07 +0100

apt (2.1.14) unstable; urgency=medium

  * test: fixup for hash table size increase (changed output order)
  * Use XXH3 for cache, hash table hashing

 -- Julian Andres Klode <jak@debian.org>  Tue, 15 Dec 2020 14:07:36 +0100

apt (2.1.13) unstable; urgency=medium

  [ Debian Janitor ]
  * Apply multi-arch hints.
    + apt-doc, libapt-pkg-doc: Add Multi-Arch: foreign.

  [ Jordi Mallach ]
  * Fix typo in Catalan translation.

  [ David Kalnischkies ]
  * Prepare rred binary for external usage
  * Support reading compressed patches in rred direct call modes
  * Support compressed output from rred similar to apt-helper cat-file

  [ Julian Andres Klode ]
  * gitignore: Add /build and /obj-* build dirs
  * gitignore: Add .*.swp files
  * HexDigest: Silence -Wstringop-overflow
  * patterns: Terminate short pattern by ~ and !
  * SECURITY UPDATE: Integer overflow in parsing (LP: #1899193)
    - apt-pkg/contrib/arfile.cc: add extra checks.
    - apt-pkg/contrib/tarfile.cc: limit tar item sizes to 128 GiB
    - apt-pkg/deb/debfile.cc: limit control file sizes to 64 MiB
    - test/*: add tests.
    - CVE-2020-27350
  * Additional hardening:
    - apt-pkg/contrib/tarfile.cc: Limit size of long names and links to 1 MiB
  * Raise APT::Cache-HashtableSize to 196613

 -- Julian Andres Klode <jak@debian.org>  Thu, 10 Dec 2020 15:40:27 +0100

apt (2.1.12) unstable; urgency=medium

  [ Julian Andres Klode ]
  * pkgnames: Correctly set the default for AllNames to false (LP: #1876495)
  * pkgnames: Do not exclude virtual packages with --all-names
  * Remove expired domain that became nsfw from debian/changelog
  * Do not immediately configure m-a: same packages in lockstep (LP: #1871268)

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #968414)

  [ David Kalnischkies ]
  * Rename CMake find_package helpers to avoid developer warnings
  * Install translated apt-patterns(7) man pages
  * Remove ancient versions support from apts postinst
  * Update libapt-pkg6.0 symbols file
  * Refresh lintian-overrides of apt and libapt-pkg-doc

 -- Julian Andres Klode <jak@debian.org>  Mon, 23 Nov 2020 17:52:37 +0100

apt (2.1.11) unstable; urgency=medium

  [ JCGoran ]
  * Fix "extended_states" typo in apt-mark(8) (Closes: #969086)

  [ Julian Andres Klode ]
  * doc: Bump Ubuntu release from focal to groovy
  * Do not produce late error if immediate configuration fails, just warn
    (Closes: #953260, #972552) (LP: #1871268)

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #970037)

 -- Julian Andres Klode <juliank@ubuntu.com>  Wed, 21 Oct 2020 11:53:18 +0200

apt (2.1.10) unstable; urgency=medium

  * Default Acquire::AllowReleaseInfoChange::Suite to "true" (Closes: #931566)
  * acquire: Do not hide _error messages in Fail()
  * Further improvements to HTTP method (Closes: #968220, verified against
    that server and the Canonical infra where it blocked buildds)
    - Do not use non-blocking local I/O - they don't do anything anyway,
      and we can't really use non-blocking I/O here because we need to be able
      to flush it.
    - Restore successful exits from Die() and rewrite Die() in a more
      comprehensible way, after careful code path analysis
    - http: Fully flush local file both before/after server read, avoiding
      both partial flush before sending requests to the server, as well as
      preventing leftover data before receiving from the server, which cause
      data left in the buffer.

 -- Julian Andres Klode <jak@debian.org>  Tue, 11 Aug 2020 14:28:07 +0200

apt (2.1.9) unstable; urgency=medium

  [ Julian Andres Klode ]
  * http: Fix infinite loop on read errors
  * basehttp: Correctly handle non-transient failure from RunData()
  * Do not retry on failure to fetch (Closes: #968163)

  [ Aleix Vidal i Gaya ]
  * updated catalan translations

 -- Julian Andres Klode <jak@debian.org>  Mon, 10 Aug 2020 14:16:23 +0200

apt (2.1.8) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Fully deprecate apt-key, schedule removal for Q2/2022
  * apt-key: Allow depending on gpg instead of gnupg
  * Removal of racist terminology, except for two cases that still need consensus
  * Various fixes to http code:
    - http: Always Close() the connection in Die()
    - http: Die(): Merge flushing code from Flush()
    - http: Only return false for EOF if we actually did not read anything
    - http: Die(): Do not flush the buffer, error out instead
    - http: Finish copying data from server to file before sending stuff to server
    - http: On select timeout, error out directly, do not call Die()
    - http: Redesign reading of pending data
    - http: Always write to the file if there's something to write; this fixes
      a regression from removing the buffer flushing code
    Overall, there's hope this Closes: #959518. It reproduced a bit, but eventually
    snapshot.d.o ratelimiting kicked in and broke the test case.

  [ Nicolas Schier ]
  * Support marking all newly installed packages as automatically installed

 -- Julian Andres Klode <jak@debian.org>  Tue, 04 Aug 2020 12:41:28 +0200

apt (2.1.7) unstable; urgency=medium

  [ David Kalnischkies ]
  * Do not hardcode (wrong) group and mode in setup warning (Closes: #962310)
  * Do not sent our filename-provides trick to EDSP solvers (Closes: #962741)
  * Tell EDSP solvers about all installed pkgs ignoring arch
  * Deduplicate EDSP Provides line of M-A:foreign packages
  * Delay removals due to Conflicts until Depends are resolved
  * Filter out impossible solutions for protected propagation
  * Add dependency points in the resolver also to providers
  * Reorder config check before checking systemd for non-interactive http
  * Reorder config check before result looping for SRV parsing debug
  * Fix test due to display change in ls (coreutils 8.32)
  * Detect pkg-config-dpkghook failure in tests to avoid fallback (Closes: #964475)

  [ Américo Monteiro ]
  * Portuguese manpages translation update (Closes: #962483)

  [ Julian Andres Klode ]
  * Replace some magic 64*1024 with APT_BUFFER_SIZE
  * Add basic support for the Protected field

  [ Sergio Oller Moreno ]
  * Minor Catalan grammar typo

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #963008)

 -- Julian Andres Klode <jak@debian.org>  Wed, 08 Jul 2020 09:38:35 +0200

apt (2.1.6) unstable; urgency=medium

  [ David Kalnischkies ]
  * Fix small memory leak in MethodConfig
  * Consider protected packages for removal if they are marked as such
  * Consider if a fix is successful before claiming it is
  * Allow 20 instead of 10 loops for pkgProblemResolver
  * Deal with duplicates in the solution space of a dep

 -- Julian Andres Klode <jak@debian.org>  Wed, 03 Jun 2020 18:25:22 +0200

apt (2.1.5) unstable; urgency=medium

  [ David Kalnischkies ]
  * Reset candidate version explicitly for internal state-keeping
    (Closes: #961266)
  * Known-bad candidate versions are not an upgrade option
  * Keep status number if candidate is discarded for kept back display
  * Allow pkgDepCache to be asked to check internal consistency
  * Don't update candidate provides map if the same as current
  * Ensure EDSP doesn't use a dangling architecture string
  * Allow FMV SSE4.2 detection to succeed on clang
  * Mark PatternTreeParser::Node destructor as virtual

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #961431)

 -- Julian Andres Klode <jak@debian.org>  Tue, 26 May 2020 12:19:40 +0200

apt (2.1.4) unstable; urgency=medium

  [ David Kalnischkies ]
  * Check satisfiability for versioned provides, not providing version

 -- Julian Andres Klode <jak@debian.org>  Tue, 19 May 2020 11:28:59 +0200

apt (2.1.3) unstable; urgency=medium

  [ David Kalnischkies ]
  * Prefer use of O_TMPFILE in GetTempFile if available
  * Allow prefix to be a complete filename for GetTempFile
  * Properly handle interrupted write() call in ExtractTar
  * Skip reading data from tar members if nobody will look at it
  * Keep going if a dep is bad for user requests to improve errors
  * Support negative dependencies in VCI::FromDependency
  * Deal with protected solution providers first
  * Propagate protected to already satisfied conflicts (Closes: #960705)
  * Propagate protected to already satisfied dependencies
  * Recognize propagated protected in pkgProblemResolver

  [ Julian Andres Klode ]
  * private-search: Only use V.TranslatedDescription() if good (LP: #1877987)

 -- Julian Andres Klode <jak@debian.org>  Mon, 18 May 2020 22:23:27 +0200

apt (2.1.2) unstable; urgency=critical

  [ Julian Andres Klode ]
  * SECURITY UPDATE: Out of bounds read in ar, tar implementations (LP: #1878177)
    - apt-pkg/contrib/arfile.cc: Fix out-of-bounds read in member name
    - apt-pkg/contrib/arfile.cc: Fix out-of-bounds read on unterminated
      member names in error path
    - apt-pkg/contrib/extracttar.cc: Fix out-of-bounds read on unterminated
      member names in error path
    - CVE-2020-3810

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #960186)

 -- Julian Andres Klode <jak@debian.org>  Wed, 13 May 2020 22:04:47 +0200

apt (2.1.1) unstable; urgency=medium

  [ David Kalnischkies ]
  * Allow aptitude to MarkInstall broken packages via FromUser
  * Drop nowrap from po4a --porefs as it is no longer supported
  * Use "po4a --porefs file" instead of undocumented compat noline

  [ Artur Grącki ]
  * Fix typo in Polish translation of --help messages

 -- Julian Andres Klode <jak@debian.org>  Fri, 08 May 2020 18:02:53 +0200

apt (2.1.0) unstable; urgency=medium

  [ Frans Spiesschaert ]
  * Dutch manpages translation update (Closes: #956313)

  [ David Kalnischkies ]
  * Refactor MarkInstall fixing various or-group handling issues
    - Discard impossible candidate versions also for non-installed
    - Explore or-groups for Recommends further than first
    - Refactor and reorder MarkInstall code
    - Discard candidate if its dependencies can't be satisfied
    - Split up MarkInstall into private helper methods
    - Fail earlier on impossible Conflicts in MarkInstall
    - Propagate Protected flag to single-option dependencies
    - Prefer upgrading installed orgroup members
    - Protect a package while resolving in MarkInstall

  [ Julian Andres Klode ]
  * Reinstate * wildcards (Closes: #953531) (LP: #1872200)
  * apt list: Fix behavior of regex vs fnmatch vs wildcards

 -- Julian Andres Klode <jak@debian.org>  Mon, 04 May 2020 15:58:24 +0200

apt (2.0.2) unstable; urgency=medium

  [ Boyuan Yang ]
  * Simplified Chinese program translation update (Closes: #955023)

  [ Frans Spiesschaert ]
  * Dutch program translation update (Closes: #955505)

  [ Marco Ippolito ]
  * Fix gramma in apt(8): "by append(+ing) a" (Closes: #955412)

  [ Chris Leick ]
  * German manpage translation update
  * Fix "string match{ing,es}" and whitespace typo in apt-patterns(7)

  [ Julian Andres Klode ]
  * test/integration/apt.pem: Regenerate with SHA2 hashes to make the
    test work with stricter gnutls in Ubuntu which rejects SHA1
  * ubuntu: http: Add non-interactive to user agent if run by systemd
    (LP: #1825000)

 -- Julian Andres Klode <jak@debian.org>  Thu, 09 Apr 2020 12:21:07 +0200

apt (2.0.1) unstable; urgency=medium

  [ David Kalnischkies ]
  * Don't crash pattern matching sections if pkg has no section
  * Parse last line in deb file correctly by adding a newline

  [ Julian Andres Klode ]
  * apt-helper: Add analyze-pattern helper
  * Add color highlighting to E:/W:/N: prefixes (Closes: #953527)

  [ Алексей Шилин ]
  * Russian program translation update (Closes: #953804)

 -- Julian Andres Klode <jak@debian.org>  Tue, 24 Mar 2020 11:53:30 +0100

apt (2.0.0) unstable; urgency=medium

  * Upload to unstable - Happy APT 2.0 day!
  * GetLock: No strerror if it's just another process holding the lock
  * Show absolute time while waiting for lock instead of %, rework message

 -- Julian Andres Klode <jak@debian.org>  Sat, 07 Mar 2020 21:19:53 +0100

apt (1.9.12) experimental; urgency=medium

  * pkgcache: Add operator bool() to map_pointer
  * (temporarily) unhide pkgDPkgPM again to have python-apt compile

 -- Julian Andres Klode <jak@debian.org>  Thu, 27 Feb 2020 15:06:56 +0100

apt (1.9.11) experimental; urgency=medium

  [ Tomáš Janoušek ]
  * bash completion: Add autopurge command

  [ Tris Emmy Wilson ]
  * apt-mark: don't lie about successful marks

  [ Julian Andres Klode ]
  * apt(8): Wait for lock (Closes: #754103)
  * policy: Implement pinning by source package (Closes: #166032)
  * Initialize libgcrypt on first use (Closes: #949074)
  * Fix various compiler warnings
  * Bump ABI to 6.0; update symbols file; cleanup ABI:
    - Merge various function overloads together
    - Make stuff that should be virtual virtual
    - Default to hidden visibility
  * Code removals:
    - Use a 32-bit djb VersionHash instead of CRC-16
    - Remove CRC-16 implementation
  * Hardening:
    - tagfile: Check if memchr() returned null before using
    - tagfile: Check out-of-bounds access to Tags vector
  * Cache improvements:
    - Type safe cache: Replace map_pointer_t with map_pointer<T>
    - Extensibility: Add d-pointers to groups, packages, versions, and files
    - Prepare for package hashtable removal: Swap locations of hashtables

  [ Nis Martensen ]
  * apt-pkg/srcrecords.cc: 'source' means 'deb-src' in error message

  [ David Kalnischkies ]
  * Parse records including empty tag names correctly

 -- Julian Andres Klode <jak@debian.org>  Wed, 26 Feb 2020 21:29:48 +0100

apt (1.9.10) experimental; urgency=medium

  [ David Kalnischkies ]
  * Fix remaining usec vs sec time-delta calculation typos.
    Thanks to Trent W. Buck for initial patch (Closes: #950776)

  [ Julian Andres Klode ]
  * seccomp: Allow time64 variants (>402,<415) of allowed syscalls
    (Closes: #951012)
  * debian/control: Bump libseccomp-dev Build-Depends to >= 2.4.2
  * seccomp: Allow recvmmsg_time64() and futex_time64()
  * policy: Add SetPriority() methods
  * Revert "Add a Packages-Require-Authorization Release file field"

  [ Michael Vogt ]
  * doc: remove "WIP" from apt.8.xml

 -- Julian Andres Klode <jak@debian.org>  Tue, 18 Feb 2020 12:32:42 +0100

apt (1.9.9) experimental; urgency=medium

  * Widen regular expressions for versioned kernel packages (LP: #1607845)
  * Implement short patterns (patterns starting with ~)

 -- Julian Andres Klode <jak@debian.org>  Tue, 04 Feb 2020 17:42:21 +0100

apt (1.9.8) experimental; urgency=medium

  * pkgcache.cc: Mix PACKAGE_VERSION into the cache hash
  * mmap: Do not look for empty pool unless we need to
  * apt-verbatim.ent: Update ubuntu-codename from disco to focal
  * NewGroup: Create GrpIterator after allocation (fix segfault)

 -- Julian Andres Klode <jak@debian.org>  Mon, 27 Jan 2020 13:25:52 +0100

apt (1.9.7) experimental; urgency=medium

  * Trim trailing whitespace (thanks lintian-brush)
  * NewProvidesAllArch: Check if group is empty before using it.
    This caused automake-1.16 to not be provided by automake anymore,
    because apt wanted to add provides to packages in an empty automake-1.16
    group. LP: #1859952
  * Fix debian-rules-uses-deprecated-systemd-override.
    We accidentally managed to restart apt-daily{,-upgrade}.service
    again because our dh_systemd_start override was being ignored
    since we switched to debhelper 12. Override dh_installsystemd
    instead.

 -- Julian Andres Klode <jak@debian.org>  Thu, 16 Jan 2020 12:13:50 +0100

apt (1.9.6) experimental; urgency=medium

  [ Julian Andres Klode ]
  * gitlab-ci: Do not do coverage
  * gitlab-ci: Use ccache
  * satisfy: Fix segmentation fault when called with empty argument
  * Add support for GTest 1.9, do not fail silently if its missing
  * gtests: Fix netrc parser test regression from https-only changes
  * Macro cleanup:
    - Avoid #define _error, use anonymous C++ struct instead (Closes: #948338)
    - Rename _count() macro to APT_ARRAY_SIZE()
    - Remove various unused macros like MAX/MIN/ABS/APT_CONST
    - Only define likely/unlikely if APT_COMPILING_APT set
  * Performance: Avoid extra out-of-cache hash table deduplication for
    package names, this saved about 10-16% on gencaches in memory
  * acquire: Move queue startup after calling log's Start(), fixes abort()
    calls in python-apt
  * hashes: Use Libgcrypt for hashing purposes
    - Raise buffer size for Hashes::AddFD() from 4 KiB to 64 KiB
    - Convert users of {MD5,SHA1,SHA256,SHA512}Summation to use Hashes
    - Deprecate the Summation classes and mark them for removal
    - Remove includes of (md5|sha1|sha2).h headers
  * netrc: Add warning when ignoring entries for unencrypted protocols
  * apt(8): Disable regular expressions and fnmatch

  [ David Kalnischkies ]
  * Drop g++ build-dependency to help crossbuilding (Closes: #948201)

  [ Denis Mosolov ]
  * Fix typo in README.md

 -- Julian Andres Klode <jak@debian.org>  Wed, 15 Jan 2020 23:06:49 +0100

apt (1.9.5) experimental; urgency=medium

  [ Julian Andres Klode ]
  * Parse 'show' arguments for the 'info' alias as well (LP: #1843812)
  * patterns: Add base class for regular expression matching
  * patterns: Add ?version
  * patterns: Add ?source-name and ?source-version
  * patterns: Add ?archive
  * patterns: Add ?origin
  * patterns: Add ?any-version
  * patterns: Implement ?narrow(...), as ?any-version(?and(...))
  * patterns: Add ?all-versions
  * patterns: Add ?section
  * netrc: Restrict auth.conf entries to https by default (Closes: #945911)

  [ Anatoly Borodin ]
  * README.md: fix dead anonscm link

  [ Алексей Шилин ]
  * Search in all available description translations (Closes: #490000)
  * strutl: Add APT::String::DisplayLength() function
  * Fix progress bar width for multibyte charsets

  [ Chris Leick ]
  * German manpage translation update

  [ David Kalnischkies ]
  * Use correct filename on IMS-hit reverify for indices
  * Remove failed trusted signature instead of index on IMS hit

  [ Anthony Papillon ]
  * Fix a mistake in man french translation

 -- Julian Andres Klode <jak@debian.org>  Mon, 02 Dec 2019 18:17:56 +0100

apt (1.9.4) experimental; urgency=medium

  * CMake: Pass -Werror=return-type to gcc
  * CMake: Produce a fatal error if triehash could not be found
  * apt.systemd.daily: Do not numerically check if intervals equal 0
    (LP: #1840995)
  * srvrec: Use re-entrant resolver functions
  * Pass --abort-after=1 to dpkg when using --force-depends (Closes: #935910)
    (LP: #1844634)
  * Fix use of GTest to adjust for GTest 1.9

 -- Julian Andres Klode <jak@debian.org>  Thu, 19 Sep 2019 11:13:47 +0200

apt (1.9.3) experimental; urgency=medium

  * Fix segfault in pkgAcquire::Enqueue() with Acquire::Queue-Mode=access
    (LP: #1839714)
  * test: Use valgrind to ensure Acquire::Queue-Mode=access does not crash
  * Add initial support for package patterns (patterns on versions WIP)

 -- Julian Andres Klode <jak@debian.org>  Mon, 19 Aug 2019 16:21:20 +0200

apt (1.9.2) experimental; urgency=medium

  [ Julian Andres Klode ]
  * Improve locking messaging - pid and name, "do not remove lock file"

  [ Lynn Cyrin ]
  * Change a pronoun in the readme from `he` to `they`

  [ David Kalnischkies ]
  * Distribute host-less work based on backlog of the queues
  * Show details about the package with bad Provides
  * Apply various suggestions by cppcheck

 -- Julian Andres Klode <jak@debian.org>  Mon, 05 Aug 2019 21:26:10 +0200

# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog libapt-pkg7.0`.
