python-apt (2.7.7ubuntu5.2) noble; urgency=medium

  * Mirror list update for 24.04.4 (LP: #2138617)

 -- Florent 'Skia' Jacquet <skia@ubuntu.com>  Mon, 19 Jan 2026 11:38:23 +0100

python-apt (2.7.7ubuntu5.1) noble-security; urgency=medium

  * SECURITY UPDATE: NULL pointer dereference (LP: #2091865)
    - python/tag.cc: check for NULL pointer before dereferencing
    - CVE-2025-6966

 -- Sudhakar Verma <sudhakar.verma@canonical.com>  Fri, 05 Dec 2025 22:45:54 +0530

python-apt (2.7.7ubuntu5) noble; urgency=medium

  * Mirror list update for 24.04.3 (LP: #2118784)

 -- Paride Legovini <paride@ubuntu.com>  Fri, 25 Jul 2025 17:23:38 +0200

python-apt (2.7.7ubuntu4) noble; urgency=medium

  * Mirror list update for 24.04.2 (LP: #2096775)

 -- Florent 'Skia' Jacquet <florent.jacquet@canonical.com>  Mon, 27 Jan 2025 12:40:02 +0100

python-apt (2.7.7ubuntu3) noble; urgency=medium

  * No-change rebuild without proposed (LP: #2077685)
  * Mirror list updates.

 -- Julian Andres Klode <juliank@ubuntu.com>  Fri, 23 Aug 2024 09:52:34 +0200

python-apt (2.7.7ubuntu2) noble; urgency=medium

  * Mirror list updates.

 -- Brian Murray <brian@ubuntu.com>  Wed, 07 Aug 2024 14:06:12 -0700

python-apt (2.7.7ubuntu1) noble; urgency=medium

  * Mirror list updates

 -- Brian Murray <brian@ubuntu.com>  Tue, 16 Apr 2024 11:27:09 -0700

python-apt (2.7.7build1) noble; urgency=medium

  * No-change rebuild for CVE-2024-3094

 -- Steve Langasek <steve.langasek@ubuntu.com>  Sun, 31 Mar 2024 00:14:04 +0000

python-apt (2.7.7) unstable; urgency=medium

  * Remove obsolete python3-distutils build-depends (Closes: #1065922)

 -- Julian Andres Klode <jak@debian.org>  Fri, 22 Mar 2024 23:25:32 +0100

python-apt (2.7.6) unstable; urgency=medium

  [ Ravi Kant Sharma ]
  * Expose the phased updates APIs in apt 2.7.11

 -- Julian Andres Klode <jak@debian.org>  Wed, 21 Feb 2024 19:01:25 +0100

python-apt (2.7.5) unstable; urgency=medium

  * Improve development workflow and CI with pre-commit hooks:
    - Remove obsolete .travis.yml
    - Setup pre-commit with various formatting and mypy hooks and run it
    - Add mypy.ini
    - pre-commit: mypy: Only filter out sourceslist and distro in aptsources
  * Build fixes:
    - setup.py: Strip whitespace in version
  * Fixes to deb822 support:
    - Make sure we don't construct SourceEntry for .sources file
    - Figure out file to add before deciding between deb822 and legacy
    - Ensure deb822 keys are case-insensitive
    - Pass parent for deb-src entries too
  * Fixes to the test suite:
    - tests: Ensure we parsed the correct main and child sources
    - tests: Adjust test suite to pass all arguments to get_distro()
      Fixing the test suite regressions that plagued (random) executions.
  * Fixes for aptsources.distinfo to improve error handling for mirror files:
    - data: Blankon: Use relative mirror file location
    - distinfo: Include file name if we can't read mirror file
  * Deprecations:
    - aptsources: get_distro: Warn if only some arguments are provided. This
      caused the test suite failures. It will soon become a ValueError.

 -- Julian Andres Klode <jak@debian.org>  Fri, 12 Jan 2024 17:59:34 +0100

python-apt (2.7.4) unstable; urgency=medium

  * aptsources: Fix path to Dir::Etc::SourcesList

 -- Julian Andres Klode <jak@debian.org>  Fri, 22 Dec 2023 12:14:54 +0100

python-apt (2.7.3) unstable; urgency=medium

  * Handle null pointer deference in error handler (Closes: #1058904)
  * Actually register apt_pkg.Warning object
  * apt_inst: Import apt_pkg.Warning and export it again (Closes: #1058657)
  * d/tests/control: Add allow-stderr Restriction

 -- Julian Andres Klode <jak@debian.org>  Thu, 21 Dec 2023 16:00:06 +0100

python-apt (2.7.2) unstable; urgency=medium

  * Convert from type comments to type annotations (Closes: #1058118)
  * Run pyupgrade
  * Run pyupgrade --py311-plus
  * Run autoflake
  * Run isort

 -- Julian Andres Klode <jak@debian.org>  Wed, 13 Dec 2023 16:37:57 +0100

python-apt (2.7.1) unstable; urgency=medium

  [ Aristo Chen ]
  * apt/package.py: fix typo from 'unkown' to 'unknown'

  [ Julian Andres Klode ]
  * Issue warnings as apt_pkg.Warning instead of discarding when there is no error
  * deb822: Allow copying a section by constructor
  * aptsources.distro: Order parent components predictable when adding
  * Added exploded views to deb822 sources to support aptsources.distro which
    will manage potentially only parts of a single paragraph:
    - Initial support for exploded views of deb822 entries
    - sourceslist: add parent argument to add() to copy fields
    - sourceslist: Allow merging official distro sources
    - ExplodedDeb822SourceEntry: Add file property
    - Draft: sourceslist: add: Check for matches in the exploded list
    - sourceslist: Add SourcesList.index() method to index items
    - sourceslist: Fix merging of entries
    - distro: add_source: Insert new source after last official source
    - distro: Handle .comps being a property, not updatable in-place
    - sourceslist: Skip sourceslist, sourcesparts being /dev/null
    - deb822: Improve parsing of section separators
    - deb822: Fix File.__str__() to not include 2 empty lines
    - tests: deb822: Check enable/disable component layout behavior
    - SourcesList.index: Return int in index(), not bool
    - tests: deb822: Check enabling proposed and disabling it

  [ Jeroen Dekkers ]
  * Do not return the empty string in installed_files

  [ Bruce Duncan ]
  * Remove abandoned debugging messages
  * Remove unused debugging

  [ Max-Julian Pogner ]
  * FIX: write snake_case in documentation, as this is the documented method name.

  [ Alexandre Detiste ]
  * remove Python2 crumbs

 -- Julian Andres Klode <juliank@ubuntu.com>  Wed, 13 Dec 2023 14:15:56 +0100

python-apt (2.7.0) unstable; urgency=medium

  [ Cory Todd ]
  * Add version fallback for non-dpkg builds

  [ Julian Andres Klode ]
  * sourceslist: add deb822-compatibility properties to legacy
  * tests: Fix Python 3.12 compatibility by not using utcfromtimestamp()
    (Closes: #1056456)
  * Use sphinx-build directly, sphinx.setup_command is no more
  * Update translation template
  * Update mirror lists

 -- Julian Andres Klode <jak@debian.org>  Wed, 22 Nov 2023 15:36:46 +0100

python-apt (2.6.0) unstable; urgency=medium

  * The Debian bookworm stable release
  * Update mirror lists
  * Fix FileLock docstring to say FileLock not SystemLock

 -- Julian Andres Klode <jak@debian.org>  Mon, 22 May 2023 16:14:05 +0200

python-apt (2.5.3) unstable; urgency=medium

  [ Nick Rosbrook ]
  * deb822: allow initializing a Deb822SourceEntry from string
  * all: fix PEP8 formatting
  * .gitlab-ci.yml: update typing stage to use venv

 -- Julian Andres Klode <jak@debian.org>  Thu, 23 Feb 2023 21:38:02 +0100

python-apt (2.5.2) unstable; urgency=medium

  [ Jelmer Vernooĳ ]
  * Allow sources.list.d to not exist

  [ Julian Andres Klode ]
  * Fix Debian templates to fix FTBFS/test failure.
    We copied the URI regex from the templated section, so they had
    {{0,1}}, but these sections had a fixed codename, so there's no
    expansion, so it needs to be {0,1} here.
  * Update mirror lists

 -- Julian Andres Klode <jak@debian.org>  Mon, 23 Jan 2023 10:51:16 +0100

python-apt (2.5.1) unstable; urgency=medium

  [ Julian Andres Klode ]
  * aptsources: distinfo: type annotations
  * Reformat code with black
  * aptsources: Initial deb822 reading, use SourcesList(..., deb822=True) to opt in.
    The .distro matcher code has not been fully ported yet, and you will
    experience issues trying to match distro entries to a deb822 source entry
    with multiple values in the Types, URIs, Suites field, but this should
    work for most use cases.
  * Mirror list updates

  [ Matthias Klumpp ]
  * Update Debian template information
  * trivial: Fix Debian changelog URI template

 -- Julian Andres Klode <jak@debian.org>  Mon, 16 Jan 2023 18:44:09 +0100

python-apt (2.5.0) unstable; urgency=medium

  [ Jelmer Vernooĳ ]
  * Fix attribute name in indexfile.py.
  * Expose MetaIndex.type.

  [ Michael Vogt ]
  * debian: remove `python3-*-dbg` packages (Closes: #994348)
  * apt: fix mypy in apt.progress.text.AcquireProgress

  [ Julian Andres Klode ]
  * AcquireFile: Handle large files (LP: #1998265)
  * apt/progress/base.py: Return False in default cdrom change
  * Code style fixes
  * Mirror list updates
  * d/t/control: Depend on binutils for ar
  * Untrack all GC tracked objects before freeing them (LP: #1997036)

  [ Steve Langasek ]
  * Drop references to archive.canonical.com (LP: #1959343)

 -- Julian Andres Klode <jak@debian.org>  Wed, 30 Nov 2022 17:35:59 +0100

python-apt (2.3.0) unstable; urgency=medium

  [ Edmund Blomley ]
  * Fix pages deploy job only statement.
  * Fix URL to python-apt Repository in Documentation.

  [ Julian Andres Klode ]
  * Python 3.10 fixes:
    - SourceRecordFiles: Set exception in __getitem__
      Fixes a regression with Python 3.10 in debug mode
    - test_all: Avoid using deprecated distutils package
    - test_tagfile: Avoid leaking file descriptor

 -- Julian Andres Klode <jak@debian.org>  Fri, 22 Oct 2021 12:21:54 +0200

python-apt (2.2.1) unstable; urgency=medium

  [ Debian Janitor ]
  * Apply multi-arch hints
    - python-apt-common: Add Multi-Arch: foreign (Closes: #968458)

  [ Julian Andres Klode ]
  * Updated mirror lists (and mirror list location for Debian)

 -- Julian Andres Klode <jak@debian.org>  Sun, 04 Jul 2021 13:57:51 +0200

python-apt (2.2.0) unstable; urgency=medium

  [ Helmut Grohne ]
  * Annotate test dependencies with <!nocheck> (Closes: #980719)

  [ Julian Andres Klode ]
  * debian/rules: Re-enable PIE hardening
  * Mirror list updates
  * debfile: Pass `Name` instead of `Binary` to ExtractTar.
    Passing the binary causes it to fail trying to find the `false`
    compressor when a binary for a given compressor is not installed.
    (LP: #1926437)
  * debian/gbp.conf: Branch name is main

 -- Julian Andres Klode <jak@debian.org>  Thu, 29 Apr 2021 09:49:08 +0200

python-apt (2.1.7) unstable; urgency=medium

  * SECURITY UPDATE: various memory and file descriptor leaks (LP: #1899193)
    - python/arfile.cc, python/generic.h, python/tag.cc, python/tarfile.cc:
      fix file descriptor and memory leaks
    - python/apt_instmodule.cc, python/apt_instmodule.h, python/arfile.h:
      Avoid reference cycle with control,data members in apt_inst.DebFile
      objects
    - tests/test_cve_2020_27351.py: Test cases for DebFile (others not easily
      testable)
  * Regression fixes for the updates merged too:
    - arfile.cc: Fix segmentation fault when opening fd, track lifetime correctly
      (Closes: #977000)
    - arfile: Regression: Collect file<->deb/ar reference cycles

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

python-apt (2.1.6) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Rename Cdrom and Disc to Installation medium (LP: #1849406)
  * hashes: Release GIL while hashing stuff

  [ Niels Thykier ]
  * Correct error message in hashes.cc

 -- Julian Andres Klode <jak@debian.org>  Wed, 25 Nov 2020 12:47:37 +0100

python-apt (2.1.5) unstable; urgency=medium

  * Do not require hardcoding release names in distro info, cleanup Debian and Ubuntu
    (LP: #1727470)
  * Debian: use -security instead of /updates for >= 11

 -- Julian Andres Klode <jak@debian.org>  Tue, 27 Oct 2020 21:27:56 +0100

python-apt (2.1.4) unstable; urgency=medium

  [ Debian Janitor ]
  * Trim trailing whitespace.
  * Wrap long lines in changelog entries: 1.9.9, 1.7.0~alpha1,
    1.1.0~alpha1, 0.9.4, 0.9.3.4.
  * Update standards version to 4.5.0, no changes needed.

  [ Dave Jones ]
  * Fix ftbfs with sphinx 3.x (Closes: #963655)

  [ Julian Andres Klode ]
  * Make pycodestyle happy
  * Pacify mypy 0.790 for NotImplemented returns
  * gitlab-ci: Pull debian:unstable, not ubuntu:focal

 -- Julian Andres Klode <jak@debian.org>  Thu, 15 Oct 2020 14:25:06 +0200

python-apt (2.1.3) unstable; urgency=medium

  * data/templates/Ubuntu.info.in: Add groovy (LP: #1874880)

 -- Julian Andres Klode <jak@debian.org>  Sat, 25 Apr 2020 13:05:50 +0200

python-apt (2.1.2) unstable; urgency=medium

  * Use pybuild to split out -dbg stuff, avoid .install/.files (Closes: #958118)
  * Remove Python 2 and old pyflakes hacks

 -- Julian Andres Klode <jak@debian.org>  Mon, 20 Apr 2020 18:16:28 +0200

python-apt (2.1.1) unstable; urgency=medium

  * Make python-apt-dev depend on python3-apt, not python-apt

 -- Julian Andres Klode <jak@debian.org>  Thu, 16 Apr 2020 09:54:42 +0200

python-apt (2.1.0) unstable; urgency=medium

  [ Gordon Ball ]
  * Use pyflakes3 instead of (python 2) pyflakes

  [ Julian Andres Klode ]
  * Stop building for Python 2 (Closes: #937579)
  * Remove Python 2 autopkgtests

 -- Julian Andres Klode <jak@debian.org>  Thu, 16 Apr 2020 09:46:49 +0200

python-apt (2.0.0) unstable; urgency=medium

  [ Valters Jansons ]
  * aptsources: Allow non-existent `source.list` file

  [ Julian Andres Klode ]
  * Workaround mypy 0.770
  * whatsnew: Move 1.9 development series to 2.0
  * Update mirror lists
  * Add redundant python{,3}-all build depends for lintian

  [ Simon Poirier ]
  * Decode locale-encoded descriptions.

 -- Julian Andres Klode <jak@debian.org>  Thu, 09 Apr 2020 09:16:18 +0200

python-apt (1.9.10) unstable; urgency=medium

  * Improve type annotations for apt_pkg.TagFile and apt_pkg.TagSection.
    Thanks to Stuart Prescott for the report that object was ... wrong
  * Break broken kthresher and apt-xapian-index versions

 -- Julian Andres Klode <jak@debian.org>  Sun, 08 Mar 2020 15:16:44 +0100

python-apt (1.9.9) unstable; urgency=medium

  [ Julian Andres Klode ]
  * Upload to unstable

  [ Dan Streetman ]
  * distinfo: correct subprocess usage
  * sourceslist: in __find() rstrip / from uri when comparing
  * test: add test to verify identical entries except trailing slash are
    considered equal

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

python-apt (1.9.8) experimental; urgency=medium

  * Fix build against apt 1.9.11 (Index -> MapPointer)

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

python-apt (1.9.7) experimental; urgency=medium

  * debian/tests/run-tests: Use py{3,}versions -s, not py{,3}versions -r;
    fixes regression in autopkgtest due to stderr output.

 -- Julian Andres Klode <jak@debian.org>  Sat, 22 Feb 2020 17:51:04 +0100

python-apt (1.9.6) experimental; urgency=medium

  [ dann frazier ]
  * Drop remaining references to pep8

  [ Dan Streetman ]
  * when comparing SourceEntries, rstrip '/' from uris

  [ Julian Andres Klode ]
  * gitlab-ci: pull from focal
  * Use debhelper-compat (= 12) instead of debian/compat 9
  * Use pybuild for building
  * gitlab-ci.yml: Publish html doc build by package, do not rebuild
  * Correctly install dbg variants of modules for python 3.8
  * gitlab-ci: Add daily built apt PPA
  * Switch from removed Summation classes to Hashes class
  * policy: Add set_priority(PackageFile, int)
  * policy: If no candidate version could be found, return None.
    This used to return an invalid Version object, pointing to 0,
    leading to crashes.

  [ Dan Ryan ]
  * Add conditional import guards in `setup.py`
  * Migrate build and install to `setuptools`
  * Remove -Wstrict-prototypes compiler flag

 -- Julian Andres Klode <jak@debian.org>  Fri, 21 Feb 2020 17:45:55 +0100

python-apt (1.9.5) experimental; urgency=medium

  [ Marc Deslauriers ]
  * SECURITY REGRESSION: crash with ubuntu-release-upgrader (LP: #1860606)
    - apt/cache.py: make allow_unauthenticated argument to
      fetch_archives() optional.

  [ Julian Andres Klode ]
  * Really bump aptdaemon break (to 1.1.1+bzr982-0ubuntu31)

 -- Julian Andres Klode <jak@debian.org>  Thu, 23 Jan 2020 10:55:46 +0100

python-apt (1.9.4) experimental; urgency=medium

  * SECURITY UPDATE: Check that repository is trusted before downloading
    files from it (LP: #1858973)
    - apt/cache.py: Add checks to fetch_archives() and commit()
    - apt/package.py: Add checks to fetch_binary() and fetch_source()
    - CVE-2019-15796
  * To work around the new checks, the parameter allow_unauthenticated=True
    can be passed to the functions. It defaults to the value of the
    APT::Get::AllowUnauthenticated option.
    - Bump Breaks aptdaemon (<< 1.1.1+bzr982-0ubuntu21.2), as it will have
      to set that parameter after having done validation.
  * Revert "apt.Cache: cache apt.package.Origin objects by id"
  * InstallProgress: Move set_inheritable into if pid == 0

 -- Julian Andres Klode <jak@debian.org>  Wed, 15 Jan 2020 16:46:29 +0100

python-apt (1.9.3) experimental; urgency=medium

  [ Dave Jones ]
  * aptsources: Fix comment handling in add (regression from 1.9.1)

 -- Julian Andres Klode <jak@debian.org>  Fri, 13 Dec 2019 18:42:26 +0100

python-apt (1.9.2) experimental; urgency=medium

  * SECURITY UPDATE: Check that we have trusted hashes when downloading
    in fetch_binary() / fetch_source() (1.9.1 regression) (Closes: #946597)

 -- Julian Andres Klode <jak@debian.org>  Thu, 12 Dec 2019 18:27:02 +0100

python-apt (1.9.1) experimental; urgency=medium

  [ Julian Andres Klode ]
  * Install type information according to PEP561
  * Temporarily perform CI on eoan only
  * Adjust to mypy 0.710
  * doc/examples: Convert to Python 3
  * Convert all shebangs to python3
  * gitlab-ci: Run 3 separate test stages
  * pep8: Fix overindent issues
  * ./doc/examples/dependant-pkgs.py: Make it work again
  * Fix segmentation fault for apt_pkg.Cache.policy
  * test_policy: Fix pyflakes issue
  * apt.Cache: cache apt.package.Origin objects by id
  * Adjust for PY_SSIZE_T_CLEAN (Closes: #944091)
  * Turn InstallProgress into a context manager to avoid leaking files
  * AcquireFile: Remove md5 parameter
  * AcquireFile: Accept HashStringList in hash parameter
  * apt/package.py: Use all hashes when fetching packages
  * Remove leftover MD5 use in Version.fetch_binary() (Closes: #944696)
  * Fix type hints
  * typehinting: Override TagSection.get()
  * debian/control: Rules-Requires-Root: no, Standards-Version upgrade
  * Update po template
  * Fix pre-build script to actually work in Python 3
  * Run the pre-build script
  * lintian fixes
    - fix typo in changelog error
    - remove use of extra priority
    - override uses-dpkg-database-directly for the root location switching magic
  * Remove spurious python-debian test dependency (see bug #937579)
  * Build-Depend on pycodestyle, not pep8

  [ Raphaël Hertzog ]
  * Add Kali templates

  [ Colomban Wendling ]
  * Fix InstallProgress for installing .deb files on Python >= 3.4
  * Add a test case for checking the communication with dpkg works

  [ Michael Vogt ]
  * apt, python: make `mypy --strict` clean

  [ Matthias Klose ]
  * data/templates/Ubuntu.info.in: Add focal

  [ Dave Jones ]
  * Don't duplicate disabled sources during add() (LP: #1311056)

 -- Julian Andres Klode <jak@debian.org>  Wed, 11 Dec 2019 16:17:24 +0100

# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog python-apt-doc`.
